/* * nsfDecls.h -- * * Declarations of functions in the platform independent public Nsf API. * * This file is part of the Next Scripting Framework. * * Copyright (C) 1999-2011 Gustaf Neumann * Copyright (C) 1999-2007 Uwe Zdun * * See the file "tcl-license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * */ #ifndef _XOTCLDECLS #define _XOTCLDECLS /* * WARNING: This file is automatically generated by the tools/genStubs.tcl * script. Any modifications to the function declarations below should be made * in the nsf.decls script. */ /* !BEGIN!: Do not edit below this line. */ /* * Exported function declarations: */ /* 0 */ EXTERN int Nsf_Init(Tcl_Interp *interp); /* Slot 1 is reserved */ /* 2 */ EXTERN struct Nsf_Class * NsfIsClass(Tcl_Interp *interp, ClientData cd); /* 3 */ EXTERN struct Nsf_Object * NsfGetObject(Tcl_Interp *interp, CONST char *name); /* 4 */ EXTERN struct Nsf_Class * NsfGetClass(Tcl_Interp *interp, CONST char *name); /* 5 */ EXTERN int NsfDeleteObject(Tcl_Interp *interp, struct Nsf_Object *object); /* 6 */ EXTERN int NsfRemoveObjectMethod(Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm); /* 7 */ EXTERN int NsfRemoveClassMethod(Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm); /* 8 */ EXTERN Tcl_Obj * Nsf_ObjSetVar2(struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, Tcl_Obj *value, int flgs); /* 9 */ EXTERN Tcl_Obj * Nsf_ObjGetVar2(struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, int flgs); /* 10 */ EXTERN int Nsf_UnsetVar2(struct Nsf_Object *object, Tcl_Interp *interp, CONST char *name1, CONST char *name2, int flgs); /* 11 */ EXTERN void NsfDStringPrintf(Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc); /* 12 */ EXTERN int NsfPrintError(Tcl_Interp *interp, CONST char *fmt, ...); /* 13 */ EXTERN int NsfErrInProc(Tcl_Interp *interp, Tcl_Obj *objName, Tcl_Obj *clName, CONST char *procName); /* 14 */ EXTERN int NsfObjErrType(Tcl_Interp *interp, CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 15 */ EXTERN void NsfStackDump(Tcl_Interp *interp); /* 16 */ EXTERN void NsfSetObjClientData(Tcl_Interp *interp, Nsf_Object *object, ClientData data); /* 17 */ EXTERN ClientData NsfGetObjClientData(Tcl_Interp *interp, Nsf_Object *object); /* 18 */ EXTERN void NsfSetClassClientData(Tcl_Interp *interp, Nsf_Class *cl, ClientData data); /* 19 */ EXTERN ClientData NsfGetClassClientData(Tcl_Interp *interp, Nsf_Class *cl); /* 20 */ EXTERN void NsfRequireObjNamespace(Tcl_Interp *interp, Nsf_Object *object); /* 21 */ EXTERN int NsfCallMethodWithArgs(Tcl_Interp *interp, Nsf_Object *object, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags); /* 22 */ EXTERN int NsfAddObjectMethod(Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 23 */ EXTERN int NsfAddClassMethod(Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 24 */ EXTERN int NsfCreate(Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, int objc, Tcl_Obj *CONST objv[]); typedef struct NsfStubHooks { const struct NsfIntStubs *nsfIntStubs; } NsfStubHooks; typedef struct NsfStubs { int magic; const struct NsfStubHooks *hooks; int (*nsf_Init) (Tcl_Interp *interp); /* 0 */ void (*reserved1)(void); struct Nsf_Class * (*nsfIsClass) (Tcl_Interp *interp, ClientData cd); /* 2 */ struct Nsf_Object * (*nsfGetObject) (Tcl_Interp *interp, CONST char *name); /* 3 */ struct Nsf_Class * (*nsfGetClass) (Tcl_Interp *interp, CONST char *name); /* 4 */ int (*nsfDeleteObject) (Tcl_Interp *interp, struct Nsf_Object *object); /* 5 */ int (*nsfRemoveObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm); /* 6 */ int (*nsfRemoveClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm); /* 7 */ Tcl_Obj * (*nsf_ObjSetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, Tcl_Obj *value, int flgs); /* 8 */ Tcl_Obj * (*nsf_ObjGetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, int flgs); /* 9 */ int (*nsf_UnsetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, CONST char *name1, CONST char *name2, int flgs); /* 10 */ void (*nsfDStringPrintf) (Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc); /* 11 */ int (*nsfPrintError) (Tcl_Interp *interp, CONST char *fmt, ...); /* 12 */ int (*nsfErrInProc) (Tcl_Interp *interp, Tcl_Obj *objName, Tcl_Obj *clName, CONST char *procName); /* 13 */ int (*nsfObjErrType) (Tcl_Interp *interp, CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 14 */ void (*nsfStackDump) (Tcl_Interp *interp); /* 15 */ void (*nsfSetObjClientData) (Tcl_Interp *interp, Nsf_Object *object, ClientData data); /* 16 */ ClientData (*nsfGetObjClientData) (Tcl_Interp *interp, Nsf_Object *object); /* 17 */ void (*nsfSetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl, ClientData data); /* 18 */ ClientData (*nsfGetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl); /* 19 */ void (*nsfRequireObjNamespace) (Tcl_Interp *interp, Nsf_Object *object); /* 20 */ int (*nsfCallMethodWithArgs) (Tcl_Interp *interp, Nsf_Object *object, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], int flags); /* 21 */ int (*nsfAddObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 22 */ int (*nsfAddClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, int flags); /* 23 */ int (*nsfCreate) (Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, int objc, Tcl_Obj *CONST objv[]); /* 24 */ } NsfStubs; #ifdef __cplusplus extern "C" { #endif extern const NsfStubs *nsfStubsPtr; #ifdef __cplusplus } #endif #if defined(USE_NSF_STUBS) /* * Inline function declarations: */ #define Nsf_Init \ (nsfStubsPtr->nsf_Init) /* 0 */ /* Slot 1 is reserved */ #define NsfIsClass \ (nsfStubsPtr->nsfIsClass) /* 2 */ #define NsfGetObject \ (nsfStubsPtr->nsfGetObject) /* 3 */ #define NsfGetClass \ (nsfStubsPtr->nsfGetClass) /* 4 */ #define NsfDeleteObject \ (nsfStubsPtr->nsfDeleteObject) /* 5 */ #define NsfRemoveObjectMethod \ (nsfStubsPtr->nsfRemoveObjectMethod) /* 6 */ #define NsfRemoveClassMethod \ (nsfStubsPtr->nsfRemoveClassMethod) /* 7 */ #define Nsf_ObjSetVar2 \ (nsfStubsPtr->nsf_ObjSetVar2) /* 8 */ #define Nsf_ObjGetVar2 \ (nsfStubsPtr->nsf_ObjGetVar2) /* 9 */ #define Nsf_UnsetVar2 \ (nsfStubsPtr->nsf_UnsetVar2) /* 10 */ #define NsfDStringPrintf \ (nsfStubsPtr->nsfDStringPrintf) /* 11 */ #define NsfPrintError \ (nsfStubsPtr->nsfPrintError) /* 12 */ #define NsfErrInProc \ (nsfStubsPtr->nsfErrInProc) /* 13 */ #define NsfObjErrType \ (nsfStubsPtr->nsfObjErrType) /* 14 */ #define NsfStackDump \ (nsfStubsPtr->nsfStackDump) /* 15 */ #define NsfSetObjClientData \ (nsfStubsPtr->nsfSetObjClientData) /* 16 */ #define NsfGetObjClientData \ (nsfStubsPtr->nsfGetObjClientData) /* 17 */ #define NsfSetClassClientData \ (nsfStubsPtr->nsfSetClassClientData) /* 18 */ #define NsfGetClassClientData \ (nsfStubsPtr->nsfGetClassClientData) /* 19 */ #define NsfRequireObjNamespace \ (nsfStubsPtr->nsfRequireObjNamespace) /* 20 */ #define NsfCallMethodWithArgs \ (nsfStubsPtr->nsfCallMethodWithArgs) /* 21 */ #define NsfAddObjectMethod \ (nsfStubsPtr->nsfAddObjectMethod) /* 22 */ #define NsfAddClassMethod \ (nsfStubsPtr->nsfAddClassMethod) /* 23 */ #define NsfCreate \ (nsfStubsPtr->nsfCreate) /* 24 */ #endif /* defined(USE_NSF_STUBS) */ /* !END!: Do not edit above this line. */ #endif /* _XOTCLDECLS */