crabgrind 0.2.5

Rust bindings to "Valgrind Client Request" interface
Documentation
#include <stddef.h>

#include "valgrind/valgrind.h"
#include "valgrind/callgrind.h"
#include "valgrind/helgrind.h"
#include "valgrind/drd.h"
#include "valgrind/memcheck.h"
#include "valgrind/dhat.h"
#include "valgrind/cachegrind.h"

typedef enum {
#ifdef RUNNING_ON_VALGRIND 
	CG_RUNNING_ON_VALGRIND = VG_USERREQ__RUNNING_ON_VALGRIND,
#else
	CG_RUNNING_ON_VALGRIND = 0,
#endif
#ifdef VALGRIND_DISCARD_TRANSLATIONS 
	CG_VALGRIND_DISCARD_TRANSLATIONS = VG_USERREQ__DISCARD_TRANSLATIONS,
#else
	CG_VALGRIND_DISCARD_TRANSLATIONS = 1,
#endif
#ifdef VALGRIND_NON_SIMD_CALL0 
	CG_VALGRIND_NON_SIMD_CALL0 = VG_USERREQ__CLIENT_CALL0,
#else
	CG_VALGRIND_NON_SIMD_CALL0 = 2,
#endif
#ifdef VALGRIND_NON_SIMD_CALL1 
	CG_VALGRIND_NON_SIMD_CALL1 = VG_USERREQ__CLIENT_CALL1,
#else
	CG_VALGRIND_NON_SIMD_CALL1 = 3,
#endif
#ifdef VALGRIND_NON_SIMD_CALL2 
	CG_VALGRIND_NON_SIMD_CALL2 = VG_USERREQ__CLIENT_CALL2,
#else
	CG_VALGRIND_NON_SIMD_CALL2 = 4,
#endif
#ifdef VALGRIND_NON_SIMD_CALL3 
	CG_VALGRIND_NON_SIMD_CALL3 = VG_USERREQ__CLIENT_CALL3,
#else
	CG_VALGRIND_NON_SIMD_CALL3 = 5,
#endif
#ifdef VALGRIND_COUNT_ERRORS 
	CG_VALGRIND_COUNT_ERRORS = VG_USERREQ__COUNT_ERRORS,
#else
	CG_VALGRIND_COUNT_ERRORS = 6,
#endif
#ifdef VALGRIND_MONITOR_COMMAND 
	CG_VALGRIND_MONITOR_COMMAND = VG_USERREQ__GDB_MONITOR_COMMAND,
#else
	CG_VALGRIND_MONITOR_COMMAND = 7,
#endif
#ifdef VALGRIND_CLO_CHANGE 
	CG_VALGRIND_CLO_CHANGE = VG_USERREQ__CLO_CHANGE,
#else
	CG_VALGRIND_CLO_CHANGE = 8,
#endif
#ifdef VALGRIND_MALLOCLIKE_BLOCK 
	CG_VALGRIND_MALLOCLIKE_BLOCK = VG_USERREQ__MALLOCLIKE_BLOCK,
#else
	CG_VALGRIND_MALLOCLIKE_BLOCK = 9,
#endif
#ifdef VALGRIND_RESIZEINPLACE_BLOCK 
	CG_VALGRIND_RESIZEINPLACE_BLOCK = VG_USERREQ__RESIZEINPLACE_BLOCK,
#else
	CG_VALGRIND_RESIZEINPLACE_BLOCK = 10,
#endif
#ifdef VALGRIND_FREELIKE_BLOCK 
	CG_VALGRIND_FREELIKE_BLOCK = VG_USERREQ__FREELIKE_BLOCK,
#else
	CG_VALGRIND_FREELIKE_BLOCK = 11,
#endif
#ifdef VALGRIND_CREATE_MEMPOOL 
	CG_VALGRIND_CREATE_MEMPOOL = VG_USERREQ__CREATE_MEMPOOL,
#else
	CG_VALGRIND_CREATE_MEMPOOL = 12,
#endif
#ifdef VALGRIND_DESTROY_MEMPOOL 
	CG_VALGRIND_DESTROY_MEMPOOL = VG_USERREQ__DESTROY_MEMPOOL,
#else
	CG_VALGRIND_DESTROY_MEMPOOL = 13,
#endif
#ifdef VALGRIND_MEMPOOL_ALLOC 
	CG_VALGRIND_MEMPOOL_ALLOC = VG_USERREQ__MEMPOOL_ALLOC,
#else
	CG_VALGRIND_MEMPOOL_ALLOC = 14,
#endif
#ifdef VALGRIND_MEMPOOL_FREE 
	CG_VALGRIND_MEMPOOL_FREE = VG_USERREQ__MEMPOOL_FREE,
#else
	CG_VALGRIND_MEMPOOL_FREE = 15,
#endif
#ifdef VALGRIND_MEMPOOL_TRIM 
	CG_VALGRIND_MEMPOOL_TRIM = VG_USERREQ__MEMPOOL_TRIM,
#else
	CG_VALGRIND_MEMPOOL_TRIM = 16,
#endif
#ifdef VALGRIND_MOVE_MEMPOOL 
	CG_VALGRIND_MOVE_MEMPOOL = VG_USERREQ__MOVE_MEMPOOL,
#else
	CG_VALGRIND_MOVE_MEMPOOL = 17,
#endif
#ifdef VALGRIND_MEMPOOL_CHANGE 
	CG_VALGRIND_MEMPOOL_CHANGE = VG_USERREQ__MEMPOOL_CHANGE,
#else
	CG_VALGRIND_MEMPOOL_CHANGE = 18,
#endif
#ifdef VALGRIND_MEMPOOL_EXISTS 
	CG_VALGRIND_MEMPOOL_EXISTS = VG_USERREQ__MEMPOOL_EXISTS,
#else
	CG_VALGRIND_MEMPOOL_EXISTS = 19,
#endif
#ifdef VALGRIND_STACK_REGISTER 
	CG_VALGRIND_STACK_REGISTER = VG_USERREQ__STACK_REGISTER,
#else
	CG_VALGRIND_STACK_REGISTER = 20,
#endif
#ifdef VALGRIND_STACK_DEREGISTER 
	CG_VALGRIND_STACK_DEREGISTER = VG_USERREQ__STACK_DEREGISTER,
#else
	CG_VALGRIND_STACK_DEREGISTER = 21,
#endif
#ifdef VALGRIND_STACK_CHANGE 
	CG_VALGRIND_STACK_CHANGE = VG_USERREQ__STACK_CHANGE,
#else
	CG_VALGRIND_STACK_CHANGE = 22,
#endif
#ifdef VALGRIND_LOAD_PDB_DEBUGINFO 
	CG_VALGRIND_LOAD_PDB_DEBUGINFO = VG_USERREQ__LOAD_PDB_DEBUGINFO,
#else
	CG_VALGRIND_LOAD_PDB_DEBUGINFO = 23,
#endif
#ifdef VALGRIND_MAP_IP_TO_SRCLOC 
	CG_VALGRIND_MAP_IP_TO_SRCLOC = VG_USERREQ__MAP_IP_TO_SRCLOC,
#else
	CG_VALGRIND_MAP_IP_TO_SRCLOC = 24,
#endif
#ifdef VALGRIND_ENABLE_ERROR_REPORTING 
	CG_VALGRIND_ENABLE_ERROR_REPORTING = VG_USERREQ__CHANGE_ERR_DISABLEMENT,
#else
	CG_VALGRIND_ENABLE_ERROR_REPORTING = 25,
#endif
#ifdef VALGRIND_REPLACES_MALLOC 
	CG_VALGRIND_REPLACES_MALLOC = VG_USERREQ__VALGRIND_REPLACES_MALLOC,
#else
	CG_VALGRIND_REPLACES_MALLOC = 26,
#endif
#ifdef VALGRIND_GET_TOOLNAME 
	CG_VALGRIND_GET_TOOLNAME = VG_USERREQ__VALGRIND_GET_TOOLNAME,
#else
	CG_VALGRIND_GET_TOOLNAME = 27,
#endif
} CG_ValgrindClientRequest;

