1*c9945492SAndroid Build Coastguard Worker #ifndef _DLFCN_H 2*c9945492SAndroid Build Coastguard Worker #define _DLFCN_H 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 5*c9945492SAndroid Build Coastguard Worker extern "C" { 6*c9945492SAndroid Build Coastguard Worker #endif 7*c9945492SAndroid Build Coastguard Worker 8*c9945492SAndroid Build Coastguard Worker #include <features.h> 9*c9945492SAndroid Build Coastguard Worker 10*c9945492SAndroid Build Coastguard Worker #define RTLD_LAZY 1 11*c9945492SAndroid Build Coastguard Worker #define RTLD_NOW 2 12*c9945492SAndroid Build Coastguard Worker #define RTLD_NOLOAD 4 13*c9945492SAndroid Build Coastguard Worker #define RTLD_NODELETE 4096 14*c9945492SAndroid Build Coastguard Worker #define RTLD_GLOBAL 256 15*c9945492SAndroid Build Coastguard Worker #define RTLD_LOCAL 0 16*c9945492SAndroid Build Coastguard Worker 17*c9945492SAndroid Build Coastguard Worker #define RTLD_NEXT ((void *)-1) 18*c9945492SAndroid Build Coastguard Worker #define RTLD_DEFAULT ((void *)0) 19*c9945492SAndroid Build Coastguard Worker 20*c9945492SAndroid Build Coastguard Worker #define RTLD_DI_LINKMAP 2 21*c9945492SAndroid Build Coastguard Worker 22*c9945492SAndroid Build Coastguard Worker int dlclose(void *); 23*c9945492SAndroid Build Coastguard Worker char *dlerror(void); 24*c9945492SAndroid Build Coastguard Worker void *dlopen(const char *, int); 25*c9945492SAndroid Build Coastguard Worker void *dlsym(void *__restrict, const char *__restrict); 26*c9945492SAndroid Build Coastguard Worker 27*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 28*c9945492SAndroid Build Coastguard Worker typedef struct { 29*c9945492SAndroid Build Coastguard Worker const char *dli_fname; 30*c9945492SAndroid Build Coastguard Worker void *dli_fbase; 31*c9945492SAndroid Build Coastguard Worker const char *dli_sname; 32*c9945492SAndroid Build Coastguard Worker void *dli_saddr; 33*c9945492SAndroid Build Coastguard Worker } Dl_info; 34*c9945492SAndroid Build Coastguard Worker int dladdr(const void *, Dl_info *); 35*c9945492SAndroid Build Coastguard Worker int dlinfo(void *, int, void *); 36*c9945492SAndroid Build Coastguard Worker #endif 37*c9945492SAndroid Build Coastguard Worker 38*c9945492SAndroid Build Coastguard Worker #if _REDIR_TIME64 39*c9945492SAndroid Build Coastguard Worker __REDIR(dlsym, __dlsym_time64); 40*c9945492SAndroid Build Coastguard Worker #endif 41*c9945492SAndroid Build Coastguard Worker 42*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 43*c9945492SAndroid Build Coastguard Worker } 44*c9945492SAndroid Build Coastguard Worker #endif 45*c9945492SAndroid Build Coastguard Worker 46*c9945492SAndroid Build Coastguard Worker #endif 47