X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fdlfcn.h;h=78fb0733b2eb82be221e2e26fb5df369be7bb715;hb=93b5f6c84356558bab965cc2f09d7c7c0dcb9beb;hp=dea74c7dc7fc387a046f9f1dac0422ef52389c59;hpb=230f1813ad8264f09d5247fa0ed1e8e361c21e0e;p=musl diff --git a/include/dlfcn.h b/include/dlfcn.h index dea74c7d..78fb0733 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -5,18 +5,35 @@ extern "C" { #endif +#include + #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 *, const char *); +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 }