typedef enum {
#ifdef CALLGRIND_DUMP_STATS 
	CG_CALLGRIND_DUMP_STATS = VG_USERREQ__DUMP_STATS,
#else
	CG_CALLGRIND_DUMP_STATS = 0,
#endif
#ifdef CALLGRIND_DUMP_STATS_AT 
	CG_CALLGRIND_DUMP_STATS_AT = VG_USERREQ__DUMP_STATS_AT,
#else
	CG_CALLGRIND_DUMP_STATS_AT = 1,
#endif
#ifdef CALLGRIND_ZERO_STATS 
	CG_CALLGRIND_ZERO_STATS = VG_USERREQ__ZERO_STATS,
#else
	CG_CALLGRIND_ZERO_STATS = 2,
#endif
#ifdef CALLGRIND_TOGGLE_COLLECT 
	CG_CALLGRIND_TOGGLE_COLLECT = VG_USERREQ__TOGGLE_COLLECT,
#else
	CG_CALLGRIND_TOGGLE_COLLECT = 3,
#endif
#ifdef CALLGRIND_START_INSTRUMENTATION 
	CG_CALLGRIND_START_INSTRUMENTATION = VG_USERREQ__START_INSTRUMENTATION,
#else
	CG_CALLGRIND_START_INSTRUMENTATION = 4,
#endif
#ifdef CALLGRIND_STOP_INSTRUMENTATION 
	CG_CALLGRIND_STOP_INSTRUMENTATION = VG_USERREQ__STOP_INSTRUMENTATION,
#else
	CG_CALLGRIND_STOP_INSTRUMENTATION = 5,
#endif
} CG_CallgrindClientRequest;

