blob: 2b9d39915cd6184c38cea0a1ffd7fbf15d4be0c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#ifndef SLTDL_H
#define SLTDL_H
#include "sltdl_api.h"
#ifdef __cplusplus
extern "C" {
#endif
/**********************************************************************/
/* */
/* this header povides projects that depend on ltdl's interfaces the */
/* most necessary macro definitions, type definitions, and forward */
/* declarations. */
/* */
/* if your library or utility does not yet use libltdl, then it is */
/* strongly recommended that you use the various posix interfaces as */
/* defined in <dlfcn.h>, and accordingly refrain from using libsltdl */
/* altogether. */
/* */
/**********************************************************************/
typedef struct lt_modctx * lt_dlhandle;
typedef struct lt_modctl * lt_dladvise;
/* global reference-counting */
lt_api int lt_dlinit(void);
lt_api int lt_dlexit(void);
/* library search path */
lt_api int lt_dlpathopen(const char *, const char **);
lt_api int lt_dladdsearchdir(const char *);
lt_api int lt_dlinsertsearchdir(const char *, const char *);
lt_api int lt_dlsetsearchpath(const char *);
lt_api const char * lt_dlgetsearchpath(void);
/* module interfaces */
lt_api lt_dlhandle lt_dlopen(const char *);
lt_api lt_dlhandle lt_dlopenext(const char *);
lt_api lt_dlhandle lt_dlopenadvise(const char *, struct lt_modctl *);
lt_api void * lt_dlsym(lt_dlhandle, const char *);
lt_api int lt_dlclose(lt_dlhandle);
lt_api const char * lt_dlerror(void);
#ifdef __cplusplus
}
#endif
#endif
|