]> git.proxmox.com Git - mirror_iproute2.git/blob - include/dlfcn.h
Merge branch 'master' into net-next
[mirror_iproute2.git] / include / dlfcn.h
1 /*
2 * Stub dlfcn implementation for systems that lack shared library support
3 * but obviously can still reference compiled-in symbols.
4 */
5
6 #ifndef NO_SHARED_LIBS
7 #include_next <dlfcn.h>
8 #else
9
10 #define RTLD_LAZY 0
11 #define RTLD_GLOBAL 1
12 #define _FAKE_DLFCN_HDL (void *)0xbeefcafe
13
14 static inline void *dlopen(const char *file, int flag)
15 {
16 if (file == NULL)
17 return _FAKE_DLFCN_HDL;
18 else
19 return NULL;
20 }
21
22 extern void *_dlsym(const char *sym);
23 static inline void *dlsym(void *handle, const char *sym)
24 {
25 if (handle != _FAKE_DLFCN_HDL)
26 return NULL;
27 return _dlsym(sym);
28 }
29
30 static inline char *dlerror(void)
31 {
32 return NULL;
33 }
34
35 static inline int dlclose(void *handle)
36 {
37 return (handle == _FAKE_DLFCN_HDL) ? 0 : 1;
38 }
39
40 #endif