X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fdlfcn.h;h=53871ee033fad18c493e21e472daee3d0697eae7;hp=cdca9ec6e52ae076cf39b77c19b038cbf5a84d29;hb=453059571c9dc84dd168631eced25ec2d7afd98e;hpb=87a30ce50d390422b3f4f0bd0e3f0664fb6a7da7 diff --git a/include/dlfcn.h b/include/dlfcn.h index cdca9ec6..53871ee0 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -1,19 +1,41 @@ #ifndef _DLFCN_H #define _DLFCN_H +#ifdef __cplusplus +extern "C" { +#endif + +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + #define RTLD_LAZY 1 #define RTLD_NOW 2 #define RTLD_GLOBAL 256 #define RTLD_LOCAL 0 -#if 1 -#define RTLD_NEXT ((void *) -1l) -#define RTLD_DEFAULT ((void *) 0) -#endif +#define RTLD_NEXT ((void *)-1) +#define RTLD_DEFAULT ((void *)0) 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 *); +#endif + +#ifdef __cplusplus +} +#endif #endif