typedef enum {
#ifdef DHAT_AD_HOC_EVENT 
	CG_DHAT_AD_HOC_EVENT = VG_USERREQ__DHAT_AD_HOC_EVENT,
#else
	CG_DHAT_AD_HOC_EVENT = 0,
#endif
#ifdef DHAT_HISTOGRAM_MEMORY 
	CG_DHAT_HISTOGRAM_MEMORY = VG_USERREQ__DHAT_HISTOGRAM_MEMORY,
#else
	CG_DHAT_HISTOGRAM_MEMORY = 1,
#endif
} CG_DHATClientRequest;

typedef enum {
#ifdef VALGRIND_MAKE_MEM_NOACCESS 
	CG_VALGRIND_MAKE_MEM_NOACCESS = VG_USERREQ__MAKE_MEM_NOACCESS,
#else
	CG_VALGRIND_MAKE_MEM_NOACCESS = 0,
#endif
#ifdef VALGRIND_MAKE_MEM_UNDEFINED 
	CG_VALGRIND_MAKE_MEM_UNDEFINED = VG_USERREQ__MAKE_MEM_UNDEFINED,
#else
	CG_VALGRIND_MAKE_MEM_UNDEFINED = 1,
#endif
#ifdef VALGRIND_MAKE_MEM_DEFINED 
	CG_VALGRIND_MAKE_MEM_DEFINED = VG_USERREQ__MAKE_MEM_DEFINED,
#else
	CG_VALGRIND_MAKE_MEM_DEFINED = 2,
#endif
#ifdef VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE 
	CG_VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE = VG_USERREQ__MAKE_MEM_DEFINED_IF_ADDRESSABLE,
#else
	CG_VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE = 3,
#endif
#ifdef VALGRIND_CHECK_MEM_IS_ADDRESSABLE 
	CG_VALGRIND_CHECK_MEM_IS_ADDRESSABLE = VG_USERREQ__CHECK_MEM_IS_ADDRESSABLE,
#else
	CG_VALGRIND_CHECK_MEM_IS_ADDRESSABLE = 4,
#endif
#ifdef VALGRIND_CHECK_MEM_IS_DEFINED 
	CG_VALGRIND_CHECK_MEM_IS_DEFINED = VG_USERREQ__CHECK_MEM_IS_DEFINED,
#else
	CG_VALGRIND_CHECK_MEM_IS_DEFINED = 5,
#endif
#ifdef VALGRIND_DO_LEAK_CHECK 
	CG_VALGRIND_DO_LEAK_CHECK = VG_USERREQ__DO_LEAK_CHECK,
#else
	CG_VALGRIND_DO_LEAK_CHECK = 6,
#endif
#ifdef VALGRIND_COUNT_LEAKS 
	CG_VALGRIND_COUNT_LEAKS = VG_USERREQ__COUNT_LEAKS,
#else
	CG_VALGRIND_COUNT_LEAKS = 7,
#endif
#ifdef VALGRIND_COUNT_LEAK_BLOCKS 
	CG_VALGRIND_COUNT_LEAK_BLOCKS = VG_USERREQ__COUNT_LEAK_BLOCKS,
#else
	CG_VALGRIND_COUNT_LEAK_BLOCKS = 8,
#endif
#ifdef VALGRIND_GET_VBITS 
	CG_VALGRIND_GET_VBITS = VG_USERREQ__GET_VBITS,
#else
	CG_VALGRIND_GET_VBITS = 9,
#endif
#ifdef VALGRIND_SET_VBITS 
	CG_VALGRIND_SET_VBITS = VG_USERREQ__SET_VBITS,
#else
	CG_VALGRIND_SET_VBITS = 10,
#endif
#ifdef VALGRIND_CREATE_BLOCK 
	CG_VALGRIND_CREATE_BLOCK = VG_USERREQ__CREATE_BLOCK,
#else
	CG_VALGRIND_CREATE_BLOCK = 11,
#endif
#ifdef VALGRIND_DISCARD 
	CG_VALGRIND_DISCARD = VG_USERREQ__DISCARD,
#else
	CG_VALGRIND_DISCARD = 12,
#endif
#ifdef VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE 
	CG_VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE = VG_USERREQ__ENABLE_ADDR_ERROR_REPORTING_IN_RANGE,
#else
	CG_VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE = 13,
#endif
#ifdef VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE 
	CG_VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE = VG_USERREQ__DISABLE_ADDR_ERROR_REPORTING_IN_RANGE,
#else
	CG_VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE = 14,
#endif
} CG_MemcheckClientRequest;

