#pragma once #ifdef __cplusplus extern "C" { #endif #include <features.h> #define RTLD_LAZY 1 #define RTLD_NOW 2 #define RTLD_NOLOAD 4 #define RTLD_NODELETE 4096 #define RTLD_GLOBAL 256 #define RTLD_LOCAL 0 #define RTLD_NEXT ((void*)-1) #define RTLD_DEFAULT ((void*)0) #define RTLD_DI_LINKMAP 2 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(const void*, Dl_info*); int dlinfo(void*, int, void*); #endif #ifdef __cplusplus } #endif