📄 tclint.h
字号:
* 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, char *fileName, Tcl_Obj **attrObjPtrPtr));typedef int (TclSetFileAttrProc) _ANSI_ARGS_((Tcl_Interp *interp, int objIndex, char *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; /* *---------------------------------------------------------------- * Data structures related to hooking 'TclStat(...)' and * 'TclAccess(...)'. *---------------------------------------------------------------- */typedef struct stat TclStat_;typedef int (TclStatProc_) _ANSI_ARGS_((CONST char *path, TclStat_ *buf));typedef int (TclAccessProc_) _ANSI_ARGS_((CONST char *path, int mode));typedef Tcl_Channel (TclOpenFileChannelProc_) _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, char *modeString, int permissions));typedef int (*TclCmdProcType) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]));typedef int (*TclObjCmdProcType) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * CONST objv[]));/* *---------------------------------------------------------------- * Variables shared among Tcl modules but not used by the outside world. *---------------------------------------------------------------- */extern Tcl_Time tclBlockTime;extern int tclBlockTimeSet;extern char * tclExecutableName;extern Tcl_ChannelType tclFileChannelType;extern char * tclMemDumpFileName;extern TclPlatformType tclPlatform;extern char * tclpFileAttrStrings[];extern CONST TclFileAttrProcs tclpFileAttrProcs[];/* * Variables denoting the Tcl object types defined in the core. */extern Tcl_ObjType tclBooleanType;extern Tcl_ObjType tclByteCodeType;extern Tcl_ObjType tclDoubleType;extern Tcl_ObjType tclIntType;extern Tcl_ObjType tclListType;extern Tcl_ObjType tclStringType;/* * 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;#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;/* *---------------------------------------------------------------- * Procedures shared among Tcl modules but not used by the outside * world: *---------------------------------------------------------------- */EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format));EXTERN int TclAccess _ANSI_ARGS_((CONST char *path, int mode));EXTERN int TclAccessDeleteProc _ANSI_ARGS_((TclAccessProc_ *proc));EXTERN int TclAccessInsertProc _ANSI_ARGS_((TclAccessProc_ *proc));EXTERN void TclAllocateFreeObjects _ANSI_ARGS_((void));EXTERN int TclChdir _ANSI_ARGS_((Tcl_Interp *interp, char *dirName));EXTERN int TclCleanupChildren _ANSI_ARGS_((Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, Tcl_Channel errorChan));EXTERN void TclCleanupCommand _ANSI_ARGS_((Command *cmdPtr));EXTERN char * TclConvertToNative _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_DString *bufferPtr));EXTERN char * TclConvertToNetwork _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_DString *bufferPtr));EXTERN int TclCopyAndCollapse _ANSI_ARGS_((int count, char *src, char *dst));EXTERN int TclCopyChannel _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel inChan, Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr));/* * TclCreatePipeline unofficially exported for use by BLT. */EXTERN int TclCreatePipeline _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv, Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, TclFile *errFilePtr));EXTERN int TclCreateProc _ANSI_ARGS_((Tcl_Interp *interp, Namespace *nsPtr, char *procName, Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr));EXTERN void TclDeleteCompiledLocalVars _ANSI_ARGS_(( Interp *iPtr, CallFrame *framePtr));EXTERN void TclDeleteVars _ANSI_ARGS_((Interp *iPtr, Tcl_HashTable *tablePtr));EXTERN int TclDoGlob _ANSI_ARGS_((Tcl_Interp *interp, char *separators, Tcl_DString *headPtr, char *tail));EXTERN void TclDumpMemoryInfo _ANSI_ARGS_((FILE *outFile));EXTERN void TclExpandParseValue _ANSI_ARGS_((ParseValue *pvPtr, int needed));EXTERN void TclExprFloatError _ANSI_ARGS_((Tcl_Interp *interp, double value));EXTERN int TclFileAttrsCmd _ANSI_ARGS_((Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));EXTERN int TclFileCopyCmd _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv)) ;EXTERN int TclFileDeleteCmd _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));EXTERN int TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv)) ;EXTERN int TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv)) ;EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void));EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void));EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void));EXTERN int TclFindElement _ANSI_ARGS_((Tcl_Interp *interp, char *list, int listLength, char **elementPtr, char **nextPtr, int *sizePtr, int *bracePtr));EXTERN Proc * TclFindProc _ANSI_ARGS_((Interp *iPtr, char *procName));EXTERN int TclFormatInt _ANSI_ARGS_((char *buffer, long n));EXTERN void TclFreePackageInfo _ANSI_ARGS_((Interp *iPtr));EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel chan));EXTERN char * TclGetCwd _ANSI_ARGS_((Tcl_Interp *interp));EXTERN int TclGetDate _ANSI_ARGS_((char *p, unsigned long now, long zone, unsigned long *timePtr));EXTERN Tcl_Channel TclGetDefaultStdChannel _ANSI_ARGS_((int type));EXTERN Tcl_Obj * TclGetElementOfIndexedArray _ANSI_ARGS_(( Tcl_Interp *interp, int localIndex, Tcl_Obj *elemPtr, int leaveErrorMsg));EXTERN char * TclGetEnv _ANSI_ARGS_((CONST char *name));EXTERN char * TclGetExtension _ANSI_ARGS_((char *name));EXTERN int TclGetFrame _ANSI_ARGS_((Tcl_Interp *interp, char *string, CallFrame **framePtrPtr));EXTERN int TclGetIdleGeneration _ANSI_ARGS_((void));EXTERN TclCmdProcType TclGetInterpProc _ANSI_ARGS_((void));EXTERN int TclGetIntForIndex _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr));EXTERN Tcl_Obj * TclGetIndexedScalar _ANSI_ARGS_((Tcl_Interp *interp, int localIndex, int leaveErrorMsg));EXTERN int TclGetLong _ANSI_ARGS_((Tcl_Interp *interp, char *string, long *longPtr));EXTERN int TclGetLoadedPackages _ANSI_ARGS_(( Tcl_Interp *interp, char *targetName));EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_(( Tcl_Interp *interp, char *qualName, Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr, char **simpleNamePtr));EXTERN TclObjCmdProcType TclGetObjInterpProc _ANSI_ARGS_((void));EXTERN int TclGetOpenMode _ANSI_ARGS_((Tcl_Interp *interp, char *string, int *seekFlagPtr));EXTERN Tcl_Command TclGetOriginalCommand _ANSI_ARGS_(( Tcl_Command command));EXTERN char * TclGetUserHome _ANSI_ARGS_((char *name, Tcl_DString *bufferPtr));EXTERN int TclGlobalInvoke _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv, int flags));EXTERN int TclGuessPackageName _ANSI_ARGS_((char *fileName, Tcl_DString *bufPtr));EXTERN int TclHasPipes _ANSI_ARGS_((void));EXTERN int TclHasSockets _ANSI_ARGS_((Tcl_Interp *interp));EXTERN int TclHideUnsafeCommands _ANSI_ARGS_(( Tcl_Interp *interp));EXTERN int TclIdlePending _ANSI_ARGS_((void));EXTERN int TclInExit _ANSI_ARGS_((void));EXTERN Tcl_Obj * TclIncrElementOfIndexedArray _ANSI_ARGS_(( Tcl_Interp *interp, int localIndex, Tcl_Obj *elemPtr, long incrAmount));EXTERN Tcl_Obj * TclIncrIndexedScalar _ANSI_ARGS_(( Tcl_Interp *interp, int localIndex, long incrAmount));EXTERN Tcl_Obj * TclIncrVar2 _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed));EXTERN void TclInitCompiledLocals _ANSI_ARGS_(( Tcl_Interp *interp, CallFrame *framePtr, Namespace *nsPtr));EXTERN void TclInitNamespaces _ANSI_ARGS_((void));EXTERN int TclInterpInit _ANSI_ARGS_((Tcl_Interp *interp));EXTERN int TclInvoke _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv, int flags));EXTERN int TclInvokeObjectCommand _ANSI_ARGS_(( ClientData clientData, Tcl_Interp *interp, int argc, char **argv));EXTERN int TclInvokeStringCommand _ANSI_ARGS_(( ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));EXTERN Proc * TclIsProc _ANSI_ARGS_((Command *cmdPtr));EXTERN int TclLoadFile _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, char *sym1, char *sym2, Tcl_PackageInitProc **proc1Ptr, Tcl_PackageInitProc **proc2Ptr));EXTERN int TclLooksLikeInt _ANSI_ARGS_((char *p));EXTERN Var * TclLookupVar _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags, char *msg, int createPart1, int createPart2, Var **arrayPtrPtr));EXTERN int TclMakeFileTable _ANSI_ARGS_((Tcl_Interp *interp, int noStdio));EXTERN int TclMatchFiles _ANSI_ARGS_((Tcl_Interp *interp, char *separators, Tcl_DString *dirPtr, char *pattern, char *tail));EXTERN int TclNeedSpace _ANSI_ARGS_((char *start, char *end));EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj *cmdPtr));EXTERN int TclObjInterpProc _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], int flags));EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], int flags));EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_(( TclOpenFileChannelProc_ *proc));EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_(( TclOpenFileChannelProc_ *proc));EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size));/* * On a Mac, we can exit gracefully if the stack gets too small. */#ifdef MAC_TCLEXTERN int TclpCheckStackSpace _ANSI_ARGS_((void));#else#define TclpCheckStackSpace() (1)#endifEXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file));EXTERN int TclpCopyFile _ANSI_ARGS_((char *source, char *dest));EXTERN int TclpCopyDirectory _ANSI_ARGS_((char *source, char *dest, Tcl_DString *errorPtr));EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr));EXTERN int TclpCreateDirectory _ANSI_ARGS_((char *path));EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile *readPipe, TclFile *writePipe));EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid *pidPtr));EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char *contents, Tcl_DString *namePtr));EXTERN int TclpDeleteFile _ANSI_ARGS_((char *path));EXTERN void TclpFinalize _ANSI_ARGS_((void));EXTERN void TclpFree _ANSI_ARGS_((char *ptr));EXTERN unsigned long TclpGetClicks _ANSI_ARGS_((void));EXTERN unsigned long TclpGetSeconds _ANSI_ARGS_((void));EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time *time));EXTERN int TclpGetTimeZone _ANSI_ARGS_((unsigned long time));EXTERN char * TclpGetTZName _ANSI_ARGS_((void));EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp *interp));EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, int direction));EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char *fname, int mode));EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, char *modeString, int permissions));EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, unsigned int size));EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char *path, int recursive, Tcl_DString *errorPtr));EXTERN int TclpRenameFile _ANSI_ARGS_((char *source, char *dest));EXTERN char * TclpSetEnv _ANSI_ARGS_((CONST char *name, CONST char *value));#ifndef TclpSysAllocEXTERN VOID * TclpSysAlloc _ANSI_ARGS_((long size, in
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -