Add heimdal-0.6.3
[dragonfly.git] / crypto / heimdal-0.6.3 / lib / kafs / dlfcn.h
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 initialize, 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__ */