static Int moans = 3;
/* Overload memcheck client reqs */
- if (!VG_IS_SKIN_USERREQ('M','C',arg[0])
+ if (!VG_IS_TOOL_USERREQ('M','C',arg[0])
&& VG_USERREQ__MALLOCLIKE_BLOCK != arg[0]
&& VG_USERREQ__FREELIKE_BLOCK != arg[0]
&& VG_USERREQ__CREATE_MEMPOOL != arg[0]
## VG_(needs).client_requests
## If using client requests, the number of the first request should be equal
-## to VG_USERREQ_SKIN_BASE('X', 'Y'), where 'X' and 'Y' form a suitable two
+## to VG_USERREQ_TOOL_BASE('X', 'Y'), where 'X' and 'Y' form a suitable two
## character identification for the string. The second and subsequent
## requests should follow.
-## This function should use the VG_IS_SKIN_USERREQ macro (in
+## This function should use the VG_IS_TOOL_USERREQ macro (in
## include/valgrind.h) to first check if it's a request for this tool. Then
## should handle it if it's recognised (and return True), or return False if
## not recognised. arg_block[0] holds the request number, any further args
typedef
enum {
- VG_USERREQ__HG_CLEAN_MEMORY = VG_USERREQ_SKIN_BASE('H','G'),
+ VG_USERREQ__HG_CLEAN_MEMORY = VG_USERREQ_TOOL_BASE('H','G'),
VG_USERREQ__HG_KNOWN_RACE
} Vg_HelgrindClientRequest;
Bool TL_(handle_client_request)(ThreadId tid, UWord *args, UWord *ret)
{
- if (!VG_IS_SKIN_USERREQ('H','G',args[0]))
+ if (!VG_IS_TOOL_USERREQ('H','G',args[0]))
return False;
switch(args[0]) {
extern VgSectKind VG_(seg_sect_kind)(Addr);
-
/*====================================================================*/
/*=== Generic hash table ===*/
/*====================================================================*/
start at 0x2000.
*/
-#define VG_USERREQ_SKIN_BASE(a,b) \
+// These macros are used by tools -- they must be public, but don't embed them
+// into other programs.
+#define VG_USERREQ_TOOL_BASE(a,b) \
((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))
-#define VG_IS_SKIN_USERREQ(a, b, v) \
- (VG_USERREQ_SKIN_BASE(a,b) == ((v) & 0xffff0000))
+#define VG_IS_TOOL_USERREQ(a, b, v) \
+ (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))
typedef
enum { VG_USERREQ__RUNNING_ON_VALGRIND = 0x1001,
Bool ok;
Addr bad_addr;
- if (!VG_IS_SKIN_USERREQ('M','C',arg[0])
+ if (!VG_IS_TOOL_USERREQ('M','C',arg[0])
&& VG_USERREQ__MALLOCLIKE_BLOCK != arg[0]
&& VG_USERREQ__FREELIKE_BLOCK != arg[0]
&& VG_USERREQ__CREATE_MEMPOOL != arg[0]
typedef
enum {
- VG_USERREQ__MAKE_NOACCESS = VG_USERREQ_SKIN_BASE('M','C'),
+ VG_USERREQ__MAKE_NOACCESS = VG_USERREQ_TOOL_BASE('M','C'),
VG_USERREQ__MAKE_WRITABLE,
VG_USERREQ__MAKE_READABLE,
VG_USERREQ__DISCARD,
VG_USERREQ__SET_VBITS,
/* This is just for memcheck's internal use - don't use it */
- _VG_USERREQ__MEMCHECK_GET_RECORD_OVERLAP = VG_USERREQ_SKIN_BASE('M','C')+256
+ _VG_USERREQ__MEMCHECK_GET_RECORD_OVERLAP = VG_USERREQ_TOOL_BASE('M','C')+256
} Vg_MemCheckClientRequest;