Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-05-18 08:30:03

0001 #ifndef ITCL_USE_MODIFIED_TCL_H
0002 /* this is just to provide the definition. This struct is only used if
0003  * infoPtr->useOldResolvers == 0 which is not the default
0004  */
0005 #define FRAME_HAS_RESOLVER 0x100
0006 typedef Tcl_Command (Tcl_CmdAliasProc)(Tcl_Interp *interp,
0007         Tcl_Namespace *nsPtr, const char *cmdName,
0008         ClientData clientData);
0009 typedef Tcl_Var (Tcl_VarAliasProc)(Tcl_Interp *interp,
0010         Tcl_Namespace *nsPtr, const char *varName,
0011         ClientData clientData);
0012 
0013 #ifndef _TCL_RESOLVE_DEFINED
0014 typedef struct Tcl_Resolve {
0015     Tcl_VarAliasProc *varProcPtr;
0016     Tcl_CmdAliasProc *cmdProcPtr;
0017     ClientData clientData;
0018 } Tcl_Resolve;
0019 #define _TCL_RESOLVE_DEFINED 1
0020 #endif
0021 #endif
0022 
0023 #ifndef _TCLINT
0024 struct Tcl_ResolvedVarInfo;
0025 
0026 typedef Tcl_Var (Tcl_ResolveRuntimeVarProc)(Tcl_Interp *interp,
0027     struct Tcl_ResolvedVarInfo *vinfoPtr);
0028 
0029 typedef void (Tcl_ResolveVarDeleteProc)(struct Tcl_ResolvedVarInfo *vinfoPtr);
0030 
0031 /*
0032  * The following structure encapsulates the routines needed to resolve a
0033  * variable reference at runtime. Any variable specific state will typically
0034  * be appended to this structure.
0035  */
0036 
0037 typedef struct Tcl_ResolvedVarInfo {
0038     Tcl_ResolveRuntimeVarProc *fetchProc;
0039     Tcl_ResolveVarDeleteProc *deleteProc;
0040 } Tcl_ResolvedVarInfo;
0041 
0042 typedef int (Tcl_ResolveCompiledVarProc) (Tcl_Interp *interp,
0043     const char *name, int length, Tcl_Namespace *context,
0044     Tcl_ResolvedVarInfo **rPtr);
0045 
0046 typedef int (Tcl_ResolveVarProc) (Tcl_Interp *interp, const char *name,
0047     Tcl_Namespace *context, int flags, Tcl_Var *rPtr);
0048 
0049 typedef int (Tcl_ResolveCmdProc) (Tcl_Interp *interp, const char *name,
0050     Tcl_Namespace *context, int flags, Tcl_Command *rPtr);
0051 
0052 typedef struct Tcl_ResolverInfo {
0053     Tcl_ResolveCmdProc *cmdResProc;
0054                 /* Procedure handling command name
0055                  * resolution. */
0056     Tcl_ResolveVarProc *varResProc;
0057                 /* Procedure handling variable name resolution
0058                  * for variables that can only be handled at
0059                  * runtime. */
0060     Tcl_ResolveCompiledVarProc *compiledVarResProc;
0061                 /* Procedure handling variable name resolution
0062                  * at compile time. */
0063 } Tcl_ResolverInfo;
0064 #endif
0065 
0066 
0067 /* here come the definitions for code which should be migrated to Tcl core */
0068 /* these functions DO NOT exist and are not published */
0069 #ifndef _TCL_PROC_DEFINED
0070 typedef struct Tcl_Proc_ *Tcl_Proc;
0071 #define _TCL_PROC_DEFINED 1
0072 #endif
0073 
0074 MODULE_SCOPE Tcl_Var Tcl_NewNamespaceVar(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
0075     const char *varName);
0076 MODULE_SCOPE void Itcl_PreserveVar(Tcl_Var var);
0077 MODULE_SCOPE void Itcl_ReleaseVar(Tcl_Var var);
0078 MODULE_SCOPE int Itcl_IsCallFrameArgument(Tcl_Interp *interp, const char *name);
0079 MODULE_SCOPE int Itcl_GetCallVarFrameObjc(Tcl_Interp *interp);
0080 MODULE_SCOPE Tcl_Obj * const * Itcl_GetCallVarFrameObjv(Tcl_Interp *interp);
0081 #define Tcl_SetNamespaceResolver _Tcl_SetNamespaceResolver
0082 MODULE_SCOPE int _Tcl_SetNamespaceResolver(Tcl_Namespace *nsPtr,
0083         struct Tcl_Resolve *resolvePtr);