#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 , 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