fix reversed argument order x86_64 sigsetjmp's call to sigprocmask
[musl] / include / dlfcn.h
index 81b829c..e2f57b5 100644 (file)
@@ -1,19 +1,39 @@
 #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 <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)
+
 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