Index: fusl/include/dlfcn.h |
diff --git a/fusl/include/dlfcn.h b/fusl/include/dlfcn.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..78fb0733b2eb82be221e2e26fb5df369be7bb715 |
--- /dev/null |
+++ b/fusl/include/dlfcn.h |
@@ -0,0 +1,42 @@ |
+#ifndef _DLFCN_H |
+#define _DLFCN_H |
+ |
+#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) |
+ |
+#define RTLD_DI_LINKMAP 2 |
+ |
+int dlclose(void *); |
+char *dlerror(void); |
+void *dlopen(const char *, int); |
+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(const void *, Dl_info *); |
+int dlinfo(void *, int, void *); |
+#endif |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif |