1*1208bc7eSAndroid Build Coastguard Worker #ifndef JEMALLOC_INTERNAL_HOOKS_H 2*1208bc7eSAndroid Build Coastguard Worker #define JEMALLOC_INTERNAL_HOOKS_H 3*1208bc7eSAndroid Build Coastguard Worker 4*1208bc7eSAndroid Build Coastguard Worker extern JEMALLOC_EXPORT void (*hooks_arena_new_hook)(); 5*1208bc7eSAndroid Build Coastguard Worker extern JEMALLOC_EXPORT void (*hooks_libc_hook)(); 6*1208bc7eSAndroid Build Coastguard Worker 7*1208bc7eSAndroid Build Coastguard Worker #define JEMALLOC_HOOK(fn, hook) ((void)(hook != NULL && (hook(), 0)), fn) 8*1208bc7eSAndroid Build Coastguard Worker 9*1208bc7eSAndroid Build Coastguard Worker #define open JEMALLOC_HOOK(open, hooks_libc_hook) 10*1208bc7eSAndroid Build Coastguard Worker #define read JEMALLOC_HOOK(read, hooks_libc_hook) 11*1208bc7eSAndroid Build Coastguard Worker #define write JEMALLOC_HOOK(write, hooks_libc_hook) 12*1208bc7eSAndroid Build Coastguard Worker #define readlink JEMALLOC_HOOK(readlink, hooks_libc_hook) 13*1208bc7eSAndroid Build Coastguard Worker #define close JEMALLOC_HOOK(close, hooks_libc_hook) 14*1208bc7eSAndroid Build Coastguard Worker #define creat JEMALLOC_HOOK(creat, hooks_libc_hook) 15*1208bc7eSAndroid Build Coastguard Worker #define secure_getenv JEMALLOC_HOOK(secure_getenv, hooks_libc_hook) 16*1208bc7eSAndroid Build Coastguard Worker /* Note that this is undef'd and re-define'd in src/prof.c. */ 17*1208bc7eSAndroid Build Coastguard Worker #define _Unwind_Backtrace JEMALLOC_HOOK(_Unwind_Backtrace, hooks_libc_hook) 18*1208bc7eSAndroid Build Coastguard Worker 19*1208bc7eSAndroid Build Coastguard Worker #endif /* JEMALLOC_INTERNAL_HOOKS_H */ 20