implement minimal dlinfo function
[musl] / include / dlfcn.h
index dea74c7..db26194 100644 (file)
@@ -5,18 +5,35 @@
 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)
 
+#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
 }