#ifndef _DLFCN_H #define _DLFCN_H #ifdef __cplusplus extern "C" { #endif #include #define RTLD_LAZY 1 #define RTLD_NOW 2 #define RTLD_GLOBAL 256 #define RTLD_LOCAL 0 #define RTLD_NEXT ((void *)-1) #define RTLD_DEFAULT ((void *)0) int dlclose(void *); char *dlerror(void); void *dlopen(const char *, int); void *dlsym(void *__restrict, const char *__restrict); #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) typedef struct { const char *dli_fname; void *dli_fbase; const char *dli_sname; void *dli_saddr; } Dl_info; int dladdr(void *, Dl_info *); #endif #ifdef __cplusplus } #endif #endif