xref: /netbsd-src/external/bsd/jemalloc.old/include/jemalloc/internal/hooks.h (revision 8e33eff89e26cf71871ead62f0d5063e1313c33a)
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