X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fdlfcn.h;h=db26194b22845389e4b2ea2add95ccfec097e089;hp=81b829c876f1d67d51ab179d939bb73a00fb7636;hb=780cbbe63ad9e60ef30dbcb2d74271e899dae245;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/include/dlfcn.h b/include/dlfcn.h index 81b829c8..db26194b 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -1,19 +1,42 @@ #ifndef _DLFCN_H #define _DLFCN_H -#define RTLD_LAZY 0x10000 -#define RTLD_NOW 0x20000 -#define RTLD_GLOBAL 0x40000 -#define RTLD_LOCAL 0x80000 - -#if 1 -#define RTLD_NEXT ((void *) -1l) -#define RTLD_DEFAULT ((void *) 0) +#ifdef __cplusplus +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 +} +#endif #endif