⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tclint.h

📁 tcl是工具命令语言
💻 H
📖 第 1 页 / 共 5 页
字号:
 *			progress. Zero means a command proc has been *			invoked since last error occured. * ERR_ALREADY_LOGGED:	Non-zero means information has already been logged *			in $errorInfo for the current Tcl_Eval instance, *			so Tcl_Eval needn't log it (used to implement the *			"error message log" command). * ERROR_CODE_SET:	Non-zero means that Tcl_SetErrorCode has been *			called to record information for the current *			error.	Zero means Tcl_Eval must clear the *			errorCode variable if an error is returned. * EXPR_INITIALIZED:	Non-zero means initialization specific to *			expressions has	been carried out. * DONT_COMPILE_CMDS_INLINE: Non-zero means that the bytecode compiler *			should not compile any commands into an inline *			sequence of instructions. This is set 1, for *			example, when command traces are requested. * RAND_SEED_INITIALIZED: Non-zero means that the randSeed value of the *			interp has not be initialized.	This is set 1 *			when we first use the rand() or srand() functions. * SAFE_INTERP:		Non zero means that the current interp is a *			safe interp (ie it has only the safe commands *			installed, less priviledge than a regular interp). * USE_EVAL_DIRECT:	Non-zero means don't use the compiler or byte-code *			interpreter; instead, have Tcl_EvalObj call *			Tcl_EvalEx. Used primarily for testing the *			new parser. * INTERP_TRACE_IN_PROGRESS: Non-zero means that an interp trace is currently *			active; so no further trace callbacks should be *			invoked. */#define DELETED				    1#define ERR_IN_PROGRESS			    2#define ERR_ALREADY_LOGGED		    4#define ERROR_CODE_SET			    8#define EXPR_INITIALIZED		 0x10#define DONT_COMPILE_CMDS_INLINE	 0x20#define RAND_SEED_INITIALIZED		 0x40#define SAFE_INTERP			 0x80#define USE_EVAL_DIRECT			0x100#define INTERP_TRACE_IN_PROGRESS	0x200/* *---------------------------------------------------------------- * Data structures related to command parsing. These are used in * tclParse.c and its clients. *---------------------------------------------------------------- *//* * The following data structure is used by various parsing procedures * to hold information about where to store the results of parsing * (e.g. the substituted contents of a quoted argument, or the result * of a nested command).  At any given time, the space available * for output is fixed, but a procedure may be called to expand the * space available if the current space runs out. */typedef struct ParseValue {    char *buffer;		/* Address of first character in				 * output buffer. */    char *next;			/* Place to store next character in				 * output buffer. */    char *end;			/* Address of the last usable character				 * in the buffer. */    void (*expandProc) _ANSI_ARGS_((struct ParseValue *pvPtr, int needed));				/* Procedure to call when space runs out;				 * it will make more space. */    ClientData clientData;	/* Arbitrary information for use of				 * expandProc. */} ParseValue;/* * Maximum number of levels of nesting permitted in Tcl commands (used * to catch infinite recursion). */#define MAX_NESTING_DEPTH	1000/* * The macro below is used to modify a "char" value (e.g. by casting * it to an unsigned character) so that it can be used safely with * macros such as isspace. */#define UCHAR(c) ((unsigned char) (c))/* * This macro is used to determine the offset needed to safely allocate any * data structure in memory. Given a starting offset or size, it "rounds up" * or "aligns" the offset to the next 8-byte boundary so that any data * structure can be placed at the resulting offset without fear of an * alignment error. * * WARNING!! DO NOT USE THIS MACRO TO ALIGN POINTERS: it will produce * the wrong result on platforms that allocate addresses that are divisible * by 4 or 2. Only use it for offsets or sizes. */#define TCL_ALIGN(x) (((int)(x) + 7) & ~7)/* * The following enum values are used to specify the runtime platform * setting of the tclPlatform variable. */typedef enum {    TCL_PLATFORM_UNIX,		/* Any Unix-like OS. */    TCL_PLATFORM_MAC,		/* MacOS. */    TCL_PLATFORM_WINDOWS	/* Any Microsoft Windows OS. */} TclPlatformType;/* *  The following enum values are used to indicate the translation *  of a Tcl channel.  Declared here so that each platform can define *  TCL_PLATFORM_TRANSLATION to the native translation on that platform */typedef enum TclEolTranslation {    TCL_TRANSLATE_AUTO,                 /* Eol == \r, \n and \r\n. */    TCL_TRANSLATE_CR,                   /* Eol == \r. */    TCL_TRANSLATE_LF,                   /* Eol == \n. */    TCL_TRANSLATE_CRLF                  /* Eol == \r\n. */} TclEolTranslation;/* * Flags for TclInvoke: * * TCL_INVOKE_HIDDEN		Invoke a hidden command; if not set, *				invokes an exposed command. * TCL_INVOKE_NO_UNKNOWN	If set, "unknown" is not invoked if *				the command to be invoked is not found. *				Only has an effect if invoking an exposed *				command, i.e. if TCL_INVOKE_HIDDEN is not *				also set. * TCL_INVOKE_NO_TRACEBACK	Does not record traceback information if *				the invoked command returns an error.  Used *				if the caller plans on recording its own *				traceback information. */#define	TCL_INVOKE_HIDDEN	(1<<0)#define TCL_INVOKE_NO_UNKNOWN	(1<<1)#define TCL_INVOKE_NO_TRACEBACK	(1<<2)/* * The structure used as the internal representation of Tcl list * objects. This is an array of pointers to the element objects. This array * is grown (reallocated and copied) as necessary to hold all the list's * element pointers. The array might contain more slots than currently used * to hold all element pointers. This is done to make append operations * faster. */typedef struct List {    int maxElemCount;		/* Total number of element array slots. */    int elemCount;		/* Current number of list elements. */    Tcl_Obj **elements;		/* Array of pointers to element objects. */} List;/* * The following types are used for getting and storing platform-specific * file attributes in tclFCmd.c and the various platform-versions of * that file. This is done to have as much common code as possible * in the file attributes code. For more information about the callbacks, * see TclFileAttrsCmd in tclFCmd.c. */typedef int (TclGetFileAttrProc) _ANSI_ARGS_((Tcl_Interp *interp,	int objIndex, Tcl_Obj *fileName, Tcl_Obj **attrObjPtrPtr));typedef int (TclSetFileAttrProc) _ANSI_ARGS_((Tcl_Interp *interp,	int objIndex, Tcl_Obj *fileName, Tcl_Obj *attrObjPtr));typedef struct TclFileAttrProcs {    TclGetFileAttrProc *getProc;	/* The procedure for getting attrs. */    TclSetFileAttrProc *setProc;	/* The procedure for setting attrs. */} TclFileAttrProcs;/* * Opaque handle used in pipeline routines to encapsulate platform-dependent * state.  */typedef struct TclFile_ *TclFile;    /* * Opaque names for platform specific types. */typedef struct TclpTime_t_    *TclpTime_t;/* * The "globParameters" argument of the function TclGlob is an * or'ed combination of the following values: */#define TCL_GLOBMODE_NO_COMPLAIN      1#define TCL_GLOBMODE_JOIN             2#define TCL_GLOBMODE_DIR              4#define TCL_GLOBMODE_TAILS            8/* *---------------------------------------------------------------- * Data structures related to obsolete filesystem hooks *---------------------------------------------------------------- */typedef int (TclStatProc_) _ANSI_ARGS_((CONST char *path, struct stat *buf));typedef int (TclAccessProc_) _ANSI_ARGS_((CONST char *path, int mode));typedef Tcl_Channel (TclOpenFileChannelProc_) _ANSI_ARGS_((Tcl_Interp *interp,	CONST char *fileName, CONST char *modeString,	int permissions));/* *---------------------------------------------------------------- * Data structures related to procedures *---------------------------------------------------------------- */typedef Tcl_CmdProc *TclCmdProcType;typedef Tcl_ObjCmdProc *TclObjCmdProcType;/* *---------------------------------------------------------------- * Variables shared among Tcl modules but not used by the outside world. *---------------------------------------------------------------- */extern Tcl_Time			tclBlockTime;extern int			tclBlockTimeSet;extern char *			tclExecutableName;extern char *			tclNativeExecutableName;extern char *			tclDefaultEncodingDir;extern Tcl_ChannelType		tclFileChannelType;extern char *			tclMemDumpFileName;extern TclPlatformType		tclPlatform;/* * Variables denoting the Tcl object types defined in the core. */extern Tcl_ObjType	tclBooleanType;extern Tcl_ObjType	tclByteArrayType;extern Tcl_ObjType	tclByteCodeType;extern Tcl_ObjType	tclDoubleType;extern Tcl_ObjType	tclEndOffsetType;extern Tcl_ObjType	tclIntType;extern Tcl_ObjType	tclListType;extern Tcl_ObjType	tclProcBodyType;extern Tcl_ObjType	tclStringType;extern Tcl_ObjType	tclArraySearchType;extern Tcl_ObjType	tclIndexType;extern Tcl_ObjType	tclNsNameType;#ifndef TCL_WIDE_INT_IS_LONGextern Tcl_ObjType	tclWideIntType;#endif/* * Variables denoting the hash key types defined in the core. */extern Tcl_HashKeyType tclArrayHashKeyType;extern Tcl_HashKeyType tclOneWordHashKeyType;extern Tcl_HashKeyType tclStringHashKeyType;extern Tcl_HashKeyType tclObjHashKeyType;/* * The head of the list of free Tcl objects, and the total number of Tcl * objects ever allocated and freed. */extern Tcl_Obj *	tclFreeObjList;#ifdef TCL_COMPILE_STATSextern long		tclObjsAlloced;extern long		tclObjsFreed;#define TCL_MAX_SHARED_OBJ_STATS 5extern long		tclObjsShared[TCL_MAX_SHARED_OBJ_STATS];#endif /* TCL_COMPILE_STATS *//* * Pointer to a heap-allocated string of length zero that the Tcl core uses * as the value of an empty string representation for an object. This value * is shared by all new objects allocated by Tcl_NewObj. */extern char *		tclEmptyStringRep;extern char		tclEmptyString;/* *---------------------------------------------------------------- * Procedures shared among Tcl modules but not used by the outside * world: *---------------------------------------------------------------- */EXTERN int		TclArraySet _ANSI_ARGS_((Tcl_Interp *interp,			    Tcl_Obj *arrayNameObj, Tcl_Obj *arrayElemObj));EXTERN int		TclCheckBadOctal _ANSI_ARGS_((Tcl_Interp *interp,			    CONST char *value));EXTERN void		TclExpandTokenArray _ANSI_ARGS_((			    Tcl_Parse *parsePtr));EXTERN int		TclFileAttrsCmd _ANSI_ARGS_((Tcl_Interp *interp,			    int objc, Tcl_Obj *CONST objv[]));EXTERN int		TclFileCopyCmd _ANSI_ARGS_((Tcl_Interp *interp, 			    int objc, Tcl_Obj *CONST objv[])) ;EXTERN int		TclFileDeleteCmd _ANSI_ARGS_((Tcl_Interp *interp,			    int objc, Tcl_Obj *CONST objv[]));EXTERN int		TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp *interp,			    int objc, Tcl_Obj *CONST objv[])) ;EXTERN int		TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp *interp,			    int objc, Tcl_Obj *CONST objv[])) ;EXTERN void		TclFinalizeAllocSubsystem _ANSI_ARGS_((void));EXTERN void		TclFinalizeCompExecEnv _ANSI_ARGS_((void));EXTERN void		TclFinalizeCompilation _ANSI_ARGS_((void));EXTERN void		TclFinalizeEncodingSubsystem _ANSI_ARGS_((void));EXTERN void		TclFinalizeEnvironment _ANSI_ARGS_((void));EXTERN void		TclFinalizeExecution _ANSI_ARGS_((void));EXTERN void		TclFinalizeIOSubsystem _ANSI_ARGS_((void));EXTERN void		TclFinalizeFilesystem _ANSI_ARGS_((void));EXTERN void		TclResetFilesystem _ANSI_ARGS_((void));EXTERN void		TclFinalizeLoad _ANSI_ARGS_((void));EXTERN void		TclFinalizeMemorySubsystem _ANSI_ARGS_((void));EXTERN void		TclFinalizeNotifier _ANSI_ARGS_((void));EXTERN void		TclFinalizeAsync _ANSI_ARGS_((void));EXTERN void		TclFinalizeSynchronization _ANSI_ARGS_((void));EXTERN void		TclFinalizeThreadData _ANSI_ARGS_((void));EXTERN void		TclFindEncodings _ANSI_ARGS_((CONST char *argv0));EXTERN int		TclGlob _ANSI_ARGS_((Tcl_Interp *interp,			    char *pattern, Tcl_Obj *unquotedPrefix, 			 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -