iPXE
valgrind.h File Reference
#include <stdarg.h>

Go to the source code of this file.

Macros

#define __VALGRIND_MAJOR__   3
#define __VALGRIND_MINOR__   6
#define NVALGRIND   1
#define VALGRIND_DO_CLIENT_REQUEST( _zzq_rlval, _zzq_default, _zzq_request, _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)
#define VG_CONCAT4(_aa, _bb, _cc, _dd)
#define I_WRAP_SONAME_FNNAME_ZU(soname, fnname)
#define I_WRAP_SONAME_FNNAME_ZZ(soname, fnname)
#define VALGRIND_GET_ORIG_FN(_lval)
#define CALL_FN_v_v(fnptr)
#define CALL_FN_v_W(fnptr, arg1)
#define CALL_FN_v_WW(fnptr, arg1, arg2)
#define CALL_FN_v_WWW(fnptr, arg1, arg2, arg3)
#define CALL_FN_v_WWWW(fnptr, arg1, arg2, arg3, arg4)
#define CALL_FN_v_5W(fnptr, arg1, arg2, arg3, arg4, arg5)
#define CALL_FN_v_6W(fnptr, arg1, arg2, arg3, arg4, arg5, arg6)
#define CALL_FN_v_7W(fnptr, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
#define VG_USERREQ_TOOL_BASE(a, b)
#define VG_IS_TOOL_USERREQ(a, b, v)
#define __extension__   /* */
#define RUNNING_ON_VALGRIND
#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr, _qzz_len)
#define VALGRIND_PRINTF(...)
#define VALGRIND_PRINTF_BACKTRACE(...)
#define VALGRIND_NON_SIMD_CALL0(_qyy_fn)
#define VALGRIND_NON_SIMD_CALL1(_qyy_fn, _qyy_arg1)
#define VALGRIND_NON_SIMD_CALL2(_qyy_fn, _qyy_arg1, _qyy_arg2)
#define VALGRIND_NON_SIMD_CALL3(_qyy_fn, _qyy_arg1, _qyy_arg2, _qyy_arg3)
#define VALGRIND_COUNT_ERRORS
#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed)
#define VALGRIND_FREELIKE_BLOCK(addr, rzB)
#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed)
#define VALGRIND_DESTROY_MEMPOOL(pool)
#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size)
#define VALGRIND_MEMPOOL_FREE(pool, addr)
#define VALGRIND_MEMPOOL_TRIM(pool, addr, size)
#define VALGRIND_MOVE_MEMPOOL(poolA, poolB)
#define VALGRIND_MEMPOOL_CHANGE(pool, addrA, addrB, size)
#define VALGRIND_MEMPOOL_EXISTS(pool)
#define VALGRIND_STACK_REGISTER(start, end)
#define VALGRIND_STACK_DEREGISTER(id)
#define VALGRIND_STACK_CHANGE(id, start, end)
#define VALGRIND_LOAD_PDB_DEBUGINFO(fd, ptr, total_size, delta)

Enumerations

enum  Vg_ClientRequest {
  VG_USERREQ__RUNNING_ON_VALGRIND = 0x1001 , VG_USERREQ__DISCARD_TRANSLATIONS = 0x1002 , VG_USERREQ__CLIENT_CALL0 = 0x1101 , VG_USERREQ__CLIENT_CALL1 = 0x1102 ,
  VG_USERREQ__CLIENT_CALL2 = 0x1103 , VG_USERREQ__CLIENT_CALL3 = 0x1104 , VG_USERREQ__COUNT_ERRORS = 0x1201 , VG_USERREQ__MALLOCLIKE_BLOCK = 0x1301 ,
  VG_USERREQ__FREELIKE_BLOCK = 0x1302 , VG_USERREQ__CREATE_MEMPOOL = 0x1303 , VG_USERREQ__DESTROY_MEMPOOL = 0x1304 , VG_USERREQ__MEMPOOL_ALLOC = 0x1305 ,
  VG_USERREQ__MEMPOOL_FREE = 0x1306 , VG_USERREQ__MEMPOOL_TRIM = 0x1307 , VG_USERREQ__MOVE_MEMPOOL = 0x1308 , VG_USERREQ__MEMPOOL_CHANGE = 0x1309 ,
  VG_USERREQ__MEMPOOL_EXISTS = 0x130a , VG_USERREQ__PRINTF = 0x1401 , VG_USERREQ__PRINTF_BACKTRACE = 0x1402 , VG_USERREQ__PRINTF_VALIST_BY_REF = 0x1403 ,
  VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 0x1404 , VG_USERREQ__STACK_REGISTER = 0x1501 , VG_USERREQ__STACK_DEREGISTER = 0x1502 , VG_USERREQ__STACK_CHANGE = 0x1503 ,
  VG_USERREQ__LOAD_PDB_DEBUGINFO = 0x1601
}

