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