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