Spaces:
Sleeping
Sleeping
/* this is just to provide the definition. This struct is only used if | |
* infoPtr->useOldResolvers == 0 which is not the default | |
*/ | |
typedef Tcl_Command (Tcl_CmdAliasProc)(Tcl_Interp *interp, | |
Tcl_Namespace *nsPtr, const char *cmdName, | |
ClientData clientData); | |
typedef Tcl_Var (Tcl_VarAliasProc)(Tcl_Interp *interp, | |
Tcl_Namespace *nsPtr, const char *varName, | |
ClientData clientData); | |
typedef struct Tcl_Resolve { | |
Tcl_VarAliasProc *varProcPtr; | |
Tcl_CmdAliasProc *cmdProcPtr; | |
ClientData clientData; | |
} Tcl_Resolve; | |
struct Tcl_ResolvedVarInfo; | |
typedef Tcl_Var (Tcl_ResolveRuntimeVarProc)(Tcl_Interp *interp, | |
struct Tcl_ResolvedVarInfo *vinfoPtr); | |
typedef void (Tcl_ResolveVarDeleteProc)(struct Tcl_ResolvedVarInfo *vinfoPtr); | |
/* | |
* The following structure encapsulates the routines needed to resolve a | |
* variable reference at runtime. Any variable specific state will typically | |
* be appended to this structure. | |
*/ | |
typedef struct Tcl_ResolvedVarInfo { | |
Tcl_ResolveRuntimeVarProc *fetchProc; | |
Tcl_ResolveVarDeleteProc *deleteProc; | |
} Tcl_ResolvedVarInfo; | |
typedef int (Tcl_ResolveCompiledVarProc) (Tcl_Interp *interp, | |
const char *name, int length, Tcl_Namespace *context, | |
Tcl_ResolvedVarInfo **rPtr); | |
typedef int (Tcl_ResolveVarProc) (Tcl_Interp *interp, const char *name, | |
Tcl_Namespace *context, int flags, Tcl_Var *rPtr); | |
typedef int (Tcl_ResolveCmdProc) (Tcl_Interp *interp, const char *name, | |
Tcl_Namespace *context, int flags, Tcl_Command *rPtr); | |
typedef struct Tcl_ResolverInfo { | |
Tcl_ResolveCmdProc *cmdResProc; | |
/* Procedure handling command name | |
* resolution. */ | |
Tcl_ResolveVarProc *varResProc; | |
/* Procedure handling variable name resolution | |
* for variables that can only be handled at | |
* runtime. */ | |
Tcl_ResolveCompiledVarProc *compiledVarResProc; | |
/* Procedure handling variable name resolution | |
* at compile time. */ | |
} Tcl_ResolverInfo; | |
/* here come the definitions for code which should be migrated to Tcl core */ | |
/* these functions DO NOT exist and are not published */ | |
typedef struct Tcl_Proc_ *Tcl_Proc; | |
MODULE_SCOPE Tcl_Var Tcl_NewNamespaceVar(Tcl_Interp *interp, Tcl_Namespace *nsPtr, | |
const char *varName); | |
MODULE_SCOPE void Itcl_PreserveVar(Tcl_Var var); | |
MODULE_SCOPE void Itcl_ReleaseVar(Tcl_Var var); | |
MODULE_SCOPE int Itcl_IsCallFrameArgument(Tcl_Interp *interp, const char *name); | |
MODULE_SCOPE int Itcl_GetCallVarFrameObjc(Tcl_Interp *interp); | |
MODULE_SCOPE Tcl_Obj * const * Itcl_GetCallVarFrameObjv(Tcl_Interp *interp); | |
MODULE_SCOPE int _Tcl_SetNamespaceResolver(Tcl_Namespace *nsPtr, | |
struct Tcl_Resolve *resolvePtr); | |