5b57e8acf48f21683b1e08fde0a998c576a18aad
[musl] / include / dlfcn.h
1 #ifndef _DLFCN_H
2 #define _DLFCN_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <features.h>
9
10 #define RTLD_LAZY   1
11 #define RTLD_NOW    2
12 #define RTLD_NOLOAD 4
13 #define RTLD_GLOBAL 256
14 #define RTLD_LOCAL  0
15
16 #define RTLD_NEXT    ((void *)-1)
17 #define RTLD_DEFAULT ((void *)0)
18
19 int    dlclose(void *);
20 char  *dlerror(void);
21 void  *dlopen(const char *, int);
22 void  *dlsym(void *__restrict, const char *__restrict);
23
24 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
25 typedef struct {
26         const char *dli_fname;
27         void *dli_fbase;
28         const char *dli_sname;
29         void *dli_saddr;
30 } Dl_info;
31 int dladdr(void *, Dl_info *);
32 #endif
33
34 #ifdef __cplusplus
35 }
36 #endif
37
38 #endif