typedef enum {
#ifdef VALGRIND_HG_CLEAN_MEMORY 
	CG_VALGRIND_HG_CLEAN_MEMORY = VG_USERREQ__HG_CLEAN_MEMORY,
#else
	CG_VALGRIND_HG_CLEAN_MEMORY = 0,
#endif
#ifdef ANNOTATE_RWLOCK_CREATE 
	CG_ANNOTATE_RWLOCK_CREATE = _VG_USERREQ__HG_PTHREAD_RWLOCK_INIT_POST,
#else
	CG_ANNOTATE_RWLOCK_CREATE = 1,
#endif
#ifdef ANNOTATE_RWLOCK_DESTROY 
	CG_ANNOTATE_RWLOCK_DESTROY = _VG_USERREQ__HG_PTHREAD_RWLOCK_DESTROY_PRE,
#else
	CG_ANNOTATE_RWLOCK_DESTROY = 2,
#endif
#ifdef ANNOTATE_RWLOCK_ACQUIRED 
	CG_ANNOTATE_RWLOCK_ACQUIRED = _VG_USERREQ__HG_PTHREAD_RWLOCK_ACQUIRED,
#else
	CG_ANNOTATE_RWLOCK_ACQUIRED = 3,
#endif
#ifdef ANNOTATE_RWLOCK_RELEASED 
	CG_ANNOTATE_RWLOCK_RELEASED = _VG_USERREQ__HG_PTHREAD_RWLOCK_RELEASED,
#else
	CG_ANNOTATE_RWLOCK_RELEASED = 4,
#endif
#ifdef ANNOTATE_HAPPENS_BEFORE 
	CG_ANNOTATE_HAPPENS_BEFORE = _VG_USERREQ__HG_USERSO_SEND_PRE,
#else
	CG_ANNOTATE_HAPPENS_BEFORE = 5,
#endif
#ifdef ANNOTATE_HAPPENS_AFTER 
	CG_ANNOTATE_HAPPENS_AFTER = _VG_USERREQ__HG_USERSO_RECV_POST,
#else
	CG_ANNOTATE_HAPPENS_AFTER = 6,
#endif
#ifdef ANNOTATE_HAPPENS_BEFORE_FORGET_ALL 
	CG_ANNOTATE_HAPPENS_BEFORE_FORGET_ALL = _VG_USERREQ__HG_USERSO_FORGET_ALL,
#else
	CG_ANNOTATE_HAPPENS_BEFORE_FORGET_ALL = 7,
#endif
} CG_HelgrindClientRequest;

typedef enum {
#ifdef DRD_GET_VALGRIND_THREADID 
	CG_DRD_GET_VALGRIND_THREADID = VG_USERREQ__DRD_GET_VALGRIND_THREAD_ID,
#else
	CG_DRD_GET_VALGRIND_THREADID = 0,
#endif
#ifdef DRD_GET_DRD_THREADID 
	CG_DRD_GET_DRD_THREADID = VG_USERREQ__DRD_GET_DRD_THREAD_ID,
#else
	CG_DRD_GET_DRD_THREADID = 1,
#endif
#ifdef ANNOTATE_BENIGN_RACE_SIZED 
	CG_ANNOTATE_BENIGN_RACE_SIZED = VG_USERREQ__DRD_START_SUPPRESSION,
#else
	CG_ANNOTATE_BENIGN_RACE_SIZED = 2,
#endif
#ifdef DRD_STOP_IGNORING_VAR 
	CG_DRD_STOP_IGNORING_VAR = VG_USERREQ__DRD_FINISH_SUPPRESSION,
#else
	CG_DRD_STOP_IGNORING_VAR = 3,
#endif
#ifdef DRD_TRACE_VAR 
	CG_DRD_TRACE_VAR = VG_USERREQ__DRD_START_TRACE_ADDR,
#else
	CG_DRD_TRACE_VAR = 4,
#endif
#ifdef DRD_STOP_TRACING_VAR 
	CG_DRD_STOP_TRACING_VAR = VG_USERREQ__DRD_STOP_TRACE_ADDR,
#else
	CG_DRD_STOP_TRACING_VAR = 5,
#endif
#ifdef ANNOTATE_IGNORE_READS_BEGIN 
	CG_ANNOTATE_IGNORE_READS_BEGIN = VG_USERREQ__DRD_RECORD_LOADS,
#else
	CG_ANNOTATE_IGNORE_READS_BEGIN = 6,
#endif
#ifdef ANNOTATE_IGNORE_WRITES_BEGIN 
	CG_ANNOTATE_IGNORE_WRITES_BEGIN = VG_USERREQ__DRD_RECORD_STORES,
#else
	CG_ANNOTATE_IGNORE_WRITES_BEGIN = 7,
#endif
#ifdef ANNOTATE_NEW_MEMORY 
	CG_ANNOTATE_NEW_MEMORY = VG_USERREQ__DRD_CLEAN_MEMORY,
#else
	CG_ANNOTATE_NEW_MEMORY = 8,
#endif
#ifdef ANNOTATE_THREAD_NAME 
	CG_ANNOTATE_THREAD_NAME = VG_USERREQ__DRD_SET_THREAD_NAME,
#else
	CG_ANNOTATE_THREAD_NAME = 9,
#endif
} CG_DRDClientRequest;

typedef enum {
#ifdef CACHEGRIND_START_INSTRUMENTATION 
	CG_CACHEGRIND_START_INSTRUMENTATION = VG_USERREQ__CG_START_INSTRUMENTATION,
#else
	CG_CACHEGRIND_START_INSTRUMENTATION = 0,
#endif
#ifdef CACHEGRIND_STOP_INSTRUMENTATION 
	CG_CACHEGRIND_STOP_INSTRUMENTATION = VG_USERREQ__CG_STOP_INSTRUMENTATION,
#else
	CG_CACHEGRIND_STOP_INSTRUMENTATION = 1,
#endif
} CG_CachegrindClientRequest;