1/*
2 * xotclDecls.h --
3 *
4 *	Declarations of functions in the platform independent public XOTcl API.
5 *
6 *  Copyright (C) 1999-2008 Gustaf Neumann, Uwe Zdun
7 *
8 * See the file "tcl-license.terms" for information on usage and redistribution
9 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
10 *
11 */
12
13#ifndef _XOTCLDECLS
14#define _XOTCLDECLS
15
16/*
17 * WARNING: This file is automatically generated by the tools/genStubs.tcl
18 * script.  Any modifications to the function declarations below should be made
19 * in the xotcl.decls script.
20 */
21
22/* !BEGIN!: Do not edit below this line. */
23
24/*
25 * Exported function declarations:
26 */
27
28/* 0 */
29EXTERN int		Xotcl_Init _ANSI_ARGS_((Tcl_Interp * interp));
30/* Slot 1 is reserved */
31/* 2 */
32EXTERN struct XOTcl_Class* XOTclIsClass _ANSI_ARGS_((Tcl_Interp* in,
33				ClientData cd));
34/* Slot 3 is reserved */
35/* 4 */
36EXTERN struct XOTcl_Object* XOTclGetObject _ANSI_ARGS_((Tcl_Interp* in,
37				char* name));
38/* 5 */
39EXTERN struct XOTcl_Class* XOTclGetClass _ANSI_ARGS_((Tcl_Interp* in,
40				char* name));
41/* 6 */
42EXTERN int		XOTclCreateObject _ANSI_ARGS_((Tcl_Interp* in,
43				Tcl_Obj* name, struct XOTcl_Class* cl));
44/* Slot 7 is reserved */
45/* 8 */
46EXTERN int		XOTclCreateClass _ANSI_ARGS_((Tcl_Interp* in,
47				Tcl_Obj* name, struct XOTcl_Class* cl));
48/* 9 */
49EXTERN int		XOTclDeleteObject _ANSI_ARGS_((Tcl_Interp* in,
50				struct XOTcl_Object* obj));
51/* 10 */
52EXTERN int		XOTclDeleteClass _ANSI_ARGS_((Tcl_Interp* in,
53				struct XOTcl_Class* cl));
54/* 11 */
55EXTERN void		XOTclAddPMethod _ANSI_ARGS_((Tcl_Interp* in,
56				struct XOTcl_Object* obj, CONST char* nm,
57				Tcl_ObjCmdProc* proc, ClientData cd,
58				Tcl_CmdDeleteProc* dp));
59/* 12 */
60EXTERN void		XOTclAddIMethod _ANSI_ARGS_((Tcl_Interp* in,
61				struct XOTcl_Class* cl, CONST char* nm,
62				Tcl_ObjCmdProc* proc, ClientData cd,
63				Tcl_CmdDeleteProc* dp));
64/* 13 */
65EXTERN void		XOTclRemovePMethod _ANSI_ARGS_((Tcl_Interp* in,
66				struct XOTcl_Object* obj, char* nm));
67/* 14 */
68EXTERN void		XOTclRemoveIMethod _ANSI_ARGS_((Tcl_Interp* in,
69				struct XOTcl_Class* cl, char* nm));
70/* 15 */
71EXTERN Tcl_Obj*		XOTclOSetInstVar _ANSI_ARGS_((
72				struct XOTcl_Object* obj, Tcl_Interp* in,
73				Tcl_Obj* name, Tcl_Obj* value, int flgs));
74/* 16 */
75EXTERN Tcl_Obj*		XOTclOGetInstVar _ANSI_ARGS_((
76				struct XOTcl_Object* obj, Tcl_Interp* in,
77				Tcl_Obj* name, int flgs));
78/* 17 */
79EXTERN int		XOTclInstVar _ANSI_ARGS_((struct XOTcl_Object* obj,
80				Tcl_Interp* in, char* name, char* destName));
81/* Slot 18 is reserved */
82/* 19 */
83EXTERN Tcl_Obj*		XOTclOSetInstVar2 _ANSI_ARGS_((
84				struct XOTcl_Object* obj, Tcl_Interp* in,
85				Tcl_Obj* name1, Tcl_Obj* name2,
86				Tcl_Obj* value, int flgs));
87/* 20 */
88EXTERN Tcl_Obj*		XOTclOGetInstVar2 _ANSI_ARGS_((
89				struct XOTcl_Object* obj, Tcl_Interp* in,
90				Tcl_Obj* name1, Tcl_Obj* name2, int flgs));
91/* 21 */
92EXTERN int		XOTclUnsetInstVar2 _ANSI_ARGS_((
93				struct XOTcl_Object* obj, Tcl_Interp* in,
94				char* name1, char* name2, int flgs));
95/* 22 */
96EXTERN int		XOTcl_TraceObjCmd _ANSI_ARGS_((ClientData cd,
97				Tcl_Interp * in, int objc,
98				Tcl_Obj *CONST objv[]));
99/* 23 */
100EXTERN int		XOTclErrMsg _ANSI_ARGS_((Tcl_Interp* in, char* msg,
101				Tcl_FreeProc* type));
102/* 24 */
103EXTERN int		XOTclVarErrMsg _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,in));
104/* 25 */
105EXTERN int		XOTclErrInProc _ANSI_ARGS_((Tcl_Interp * in,
106				Tcl_Obj* objName, Tcl_Obj* clName,
107				char* procName));
108/* 26 */
109EXTERN int		XOTclObjErrArgCnt _ANSI_ARGS_((Tcl_Interp * in,
110				Tcl_Obj * cmdname, char * arglist));
111/* 27 */
112EXTERN int		XOTclErrBadVal_ _ANSI_ARGS_((Tcl_Interp * in,
113				char * expected, char * value));
114/* 28 */
115EXTERN int		XOTclObjErrType _ANSI_ARGS_((Tcl_Interp * in,
116				Tcl_Obj * nm, char* wt));
117/* 29 */
118EXTERN void		XOTclStackDump _ANSI_ARGS_((Tcl_Interp* in));
119/* 30 */
120EXTERN void		XOTclCallStackDump _ANSI_ARGS_((Tcl_Interp* in));
121/* 31 */
122EXTERN void		XOTclDeprecatedMsg _ANSI_ARGS_((char* oldCmd,
123				char* newCmd));
124/* 32 */
125EXTERN void		XOTclSetObjClientData _ANSI_ARGS_((XOTcl_Object* obj,
126				ClientData data));
127/* 33 */
128EXTERN ClientData	XOTclGetObjClientData _ANSI_ARGS_((XOTcl_Object* obj));
129/* 34 */
130EXTERN void		XOTclSetClassClientData _ANSI_ARGS_((XOTcl_Class* cl,
131				ClientData data));
132/* 35 */
133EXTERN ClientData	XOTclGetClassClientData _ANSI_ARGS_((XOTcl_Class* cl));
134/* 36 */
135EXTERN void		XOTclRequireObjNamespace _ANSI_ARGS_((Tcl_Interp* in,
136				XOTcl_Object* obj));
137/* 37 */
138EXTERN int		XOTclErrBadVal _ANSI_ARGS_((Tcl_Interp * in,
139				char * context, char * expected,
140				char * value));
141/* 38 */
142EXTERN int		XOTclNextObjCmd _ANSI_ARGS_((ClientData cd,
143				Tcl_Interp * in, int objc,
144				Tcl_Obj *CONST objv[]));
145/* 39 */
146EXTERN int		XOTclCallMethodWithArgs _ANSI_ARGS_((ClientData cd,
147				Tcl_Interp * in, Tcl_Obj * method,
148				Tcl_Obj * arg, int objc,
149				Tcl_Obj *CONST objv[], int flags));
150
151typedef struct XotclStubHooks {
152    struct XotclIntStubs *xotclIntStubs;
153} XotclStubHooks;
154
155typedef struct XotclStubs {
156    int magic;
157    struct XotclStubHooks *hooks;
158
159    int (*xotcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 0 */
160    void *reserved1;
161    struct XOTcl_Class* (*xOTclIsClass) _ANSI_ARGS_((Tcl_Interp* in, ClientData cd)); /* 2 */
162    void *reserved3;
163    struct XOTcl_Object* (*xOTclGetObject) _ANSI_ARGS_((Tcl_Interp* in, char* name)); /* 4 */
164    struct XOTcl_Class* (*xOTclGetClass) _ANSI_ARGS_((Tcl_Interp* in, char* name)); /* 5 */
165    int (*xOTclCreateObject) _ANSI_ARGS_((Tcl_Interp* in, Tcl_Obj* name, struct XOTcl_Class* cl)); /* 6 */
166    void *reserved7;
167    int (*xOTclCreateClass) _ANSI_ARGS_((Tcl_Interp* in, Tcl_Obj* name, struct XOTcl_Class* cl)); /* 8 */
168    int (*xOTclDeleteObject) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Object* obj)); /* 9 */
169    int (*xOTclDeleteClass) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Class* cl)); /* 10 */
170    void (*xOTclAddPMethod) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Object* obj, CONST char* nm, Tcl_ObjCmdProc* proc, ClientData cd, Tcl_CmdDeleteProc* dp)); /* 11 */
171    void (*xOTclAddIMethod) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Class* cl, CONST char* nm, Tcl_ObjCmdProc* proc, ClientData cd, Tcl_CmdDeleteProc* dp)); /* 12 */
172    void (*xOTclRemovePMethod) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Object* obj, char* nm)); /* 13 */
173    void (*xOTclRemoveIMethod) _ANSI_ARGS_((Tcl_Interp* in, struct XOTcl_Class* cl, char* nm)); /* 14 */
174    Tcl_Obj* (*xOTclOSetInstVar) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, Tcl_Obj* name, Tcl_Obj* value, int flgs)); /* 15 */
175    Tcl_Obj* (*xOTclOGetInstVar) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, Tcl_Obj* name, int flgs)); /* 16 */
176    int (*xOTclInstVar) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, char* name, char* destName)); /* 17 */
177    void *reserved18;
178    Tcl_Obj* (*xOTclOSetInstVar2) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, Tcl_Obj* name1, Tcl_Obj* name2, Tcl_Obj* value, int flgs)); /* 19 */
179    Tcl_Obj* (*xOTclOGetInstVar2) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, Tcl_Obj* name1, Tcl_Obj* name2, int flgs)); /* 20 */
180    int (*xOTclUnsetInstVar2) _ANSI_ARGS_((struct XOTcl_Object* obj, Tcl_Interp* in, char* name1, char* name2, int flgs)); /* 21 */
181    int (*xOTcl_TraceObjCmd) _ANSI_ARGS_((ClientData cd, Tcl_Interp * in, int objc, Tcl_Obj *CONST objv[])); /* 22 */
182    int (*xOTclErrMsg) _ANSI_ARGS_((Tcl_Interp* in, char* msg, Tcl_FreeProc* type)); /* 23 */
183    int (*xOTclVarErrMsg) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,in)); /* 24 */
184    int (*xOTclErrInProc) _ANSI_ARGS_((Tcl_Interp * in, Tcl_Obj* objName, Tcl_Obj* clName, char* procName)); /* 25 */
185    int (*xOTclObjErrArgCnt) _ANSI_ARGS_((Tcl_Interp * in, Tcl_Obj * cmdname, char * arglist)); /* 26 */
186    int (*xOTclErrBadVal_) _ANSI_ARGS_((Tcl_Interp * in, char * expected, char * value)); /* 27 */
187    int (*xOTclObjErrType) _ANSI_ARGS_((Tcl_Interp * in, Tcl_Obj * nm, char* wt)); /* 28 */
188    void (*xOTclStackDump) _ANSI_ARGS_((Tcl_Interp* in)); /* 29 */
189    void (*xOTclCallStackDump) _ANSI_ARGS_((Tcl_Interp* in)); /* 30 */
190    void (*xOTclDeprecatedMsg) _ANSI_ARGS_((char* oldCmd, char* newCmd)); /* 31 */
191    void (*xOTclSetObjClientData) _ANSI_ARGS_((XOTcl_Object* obj, ClientData data)); /* 32 */
192    ClientData (*xOTclGetObjClientData) _ANSI_ARGS_((XOTcl_Object* obj)); /* 33 */
193    void (*xOTclSetClassClientData) _ANSI_ARGS_((XOTcl_Class* cl, ClientData data)); /* 34 */
194    ClientData (*xOTclGetClassClientData) _ANSI_ARGS_((XOTcl_Class* cl)); /* 35 */
195    void (*xOTclRequireObjNamespace) _ANSI_ARGS_((Tcl_Interp* in, XOTcl_Object* obj)); /* 36 */
196    int (*xOTclErrBadVal) _ANSI_ARGS_((Tcl_Interp * in, char * context, char * expected, char * value)); /* 37 */
197    int (*xOTclNextObjCmd) _ANSI_ARGS_((ClientData cd, Tcl_Interp * in, int objc, Tcl_Obj *CONST objv[])); /* 38 */
198    int (*xOTclCallMethodWithArgs) _ANSI_ARGS_((ClientData cd, Tcl_Interp * in, Tcl_Obj * method, Tcl_Obj * arg, int objc, Tcl_Obj *CONST objv[], int flags)); /* 39 */
199} XotclStubs;
200
201#ifdef __cplusplus
202extern "C" {
203#endif
204extern XotclStubs *xotclStubsPtr;
205#ifdef __cplusplus
206}
207#endif
208
209#if defined(USE_XOTCL_STUBS) && !defined(USE_XOTCL_STUB_PROCS)
210
211/*
212 * Inline function declarations:
213 */
214
215#ifndef Xotcl_Init
216#define Xotcl_Init \
217	(xotclStubsPtr->xotcl_Init) /* 0 */
218#endif
219/* Slot 1 is reserved */
220#ifndef XOTclIsClass
221#define XOTclIsClass \
222	(xotclStubsPtr->xOTclIsClass) /* 2 */
223#endif
224/* Slot 3 is reserved */
225#ifndef XOTclGetObject
226#define XOTclGetObject \
227	(xotclStubsPtr->xOTclGetObject) /* 4 */
228#endif
229#ifndef XOTclGetClass
230#define XOTclGetClass \
231	(xotclStubsPtr->xOTclGetClass) /* 5 */
232#endif
233#ifndef XOTclCreateObject
234#define XOTclCreateObject \
235	(xotclStubsPtr->xOTclCreateObject) /* 6 */
236#endif
237/* Slot 7 is reserved */
238#ifndef XOTclCreateClass
239#define XOTclCreateClass \
240	(xotclStubsPtr->xOTclCreateClass) /* 8 */
241#endif
242#ifndef XOTclDeleteObject
243#define XOTclDeleteObject \
244	(xotclStubsPtr->xOTclDeleteObject) /* 9 */
245#endif
246#ifndef XOTclDeleteClass
247#define XOTclDeleteClass \
248	(xotclStubsPtr->xOTclDeleteClass) /* 10 */
249#endif
250#ifndef XOTclAddPMethod
251#define XOTclAddPMethod \
252	(xotclStubsPtr->xOTclAddPMethod) /* 11 */
253#endif
254#ifndef XOTclAddIMethod
255#define XOTclAddIMethod \
256	(xotclStubsPtr->xOTclAddIMethod) /* 12 */
257#endif
258#ifndef XOTclRemovePMethod
259#define XOTclRemovePMethod \
260	(xotclStubsPtr->xOTclRemovePMethod) /* 13 */
261#endif
262#ifndef XOTclRemoveIMethod
263#define XOTclRemoveIMethod \
264	(xotclStubsPtr->xOTclRemoveIMethod) /* 14 */
265#endif
266#ifndef XOTclOSetInstVar
267#define XOTclOSetInstVar \
268	(xotclStubsPtr->xOTclOSetInstVar) /* 15 */
269#endif
270#ifndef XOTclOGetInstVar
271#define XOTclOGetInstVar \
272	(xotclStubsPtr->xOTclOGetInstVar) /* 16 */
273#endif
274#ifndef XOTclInstVar
275#define XOTclInstVar \
276	(xotclStubsPtr->xOTclInstVar) /* 17 */
277#endif
278/* Slot 18 is reserved */
279#ifndef XOTclOSetInstVar2
280#define XOTclOSetInstVar2 \
281	(xotclStubsPtr->xOTclOSetInstVar2) /* 19 */
282#endif
283#ifndef XOTclOGetInstVar2
284#define XOTclOGetInstVar2 \
285	(xotclStubsPtr->xOTclOGetInstVar2) /* 20 */
286#endif
287#ifndef XOTclUnsetInstVar2
288#define XOTclUnsetInstVar2 \
289	(xotclStubsPtr->xOTclUnsetInstVar2) /* 21 */
290#endif
291#ifndef XOTcl_TraceObjCmd
292#define XOTcl_TraceObjCmd \
293	(xotclStubsPtr->xOTcl_TraceObjCmd) /* 22 */
294#endif
295#ifndef XOTclErrMsg
296#define XOTclErrMsg \
297	(xotclStubsPtr->xOTclErrMsg) /* 23 */
298#endif
299#ifndef XOTclVarErrMsg
300#define XOTclVarErrMsg \
301	(xotclStubsPtr->xOTclVarErrMsg) /* 24 */
302#endif
303#ifndef XOTclErrInProc
304#define XOTclErrInProc \
305	(xotclStubsPtr->xOTclErrInProc) /* 25 */
306#endif
307#ifndef XOTclObjErrArgCnt
308#define XOTclObjErrArgCnt \
309	(xotclStubsPtr->xOTclObjErrArgCnt) /* 26 */
310#endif
311#ifndef XOTclErrBadVal_
312#define XOTclErrBadVal_ \
313	(xotclStubsPtr->xOTclErrBadVal_) /* 27 */
314#endif
315#ifndef XOTclObjErrType
316#define XOTclObjErrType \
317	(xotclStubsPtr->xOTclObjErrType) /* 28 */
318#endif
319#ifndef XOTclStackDump
320#define XOTclStackDump \
321	(xotclStubsPtr->xOTclStackDump) /* 29 */
322#endif
323#ifndef XOTclCallStackDump
324#define XOTclCallStackDump \
325	(xotclStubsPtr->xOTclCallStackDump) /* 30 */
326#endif
327#ifndef XOTclDeprecatedMsg
328#define XOTclDeprecatedMsg \
329	(xotclStubsPtr->xOTclDeprecatedMsg) /* 31 */
330#endif
331#ifndef XOTclSetObjClientData
332#define XOTclSetObjClientData \
333	(xotclStubsPtr->xOTclSetObjClientData) /* 32 */
334#endif
335#ifndef XOTclGetObjClientData
336#define XOTclGetObjClientData \
337	(xotclStubsPtr->xOTclGetObjClientData) /* 33 */
338#endif
339#ifndef XOTclSetClassClientData
340#define XOTclSetClassClientData \
341	(xotclStubsPtr->xOTclSetClassClientData) /* 34 */
342#endif
343#ifndef XOTclGetClassClientData
344#define XOTclGetClassClientData \
345	(xotclStubsPtr->xOTclGetClassClientData) /* 35 */
346#endif
347#ifndef XOTclRequireObjNamespace
348#define XOTclRequireObjNamespace \
349	(xotclStubsPtr->xOTclRequireObjNamespace) /* 36 */
350#endif
351#ifndef XOTclErrBadVal
352#define XOTclErrBadVal \
353	(xotclStubsPtr->xOTclErrBadVal) /* 37 */
354#endif
355#ifndef XOTclNextObjCmd
356#define XOTclNextObjCmd \
357	(xotclStubsPtr->xOTclNextObjCmd) /* 38 */
358#endif
359#ifndef XOTclCallMethodWithArgs
360#define XOTclCallMethodWithArgs \
361	(xotclStubsPtr->xOTclCallMethodWithArgs) /* 39 */
362#endif
363
364#endif /* defined(USE_XOTCL_STUBS) && !defined(USE_XOTCL_STUB_PROCS) */
365
366/* !END!: Do not edit above this line. */
367
368#endif /* _XOTCLDECLS */
369
370