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