Functions

 FILE_LICENCE (BSD3)
 FILE_SECBOOT (PERMITTED)

Macro Definition Documentation

◆ __VALGRIND_MAJOR__

#define __VALGRIND_MAJOR__   3

Definition at line 94 of file valgrind.h.

◆ __VALGRIND_MINOR__

#define __VALGRIND_MINOR__   6

Definition at line 95 of file valgrind.h.

◆ NVALGRIND

#define NVALGRIND   1

Definition at line 146 of file valgrind.h.

◆ VALGRIND_DO_CLIENT_REQUEST

#define VALGRIND_DO_CLIENT_REQUEST ( _zzq_rlval,
_zzq_default,
_zzq_request,
_zzq_arg1,
_zzq_arg2,
_zzq_arg3,
_zzq_arg4,
_zzq_arg5 )
Value:
{ \
(_zzq_rlval) = (_zzq_default); \
}

Definition at line 161 of file valgrind.h.

◆ VG_CONCAT4

#define VG_CONCAT4 ( _aa,
_bb,
_cc,
_dd )
Value:
_aa##_bb##_cc##_dd

Definition at line 675 of file valgrind.h.

◆ I_WRAP_SONAME_FNNAME_ZU

#define I_WRAP_SONAME_FNNAME_ZU ( soname,
fnname )
Value:
VG_CONCAT4(_vgwZU_,soname,_,fnname)
#define VG_CONCAT4(_aa, _bb, _cc, _dd)
Definition valgrind.h:675

Definition at line 677 of file valgrind.h.

677#define I_WRAP_SONAME_FNNAME_ZU(soname,fnname) \
678 VG_CONCAT4(_vgwZU_,soname,_,fnname)

◆ I_WRAP_SONAME_FNNAME_ZZ

#define I_WRAP_SONAME_FNNAME_ZZ ( soname,
fnname )
Value:
VG_CONCAT4(_vgwZZ_,soname,_,fnname)

Definition at line 680 of file valgrind.h.

680#define I_WRAP_SONAME_FNNAME_ZZ(soname,fnname) \
681 VG_CONCAT4(_vgwZZ_,soname,_,fnname)

◆ VALGRIND_GET_ORIG_FN

#define VALGRIND_GET_ORIG_FN ( _lval)
Value:
VALGRIND_GET_NR_CONTEXT(_lval)

Definition at line 687 of file valgrind.h.

◆ CALL_FN_v_v

#define CALL_FN_v_v ( fnptr)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_v(_junk,fnptr); } while (0)

Definition at line 692 of file valgrind.h.

692#define CALL_FN_v_v(fnptr) \
693 do { volatile unsigned long _junk; \
694 CALL_FN_W_v(_junk,fnptr); } while (0)

◆ CALL_FN_v_W

#define CALL_FN_v_W ( fnptr,
arg1 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_W(_junk,fnptr,arg1); } while (0)
static unsigned int unsigned long arg1
Definition xen.h:44

Definition at line 696 of file valgrind.h.

696#define CALL_FN_v_W(fnptr, arg1) \
697 do { volatile unsigned long _junk; \
698 CALL_FN_W_W(_junk,fnptr,arg1); } while (0)

◆ CALL_FN_v_WW

#define CALL_FN_v_WW ( fnptr,
arg1,
arg2 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WW(_junk,fnptr,arg1,arg2); } while (0)
static unsigned int unsigned long unsigned long arg2
Definition xen.h:67

Definition at line 700 of file valgrind.h.

700#define CALL_FN_v_WW(fnptr, arg1,arg2) \
701 do { volatile unsigned long _junk; \
702 CALL_FN_W_WW(_junk,fnptr,arg1,arg2); } while (0)

◆ CALL_FN_v_WWW

#define CALL_FN_v_WWW ( fnptr,
arg1,
arg2,
arg3 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WWW(_junk,fnptr,arg1,arg2,arg3); } while (0)
static unsigned int unsigned long unsigned long unsigned long arg3
Definition xen.h:91

Definition at line 704 of file valgrind.h.

704#define CALL_FN_v_WWW(fnptr, arg1,arg2,arg3) \
705 do { volatile unsigned long _junk; \
706 CALL_FN_W_WWW(_junk,fnptr,arg1,arg2,arg3); } while (0)

◆ CALL_FN_v_WWWW

#define CALL_FN_v_WWWW ( fnptr,
arg1,
arg2,
arg3,
arg4 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WWWW(_junk,fnptr,arg1,arg2,arg3,arg4); } while (0)
static unsigned int unsigned long unsigned long unsigned long unsigned long arg4
Definition xen.h:119

Definition at line 708 of file valgrind.h.

708#define CALL_FN_v_WWWW(fnptr, arg1,arg2,arg3,arg4) \
709 do { volatile unsigned long _junk; \
710 CALL_FN_W_WWWW(_junk,fnptr,arg1,arg2,arg3,arg4); } while (0)

◆ CALL_FN_v_5W

#define CALL_FN_v_5W ( fnptr,
arg1,
arg2,
arg3,
arg4,
arg5 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_5W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5); } while (0)
static unsigned int unsigned long unsigned long unsigned long unsigned long unsigned long arg5
Definition xen.h:149

Definition at line 712 of file valgrind.h.

712#define CALL_FN_v_5W(fnptr, arg1,arg2,arg3,arg4,arg5) \
713 do { volatile unsigned long _junk; \
714 CALL_FN_W_5W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5); } while (0)

◆ CALL_FN_v_6W

#define CALL_FN_v_6W ( fnptr,
arg1,
arg2,
arg3,
arg4,
arg5,
arg6 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_6W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6); } while (0)

Definition at line 716 of file valgrind.h.

716#define CALL_FN_v_6W(fnptr, arg1,arg2,arg3,arg4,arg5,arg6) \
717 do { volatile unsigned long _junk; \
718 CALL_FN_W_6W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6); } while (0)

◆ CALL_FN_v_7W

#define CALL_FN_v_7W ( fnptr,
arg1,
arg2,
arg3,
arg4,
arg5,
arg6,
arg7 )
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_7W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6,arg7); } while (0)

Definition at line 720 of file valgrind.h.

720#define CALL_FN_v_7W(fnptr, arg1,arg2,arg3,arg4,arg5,arg6,arg7) \
721 do { volatile unsigned long _junk; \
722 CALL_FN_W_7W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6,arg7); } while (0)

◆ VG_USERREQ_TOOL_BASE

#define VG_USERREQ_TOOL_BASE ( a,
b )
Value:
((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))

Definition at line 4104 of file valgrind.h.

4104#define VG_USERREQ_TOOL_BASE(a,b) \
4105 ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))

◆ VG_IS_TOOL_USERREQ

#define VG_IS_TOOL_USERREQ ( a,
b,
v )
Value:
(VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))
#define VG_USERREQ_TOOL_BASE(a, b)
Definition valgrind.h:4104

Definition at line 4106 of file valgrind.h.

4106#define VG_IS_TOOL_USERREQ(a, b, v) \
4107 (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))

◆ __extension__

#define __extension__   /* */

Definition at line 4169 of file valgrind.h.

◆ RUNNING_ON_VALGRIND

#define RUNNING_ON_VALGRIND
Value:
({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* if not */, \
0, 0, 0, 0, 0); \
_qzz_res; \
})
#define __extension__
Definition valgrind.h:4169
@ VG_USERREQ__RUNNING_ON_VALGRIND
Definition valgrind.h:4114

Definition at line 4176 of file valgrind.h.

4176#define RUNNING_ON_VALGRIND __extension__ \
4177 ({unsigned int _qzz_res; \
4178 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* if not */, \
4179 VG_USERREQ__RUNNING_ON_VALGRIND, \
4180 0, 0, 0, 0, 0); \
4181 _qzz_res; \
4182 })

Referenced by valgrind_make_blocks_defined(), and valgrind_make_blocks_noaccess().

◆ VALGRIND_DISCARD_TRANSLATIONS

#define VALGRIND_DISCARD_TRANSLATIONS ( _qzz_addr,
_qzz_len )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
_qzz_addr, _qzz_len, 0, 0, 0); \
}
@ VG_USERREQ__DISCARD_TRANSLATIONS
Definition valgrind.h:4115

Definition at line 4189 of file valgrind.h.

4189#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr,_qzz_len) \
4190 {unsigned int _qzz_res; \
4191 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4192 VG_USERREQ__DISCARD_TRANSLATIONS, \
4193 _qzz_addr, _qzz_len, 0, 0, 0); \
4194 }

◆ VALGRIND_PRINTF

#define VALGRIND_PRINTF ( ...)

Definition at line 4204 of file valgrind.h.

◆ VALGRIND_PRINTF_BACKTRACE

#define VALGRIND_PRINTF_BACKTRACE ( ...)

Definition at line 4205 of file valgrind.h.

◆ VALGRIND_NON_SIMD_CALL0

#define VALGRIND_NON_SIMD_CALL0 ( _qyy_fn)
Value:
({unsigned long _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
_qyy_fn, \
0, 0, 0, 0); \
_qyy_res; \
})
@ VG_USERREQ__CLIENT_CALL0
Definition valgrind.h:4122

Definition at line 4271 of file valgrind.h.

4271#define VALGRIND_NON_SIMD_CALL0(_qyy_fn) \
4272 __extension__ \
4273 ({unsigned long _qyy_res; \
4274 VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
4275 VG_USERREQ__CLIENT_CALL0, \
4276 _qyy_fn, \
4277 0, 0, 0, 0); \
4278 _qyy_res; \
4279 })

◆ VALGRIND_NON_SIMD_CALL1

#define VALGRIND_NON_SIMD_CALL1 ( _qyy_fn,
_qyy_arg1 )
Value:
({unsigned long _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
_qyy_fn, \
_qyy_arg1, 0, 0, 0); \
_qyy_res; \
})
@ VG_USERREQ__CLIENT_CALL1
Definition valgrind.h:4123

Definition at line 4281 of file valgrind.h.

4281#define VALGRIND_NON_SIMD_CALL1(_qyy_fn, _qyy_arg1) \
4282 __extension__ \
4283 ({unsigned long _qyy_res; \
4284 VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
4285 VG_USERREQ__CLIENT_CALL1, \
4286 _qyy_fn, \
4287 _qyy_arg1, 0, 0, 0); \
4288 _qyy_res; \
4289 })

◆ VALGRIND_NON_SIMD_CALL2

#define VALGRIND_NON_SIMD_CALL2 ( _qyy_fn,
_qyy_arg1,
_qyy_arg2 )
Value:
({unsigned long _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
_qyy_fn, \
_qyy_arg1, _qyy_arg2, 0, 0); \
_qyy_res; \
})
@ VG_USERREQ__CLIENT_CALL2
Definition valgrind.h:4124

Definition at line 4291 of file valgrind.h.

4291#define VALGRIND_NON_SIMD_CALL2(_qyy_fn, _qyy_arg1, _qyy_arg2) \
4292 __extension__ \
4293 ({unsigned long _qyy_res; \
4294 VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
4295 VG_USERREQ__CLIENT_CALL2, \
4296 _qyy_fn, \
4297 _qyy_arg1, _qyy_arg2, 0, 0); \
4298 _qyy_res; \
4299 })

◆ VALGRIND_NON_SIMD_CALL3

#define VALGRIND_NON_SIMD_CALL3 ( _qyy_fn,
_qyy_arg1,
_qyy_arg2,
_qyy_arg3 )
Value:
({unsigned long _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
_qyy_fn, \
_qyy_arg1, _qyy_arg2, \
_qyy_arg3, 0); \
_qyy_res; \
})
@ VG_USERREQ__CLIENT_CALL3
Definition valgrind.h:4125

Definition at line 4301 of file valgrind.h.

4301#define VALGRIND_NON_SIMD_CALL3(_qyy_fn, _qyy_arg1, _qyy_arg2, _qyy_arg3) \
4302 __extension__ \
4303 ({unsigned long _qyy_res; \
4304 VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
4305 VG_USERREQ__CLIENT_CALL3, \
4306 _qyy_fn, \
4307 _qyy_arg1, _qyy_arg2, \
4308 _qyy_arg3, 0); \
4309 _qyy_res; \
4310 })

◆ VALGRIND_COUNT_ERRORS

#define VALGRIND_COUNT_ERRORS
Value:
({unsigned int _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
0, 0, 0, 0, 0); \
_qyy_res; \
})
@ VG_USERREQ__COUNT_ERRORS
Definition valgrind.h:4130

