/* based on DynLib.c contributed by Daniel A. Koepke
* Reorg, Steve Dekorte, 2003-08-30
* See _BSDLicense.txt
*/
#ifndef DYNLIB_DEFINED
#define DYNLIB_DEFINED 1
#include "Common.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void DynLibNoArgFunction(void);
typedef void DynLibOneArgFunction(void *arg);
typedef struct
{
char *path;
char *initFuncName;
void *initArg;
char *freeFuncName;
void *freeArg;
char *error;
void *handle;
int refCount;
} DynLib;
BASEKIT_API DynLib *DynLib_new(void);
BASEKIT_API void DynLib_free(DynLib *self);
BASEKIT_API void DynLib_setPath_(DynLib *self, const char *path);
BASEKIT_API char *DynLib_path(DynLib *self);
BASEKIT_API void DynLib_setInitFuncName_(DynLib *self, const char *name);
BASEKIT_API char *DynLib_initFuncName(DynLib *self);
BASEKIT_API void DynLib_setInitArg_(DynLib *self, void *arg);
BASEKIT_API void DynLib_setFreeFuncName_(DynLib *self, const char *name);
BASEKIT_API char *DynLib_freeFuncName(DynLib *self);
BASEKIT_API void DynLib_setFreeArg_(DynLib *self, void *arg);
BASEKIT_API void DynLib_setError_(DynLib *self, const char *path);
BASEKIT_API char *DynLib_error(DynLib *self);
BASEKIT_API void DynLib_open(DynLib *self);
BASEKIT_API unsigned char DynLib_isOpen(DynLib *self);
BASEKIT_API void DynLib_close(DynLib *self);
BASEKIT_API void *DynLib_pointerForSymbolName_(DynLib *self, const char *symbolName);
#ifdef __cplusplus
}
#endif
#endif
syntax highlighted by Code2HTML, v. 0.9.1