1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #ifndef ITCL_USE_MODIFIED_TCL_H
- /* this is just to provide the definition. This struct is only used if
- * infoPtr->useOldResolvers == 0 which is not the default
- */
- #define FRAME_HAS_RESOLVER 0x100
- 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);
- #ifndef _TCL_RESOLVE_DEFINED
- typedef struct Tcl_Resolve {
- Tcl_VarAliasProc *varProcPtr;
- Tcl_CmdAliasProc *cmdProcPtr;
- ClientData clientData;
- } Tcl_Resolve;
- #define _TCL_RESOLVE_DEFINED 1
- #endif
- #endif
- #ifndef _TCLINT
- 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;
- #endif
- /* here come the definitions for code which should be migrated to Tcl core */
- /* these functions DO NOT exist and are not published */
- #ifndef _TCL_PROC_DEFINED
- typedef struct Tcl_Proc_ *Tcl_Proc;
- #define _TCL_PROC_DEFINED 1
- #endif
- 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);
- #define Tcl_SetNamespaceResolver _Tcl_SetNamespaceResolver
- MODULE_SCOPE int _Tcl_SetNamespaceResolver(Tcl_Namespace *nsPtr,
- struct Tcl_Resolve *resolvePtr);
|