Blob Blame History Raw
#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);

#ifdef __cplusplus
}
#endif

#endif