xref: /aosp_15_r20/external/musl/include/dlfcn.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #ifndef	_DLFCN_H
2*c9945492SAndroid Build Coastguard Worker #define	_DLFCN_H
3*c9945492SAndroid Build Coastguard Worker 
4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
5*c9945492SAndroid Build Coastguard Worker extern "C" {
6*c9945492SAndroid Build Coastguard Worker #endif
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #include <features.h>
9*c9945492SAndroid Build Coastguard Worker 
10*c9945492SAndroid Build Coastguard Worker #define RTLD_LAZY   1
11*c9945492SAndroid Build Coastguard Worker #define RTLD_NOW    2
12*c9945492SAndroid Build Coastguard Worker #define RTLD_NOLOAD 4
13*c9945492SAndroid Build Coastguard Worker #define RTLD_NODELETE 4096
14*c9945492SAndroid Build Coastguard Worker #define RTLD_GLOBAL 256
15*c9945492SAndroid Build Coastguard Worker #define RTLD_LOCAL  0
16*c9945492SAndroid Build Coastguard Worker 
17*c9945492SAndroid Build Coastguard Worker #define RTLD_NEXT    ((void *)-1)
18*c9945492SAndroid Build Coastguard Worker #define RTLD_DEFAULT ((void *)0)
19*c9945492SAndroid Build Coastguard Worker 
20*c9945492SAndroid Build Coastguard Worker #define RTLD_DI_LINKMAP 2
21*c9945492SAndroid Build Coastguard Worker 
22*c9945492SAndroid Build Coastguard Worker int    dlclose(void *);
23*c9945492SAndroid Build Coastguard Worker char  *dlerror(void);
24*c9945492SAndroid Build Coastguard Worker void  *dlopen(const char *, int);
25*c9945492SAndroid Build Coastguard Worker void  *dlsym(void *__restrict, const char *__restrict);
26*c9945492SAndroid Build Coastguard Worker 
27*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
28*c9945492SAndroid Build Coastguard Worker typedef struct {
29*c9945492SAndroid Build Coastguard Worker 	const char *dli_fname;
30*c9945492SAndroid Build Coastguard Worker 	void *dli_fbase;
31*c9945492SAndroid Build Coastguard Worker 	const char *dli_sname;
32*c9945492SAndroid Build Coastguard Worker 	void *dli_saddr;
33*c9945492SAndroid Build Coastguard Worker } Dl_info;
34*c9945492SAndroid Build Coastguard Worker int dladdr(const void *, Dl_info *);
35*c9945492SAndroid Build Coastguard Worker int dlinfo(void *, int, void *);
36*c9945492SAndroid Build Coastguard Worker #endif
37*c9945492SAndroid Build Coastguard Worker 
38*c9945492SAndroid Build Coastguard Worker #if _REDIR_TIME64
39*c9945492SAndroid Build Coastguard Worker __REDIR(dlsym, __dlsym_time64);
40*c9945492SAndroid Build Coastguard Worker #endif
41*c9945492SAndroid Build Coastguard Worker 
42*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
43*c9945492SAndroid Build Coastguard Worker }
44*c9945492SAndroid Build Coastguard Worker #endif
45*c9945492SAndroid Build Coastguard Worker 
46*c9945492SAndroid Build Coastguard Worker #endif
47