Fixed a lazySlot bug where lazy slots in different objects end up pointing to the...
[io/quag.git] / libs / iovm / source / IoDynLib.h
blob7f7c2cb8ba99cbc15c688fc1f2dd263282ce6442
1 /*#io
2 DynLib ioDoc(
3 docCopyright("Steve Dekorte", 2002)
4 docLicense("BSD revised")
5 docDescription("
6 Contributed by Kentaro A. Kurahone <kurahone@sigusr1.org>
7 This object can dynamically load a shared library
8 ")
9 */
11 #ifndef IODYNLIB_DEFINED
12 #define IODYNLIB_DEFINED 1
14 #include "Common.h"
15 #include "IoObject.h"
16 #include "IoState.h"
17 #include "IoSeq.h"
18 #include "IoMessage.h"
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
24 //void (*initFunc)(void);
26 typedef IoObject IoDynLib;
28 // Generic functions
30 IoObject *IoDynLib_proto(void *state);
31 IoDynLib *IoDynLib_new(void *state);
32 IoDynLib *IoDynLib_rawClone(IoDynLib *self);
33 void IoDynLib_free(IoDynLib *self);
35 // Methods
37 IoDynLib *IoDynLib_setPath(IoDynLib *self, IoObject *locals, IoMessage *m);
38 IoDynLib *IoDynLib_path(IoDynLib *self, IoObject *locals, IoMessage *m);
40 IoDynLib *IoDynLib_setInitFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
41 IoDynLib *IoDynLib_initFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
43 IoDynLib *IoDynLib_setFreeFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
44 IoDynLib *IoDynLib_freeFuncName(IoDynLib *self, IoObject *locals, IoMessage *m);
46 IoObject *IoDynLib_open(IoDynLib *self, IoObject *locals, IoMessage *m);
47 IoObject *IoDynLib_close(IoDynLib *self, IoObject *locals, IoMessage *m);
48 IoObject *IoDynLib_isOpen(IoDynLib *self, IoObject *locals, IoMessage *m);
50 IoObject *IoDynLib_call(IoDynLib *self, IoObject *locals, IoMessage *m);
51 IoDynLib *IoDynLib_voidCall(IoDynLib *self, IoObject *locals, IoMessage *m);
53 IoDynLib *IoDynLib_callPluginInitFunc(IoDynLib *self, IoObject *locals, IoMessage *m);
54 IoSeq *IoDynLib_returnsString(IoDynLib *self, IoObject *locals, IoMessage *m);
56 #ifdef __cplusplus
58 #endif
59 #endif