X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fdlfcn.h;h=db26194b22845389e4b2ea2add95ccfec097e089;hp=dea74c7dc7fc387a046f9f1dac0422ef52389c59;hb=6688a778b0419eab32e715f269319248edee9da5;hpb=230f1813ad8264f09d5247fa0ed1e8e361c21e0e diff --git a/include/dlfcn.h b/include/dlfcn.h index dea74c7d..db26194b 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(void *, Dl_info *); +int dlinfo(void *, int, void *); +#endif #ifdef __cplusplus }