Definition at line 4316 of file valgrind.h.

4316#define VALGRIND_COUNT_ERRORS \
4317 __extension__ \
4318 ({unsigned int _qyy_res; \
4319 VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
4320 VG_USERREQ__COUNT_ERRORS, \
4321 0, 0, 0, 0, 0); \
4322 _qyy_res; \
4323 })

◆ VALGRIND_MALLOCLIKE_BLOCK

#define VALGRIND_MALLOCLIKE_BLOCK ( addr,
sizeB,
rzB,
is_zeroed )
Value:
{unsigned int __unused _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
addr, sizeB, rzB, is_zeroed, 0); \
}
uint32_t addr
Buffer address.
Definition dwmac.h:9
#define __unused
Declare a variable or data structure as unused.
Definition compiler.h:573
@ VG_USERREQ__MALLOCLIKE_BLOCK
Definition valgrind.h:4134

Definition at line 4412 of file valgrind.h.

4412#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) \
4413 {unsigned int __unused _qzz_res; \
4414 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4415 VG_USERREQ__MALLOCLIKE_BLOCK, \
4416 addr, sizeB, rzB, is_zeroed, 0); \
4417 }

Referenced by heap_realloc(), and malloc_phys_offset().

◆ VALGRIND_FREELIKE_BLOCK

#define VALGRIND_FREELIKE_BLOCK ( addr,
rzB )
Value:
{unsigned int __unused _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
addr, rzB, 0, 0, 0); \
}
@ VG_USERREQ__FREELIKE_BLOCK
Definition valgrind.h:4135

Definition at line 4422 of file valgrind.h.

4422#define VALGRIND_FREELIKE_BLOCK(addr, rzB) \
4423 {unsigned int __unused _qzz_res; \
4424 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4425 VG_USERREQ__FREELIKE_BLOCK, \
4426 addr, rzB, 0, 0, 0); \
4427 }

Referenced by free_phys(), and heap_realloc().

◆ VALGRIND_CREATE_MEMPOOL

#define VALGRIND_CREATE_MEMPOOL ( pool,
rzB,
is_zeroed )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, rzB, is_zeroed, 0, 0); \
}
timer_init & pool
Definition pool.h:66
@ VG_USERREQ__CREATE_MEMPOOL
Definition valgrind.h:4137

Definition at line 4430 of file valgrind.h.

4430#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed) \
4431 {unsigned int _qzz_res; \
4432 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4433 VG_USERREQ__CREATE_MEMPOOL, \
4434 pool, rzB, is_zeroed, 0, 0); \
4435 }

◆ VALGRIND_DESTROY_MEMPOOL

#define VALGRIND_DESTROY_MEMPOOL ( pool)
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, 0, 0, 0, 0); \
}
@ VG_USERREQ__DESTROY_MEMPOOL
Definition valgrind.h:4138

Definition at line 4438 of file valgrind.h.

4438#define VALGRIND_DESTROY_MEMPOOL(pool) \
4439 {unsigned int _qzz_res; \
4440 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4441 VG_USERREQ__DESTROY_MEMPOOL, \
4442 pool, 0, 0, 0, 0); \
4443 }

◆ VALGRIND_MEMPOOL_ALLOC

#define VALGRIND_MEMPOOL_ALLOC ( pool,
addr,
size )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, addr, size, 0, 0); \
}
uint16_t size
Buffer size.
Definition dwmac.h:3
@ VG_USERREQ__MEMPOOL_ALLOC
Definition valgrind.h:4139

Definition at line 4446 of file valgrind.h.

4446#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size) \
4447 {unsigned int _qzz_res; \
4448 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4449 VG_USERREQ__MEMPOOL_ALLOC, \
4450 pool, addr, size, 0, 0); \
4451 }

◆ VALGRIND_MEMPOOL_FREE

#define VALGRIND_MEMPOOL_FREE ( pool,
addr )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, addr, 0, 0, 0); \
}
@ VG_USERREQ__MEMPOOL_FREE
Definition valgrind.h:4140

Definition at line 4454 of file valgrind.h.

4454#define VALGRIND_MEMPOOL_FREE(pool, addr) \
4455 {unsigned int _qzz_res; \
4456 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4457 VG_USERREQ__MEMPOOL_FREE, \
4458 pool, addr, 0, 0, 0); \
4459 }

◆ VALGRIND_MEMPOOL_TRIM

