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