xref: /aosp_15_r20/external/jemalloc_new/include/jemalloc/internal/hooks.h (revision 1208bc7e437ced7eb82efac44ba17e3beba411da)
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