2060
|
1 /* |
|
2 * @(#)dlfcn.h 1.4 revision of 95/04/25 09:36:52 |
|
3 * This is an unpublished work copyright (c) 1992 HELIOS Software GmbH |
|
4 * 30159 Hannover, Germany |
|
5 */ |
|
6 |
|
7 #ifndef __dlfcn_h__ |
|
8 #define __dlfcn_h__ |
|
9 |
|
10 #ifdef __cplusplus |
|
11 extern "C" { |
|
12 #endif |
|
13 |
|
14 /* |
|
15 * Mode flags for the dlopen routine. |
|
16 */ |
|
17 #define RTLD_LAZY 1 /* lazy function call binding */ |
|
18 #define RTLD_NOW 2 /* immediate function call binding */ |
|
19 #define RTLD_GLOBAL 0x100 /* allow symbols to be global */ |
|
20 |
|
21 /* |
|
22 * To be able to intialize, a library may provide a dl_info structure |
|
23 * that contains functions to be called to initialize and terminate. |
|
24 */ |
|
25 struct dl_info { |
|
26 void (*init)(void); |
|
27 void (*fini)(void); |
|
28 }; |
|
29 |
|
30 #if __STDC__ || defined(_IBMR2) |
|
31 void *dlopen(const char *path, int mode); |
|
32 void *dlsym(void *handle, const char *symbol); |
|
33 char *dlerror(void); |
|
34 int dlclose(void *handle); |
|
35 #else |
|
36 void *dlopen(); |
|
37 void *dlsym(); |
|
38 char *dlerror(); |
|
39 int dlclose(); |
|
40 #endif |
|
41 |
|
42 #ifdef __cplusplus |
|
43 } |
|
44 #endif |
|
45 |
|
46 #endif /* __dlfcn_h__ */ |