#define VALGRIND_MEMPOOL_TRIM ( pool,
addr,
size )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, addr, size, 0, 0); \
}
@ VG_USERREQ__MEMPOOL_TRIM
Definition valgrind.h:4141

Definition at line 4462 of file valgrind.h.

4462#define VALGRIND_MEMPOOL_TRIM(pool, addr, size) \
4463 {unsigned int _qzz_res; \
4464 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4465 VG_USERREQ__MEMPOOL_TRIM, \
4466 pool, addr, size, 0, 0); \
4467 }

◆ VALGRIND_MOVE_MEMPOOL

#define VALGRIND_MOVE_MEMPOOL ( poolA,
poolB )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
poolA, poolB, 0, 0, 0); \
}
@ VG_USERREQ__MOVE_MEMPOOL
Definition valgrind.h:4142

Definition at line 4470 of file valgrind.h.

4470#define VALGRIND_MOVE_MEMPOOL(poolA, poolB) \
4471 {unsigned int _qzz_res; \
4472 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4473 VG_USERREQ__MOVE_MEMPOOL, \
4474 poolA, poolB, 0, 0, 0); \
4475 }

◆ VALGRIND_MEMPOOL_CHANGE

#define VALGRIND_MEMPOOL_CHANGE ( pool,
addrA,
addrB,
size )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, addrA, addrB, size, 0); \
}
@ VG_USERREQ__MEMPOOL_CHANGE
Definition valgrind.h:4143

Definition at line 4478 of file valgrind.h.

4478#define VALGRIND_MEMPOOL_CHANGE(pool, addrA, addrB, size) \
4479 {unsigned int _qzz_res; \
4480 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4481 VG_USERREQ__MEMPOOL_CHANGE, \
4482 pool, addrA, addrB, size, 0); \
4483 }

◆ VALGRIND_MEMPOOL_EXISTS

#define VALGRIND_MEMPOOL_EXISTS ( pool)
Value:
({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
pool, 0, 0, 0, 0); \
_qzz_res; \
})
@ VG_USERREQ__MEMPOOL_EXISTS
Definition valgrind.h:4144

Definition at line 4486 of file valgrind.h.

4486#define VALGRIND_MEMPOOL_EXISTS(pool) \
4487 __extension__ \
4488 ({unsigned int _qzz_res; \
4489 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4490 VG_USERREQ__MEMPOOL_EXISTS, \
4491 pool, 0, 0, 0, 0); \
4492 _qzz_res; \
4493 })

◆ VALGRIND_STACK_REGISTER

#define VALGRIND_STACK_REGISTER ( start,
end )
Value:
({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
start, end, 0, 0, 0); \
_qzz_res; \
})
uint32_t start
Starting offset.
Definition netvsc.h:1
uint32_t end
Ending offset.
Definition netvsc.h:7
@ VG_USERREQ__STACK_REGISTER
Definition valgrind.h:4160

Definition at line 4496 of file valgrind.h.

4496#define VALGRIND_STACK_REGISTER(start, end) \
4497 __extension__ \
4498 ({unsigned int _qzz_res; \
4499 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4500 VG_USERREQ__STACK_REGISTER, \
4501 start, end, 0, 0, 0); \
4502 _qzz_res; \
4503 })

◆ VALGRIND_STACK_DEREGISTER

#define VALGRIND_STACK_DEREGISTER ( id)
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
id, 0, 0, 0, 0); \
}
@ VG_USERREQ__STACK_DEREGISTER
Definition valgrind.h:4161

Definition at line 4507 of file valgrind.h.

4507#define VALGRIND_STACK_DEREGISTER(id) \
4508 {unsigned int _qzz_res; \
4509 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4510 VG_USERREQ__STACK_DEREGISTER, \
4511 id, 0, 0, 0, 0); \
4512 }

◆ VALGRIND_STACK_CHANGE

#define VALGRIND_STACK_CHANGE ( id,
start,
end )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
id, start, end, 0, 0); \
}
@ VG_USERREQ__STACK_CHANGE
Definition valgrind.h:4162

Definition at line 4515 of file valgrind.h.

4515#define VALGRIND_STACK_CHANGE(id, start, end) \
4516 {unsigned int _qzz_res; \
4517 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4518 VG_USERREQ__STACK_CHANGE, \
4519 id, start, end, 0, 0); \
4520 }

◆ VALGRIND_LOAD_PDB_DEBUGINFO

