New doc system done for core
[io.git] / libs / iovm / source / IoDynLib.h
blob3fccfa9243e42d1c1b56a76d61317a5ae407a332
2 //metadoc DynLib copyright Steve Dekorte 2002
3 //metadoc DynLib license BSD revised
4 /*metadoc DynLib description
5 Contributed by Kentaro A. Kurahone <kurahone@sigusr1.org>
6 This object can dynamically load a shared library
7 */
9 #ifndef IODYNLIB_DEFINED
10 #define IODYNLIB_DEFINED 1
12 #include "Common.h"
13 #include "IoObject.h"
14 #include "IoState.h"
15 #include "IoSeq.h"
16 #include "IoMessage.h"
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
22 //void (*initFunc)(void);
24 typedef IoObject IoDynLib;
26 // Generic functions
28 IoObject *IoDynLib_proto(void *state);
29 IoDynLib *IoDynLib_new(void *state);
30 IoDynLib *IoDynLib_rawClone(IoDynLib *self);
31 void IoDynLib_free(IoDynLib *self);
33 // Methods
35 IoDynLib *IoDynLib_setPath(IoDynLib *self, IoObject *locals, IoMessage *m);
36 IoDynLib *IoDynLib_path(IoDynLib *self, IoObject *locals, IoMessage *m);
38 IoDynLib *IoDynLib_setInitFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
39 IoDynLib *IoDynLib_initFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
41 IoDynLib *IoDynLib_setFreeFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
42 IoDynLib *IoDynLib_freeFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
44 IoObject *IoDynLib_open(IoDynLib *self, IoObject *locals, IoMessage *m);
45 IoObject *IoDynLib_close(IoDynLib *self, IoObject *locals, IoMessage *m);
46 IoObject *IoDynLib_isOpen(IoDynLib *self, IoObject *locals, IoMessage *m);
48 IoObject *IoDynLib_call(IoDynLib *self, IoObject *locals, IoMessage *m);
49 IoDynLib *IoDynLib_voidCall(IoDynLib *self, IoObject *locals, IoMessage *m);
51 IoDynLib *IoDynLib_callPluginInitFunc(IoDynLib *self, IoObject *locals, IoMessage *m);
52 //IoSeq *IoDynLib_returnsString(IoDynLib *self, IoObject *locals, IoMessage *m);
54 #ifdef __cplusplus
56 #endif
57 #endif