annotate dlfcn/dlfcn.h @ 4720:e759d01692db ss-2-1-53

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