#define VALGRIND_LOAD_PDB_DEBUGINFO ( fd,
ptr,
total_size,
delta )
Value:
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
fd, ptr, total_size, delta, 0); \
}
@ VG_USERREQ__LOAD_PDB_DEBUGINFO
Definition valgrind.h:4165

Definition at line 4523 of file valgrind.h.

4523#define VALGRIND_LOAD_PDB_DEBUGINFO(fd, ptr, total_size, delta) \
4524 {unsigned int _qzz_res; \
4525 VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
4526 VG_USERREQ__LOAD_PDB_DEBUGINFO, \
4527 fd, ptr, total_size, delta, 0); \
4528 }

Enumeration Type Documentation

◆ Vg_ClientRequest

Enumerator
VG_USERREQ__RUNNING_ON_VALGRIND 
VG_USERREQ__DISCARD_TRANSLATIONS 
VG_USERREQ__CLIENT_CALL0 
VG_USERREQ__CLIENT_CALL1 
VG_USERREQ__CLIENT_CALL2 
VG_USERREQ__CLIENT_CALL3 
VG_USERREQ__COUNT_ERRORS 
VG_USERREQ__MALLOCLIKE_BLOCK 
VG_USERREQ__FREELIKE_BLOCK 
VG_USERREQ__CREATE_MEMPOOL 
VG_USERREQ__DESTROY_MEMPOOL 
VG_USERREQ__MEMPOOL_ALLOC 
VG_USERREQ__MEMPOOL_FREE 
VG_USERREQ__MEMPOOL_TRIM 
VG_USERREQ__MOVE_MEMPOOL 
VG_USERREQ__MEMPOOL_CHANGE 
VG_USERREQ__MEMPOOL_EXISTS 
VG_USERREQ__PRINTF 
VG_USERREQ__PRINTF_BACKTRACE 
VG_USERREQ__PRINTF_VALIST_BY_REF 
VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF 
VG_USERREQ__STACK_REGISTER 
VG_USERREQ__STACK_DEREGISTER 
VG_USERREQ__STACK_CHANGE 
VG_USERREQ__LOAD_PDB_DEBUGINFO 

Definition at line 4113 of file valgrind.h.

4116
4117 /* These allow any function to be called from the simulated
4118 CPU but run on the real CPU. Nb: the first arg passed to
4119 the function is always the ThreadId of the running
4120 thread! So CLIENT_CALL0 actually requires a 1 arg
4121 function, etc. */
4122 VG_USERREQ__CLIENT_CALL0 = 0x1101,
4123 VG_USERREQ__CLIENT_CALL1 = 0x1102,
4124 VG_USERREQ__CLIENT_CALL2 = 0x1103,
4125 VG_USERREQ__CLIENT_CALL3 = 0x1104,
4126
4127 /* Can be useful in regression testing suites -- eg. can
4128 send Valgrind's output to /dev/null and still count
4129 errors. */
4130 VG_USERREQ__COUNT_ERRORS = 0x1201,
4131
4132 /* These are useful and can be interpreted by any tool that
4133 tracks malloc() et al, by using vg_replace_malloc.c. */
4136 /* Memory pool support. */
4140 VG_USERREQ__MEMPOOL_FREE = 0x1306,
4141 VG_USERREQ__MEMPOOL_TRIM = 0x1307,
4142 VG_USERREQ__MOVE_MEMPOOL = 0x1308,
4145
4146 /* Allow printfs to valgrind log. */
4147 /* The first two pass the va_list argument by value, which
4148 assumes it is the same size as or smaller than a UWord,
4149 which generally isn't the case. Hence are deprecated.
4150 The second two pass the vargs by reference and so are
4151 immune to this problem. */
4152 /* both :: char* fmt, va_list vargs (DEPRECATED) */
4153 VG_USERREQ__PRINTF = 0x1401,
4155 /* both :: char* fmt, va_list* vargs */
4158
4159 /* Stack support. */
4162 VG_USERREQ__STACK_CHANGE = 0x1503,
4163
4164 /* Wine support */
Vg_ClientRequest
Definition valgrind.h:4114
@ VG_USERREQ__PRINTF_BACKTRACE
Definition valgrind.h:4154
@ VG_USERREQ__PRINTF_VALIST_BY_REF
Definition valgrind.h:4156
@ VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF
Definition valgrind.h:4157
@ VG_USERREQ__PRINTF
Definition valgrind.h:4153

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD3 )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )