diff options
Diffstat (limited to 'generic/tclInt.decls')
-rw-r--r-- | generic/tclInt.decls | 477 |
1 files changed, 308 insertions, 169 deletions
diff --git a/generic/tclInt.decls b/generic/tclInt.decls index ef2f6df..0ba4542 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -8,6 +8,7 @@ # # Copyright (c) 1998-1999 by Scriptics Corporation. # Copyright (c) 2001 by Kevin B. Kenny. All rights reserved. +# Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net> # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. @@ -27,12 +28,12 @@ interface tclInt #declare 0 { # int TclAccess(const char *path, int mode) #} -declare 1 { - int TclAccessDeleteProc(TclAccessProc_ *proc) -} -declare 2 { - int TclAccessInsertProc(TclAccessProc_ *proc) -} +#declare 1 { +# int TclAccessDeleteProc(TclAccessProc_ *proc) +#} +#declare 2 { +# int TclAccessInsertProc(TclAccessProc_ *proc) +#} declare 3 { void TclAllocateFreeObjects(void) } @@ -40,7 +41,7 @@ declare 3 { # declare 4 { # int TclChdir(Tcl_Interp *interp, char *dirName) # } -declare 5 {unix win} { +declare 5 { int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, Tcl_Channel errorChan) } @@ -57,7 +58,7 @@ declare 8 { # TclCreatePipeline unofficially exported for use by BLT. -declare 9 {unix win} { +declare 9 { int TclCreatePipeline(Tcl_Interp *interp, int argc, const char **argv, Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, TclFile *errFilePtr) @@ -71,14 +72,15 @@ declare 11 { void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr) } declare 12 { - void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr) -} -declare 13 { - int TclDoGlob(Tcl_Interp *interp, char *separators, - Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types) + void TclDeleteVars(Interp *iPtr, TclVarHashTable *tablePtr) } +# Removed in 8.5 +#declare 13 { +# int TclDoGlob(Tcl_Interp *interp, char *separators, +# Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types) +#} declare 14 { - void TclDumpMemoryInfo(FILE *outFile) + int TclDumpMemoryInfo(ClientData clientData, int flags) } # Removed in 8.1: # declare 15 { @@ -111,6 +113,7 @@ declare 22 { declare 23 { Proc *TclFindProc(Interp *iPtr, const char *procName) } +# Replaced with macro (see tclInt.h) in Tcl 8.5.0, restored in 8.5.10 declare 24 { int TclFormatInt(char *buffer, long n) } @@ -121,10 +124,11 @@ declare 25 { # declare 26 { # char *TclGetCwd(Tcl_Interp *interp) # } -declare 27 { - int TclGetDate(char *p, Tcl_WideInt now, long zone, - Tcl_WideInt *timePtr) -} +# Removed in 8.5 +#declare 27 { +# int TclGetDate(char *p, Tcl_WideInt now, long zone, +# Tcl_WideInt *timePtr) +#} declare 28 { Tcl_Channel TclpGetDefaultStdChannel(int type) } @@ -138,15 +142,16 @@ declare 28 { # char *TclGetEnv(const char *name) # } declare 31 { - char *TclGetExtension(char *name) + const char *TclGetExtension(const char *name) } declare 32 { int TclGetFrame(Tcl_Interp *interp, const char *str, CallFrame **framePtrPtr) } -declare 33 { - TclCmdProcType TclGetInterpProc(void) -} +# Removed in Tcl 8.5 +#declare 33 { +# TclCmdProcType TclGetInterpProc(void) +#} declare 34 { int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr) @@ -180,9 +185,11 @@ declare 41 { declare 42 { char *TclpGetUserHome(const char *name, Tcl_DString *bufferPtr) } -declare 43 { - int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) -} +# Removed in Tcl 8.5a2 +#declare 43 { +# int TclGlobalInvoke(Tcl_Interp *interp, int argc, const char **argv, +# int flags) +#} declare 44 { int TclGuessPackageName(const char *fileName, Tcl_DString *bufPtr) } @@ -202,10 +209,10 @@ declare 46 { # Tcl_Obj *TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, # long incrAmount) #} -declare 49 { - Tcl_Obj *TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, - Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) -} +#declare 49 { +# Tcl_Obj *TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, +# Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) +#} declare 50 { void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, Namespace *nsPtr) @@ -213,9 +220,11 @@ declare 50 { declare 51 { int TclInterpInit(Tcl_Interp *interp) } -declare 52 { - int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) -} +# Removed in Tcl 8.5a2 +#declare 52 { +# int TclInvoke(Tcl_Interp *interp, int argc, const char **argv, +# int flags) +#} declare 53 { int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char **argv) @@ -264,16 +273,17 @@ declare 64 { int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], int flags) } -declare 65 { - int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, - Tcl_Obj *const objv[], int flags) -} -declare 66 { - int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) -} -declare 67 { - int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) -} +# Removed in Tcl 8.5a2 +#declare 65 { +# int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, +# Tcl_Obj *const objv[], int flags) +#} +#declare 66 { +# int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) +#} +#declare 67 { +# int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) +#} # Replaced by Tcl_FSAccess in 8.4: #declare 68 { # int TclpAccess(const char *path, int mode) @@ -309,7 +319,7 @@ declare 77 { void TclpGetTime(Tcl_Time *time) } declare 78 { - int TclpGetTimeZone(Tcl_WideInt time) + int TclpGetTimeZone(unsigned long time) } # Replaced by Tcl_FSListVolumes in 8.4: #declare 79 { @@ -369,17 +379,18 @@ declare 92 { declare 93 { void TclProcDeleteProc(ClientData clientData) } -declare 94 { - int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, - int argc, CONST84 char **argv) -} +# Removed in Tcl 8.5: +#declare 94 { +# int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, +# int argc, const char **argv) +#} # Replaced by Tcl_FSStat in 8.4: #declare 95 { # int TclpStat(const char *path, Tcl_StatBuf *buf) #} declare 96 { - int TclRenameCommand(Tcl_Interp *interp, char *oldName, - char *newName) + int TclRenameCommand(Tcl_Interp *interp, const char *oldName, + const char *newName) } declare 97 { void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr) @@ -404,10 +415,10 @@ declare 102 { void TclSetupEnv(Tcl_Interp *interp) } declare 103 { - int TclSockGetPort(Tcl_Interp *interp, char *str, char *proto, + int TclSockGetPort(Tcl_Interp *interp, const char *str, const char *proto, int *portPtr) } -declare 104 {unix win} { +declare 104 { int TclSockMinimumBuffersOld(int sock, int size) } declare 110 {unix win} { @@ -417,12 +428,12 @@ declare 110 {unix win} { #declare 105 { # int TclStat(const char *path, Tcl_StatBuf *buf) #} -declare 106 { - int TclStatDeleteProc(TclStatProc_ *proc) -} -declare 107 { - int TclStatInsertProc(TclStatProc_ *proc) -} +#declare 106 { +# int TclStatDeleteProc(TclStatProc_ *proc) +#} +#declare 107 { +# int TclStatInsertProc(TclStatProc_ *proc) +#} declare 108 { void TclTeardownNamespace(Namespace *nsPtr) } @@ -521,15 +532,16 @@ declare 132 { int TclpHasSockets(Tcl_Interp *interp) } declare 133 { - struct tm *TclpGetDate(TclpTime_t time, int useGMT) -} -declare 134 { - size_t TclpStrftime(char *s, size_t maxsize, const char *format, - const struct tm *t, int useGMT) -} -declare 135 { - int TclpCheckStackSpace(void) + struct tm *TclpGetDate(const time_t *time, int useGMT) } +# Removed in 8.5 +#declare 134 { +# size_t TclpStrftime(char *s, size_t maxsize, const char *format, +# const struct tm *t, int useGMT) +#} +#declare 135 { +# int TclpCheckStackSpace(void) +#} # Added in 8.1: @@ -544,9 +556,9 @@ declare 138 { # char *sym2, Tcl_PackageInitProc **proc1Ptr, # Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr) #} -declare 140 { - int TclLooksLikeInt(const char *bytes, int length) -} +#declare 140 { +# int TclLooksLikeInt(const char *bytes, int length) +#} # This is used by TclX, but should otherwise be considered private declare 141 { CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr) @@ -690,140 +702,247 @@ declare 172 { declare 173 { int TclUniCharMatch(const Tcl_UniChar *string, int strLen, - const Tcl_UniChar *pattern, int ptnLen, int nocase) + const Tcl_UniChar *pattern, int ptnLen, int flags) +} + +# added for 8.4.3 + +#declare 174 { +# Tcl_Obj *TclIncrWideVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, +# Tcl_Obj *part2Ptr, Tcl_WideInt wideIncrAmount, int part1NotParsed) +#} + +# Factoring out of trace code + +declare 175 { + int TclCallVarTraces(Interp *iPtr, Var *arrayPtr, Var *varPtr, + const char *part1, const char *part2, int flags, int leaveErrMsg) +} +declare 176 { + void TclCleanupVar(Var *varPtr, Var *arrayPtr) +} +declare 177 { + void TclVarErrMsg(Tcl_Interp *interp, const char *part1, const char *part2, + const char *operation, const char *reason) +} +declare 178 { + void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName) +} +declare 179 { + Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr) } # TclpGmtime and TclpLocaltime promoted to the generic interface from unix declare 182 { - struct tm *TclpLocaltime(TclpTime_t_CONST clock) + struct tm *TclpLocaltime(const time_t *clock) } declare 183 { - struct tm *TclpGmtime(TclpTime_t_CONST clock) + struct tm *TclpGmtime(const time_t *clock) } -declare 199 { - int TclMatchIsTrivial(const char *pattern) -} - -############################################################################## +# For the new "Thread Storage" subsystem. -# Define the platform specific internal Tcl interface. These functions are -# only available on the designated platform. +### REMOVED on grounds it should never have been exposed. All these +### functions are now either static in tclThreadStorage.c or +### MODULE_SCOPE. +# declare 184 { +# void TclThreadStorageLockInit(void) +# } +# declare 185 { +# void TclThreadStorageLock(void) +# } +# declare 186 { +# void TclThreadStorageUnlock(void) +# } +# declare 187 { +# void TclThreadStoragePrint(FILE *outFile, int flags) +# } +# declare 188 { +# Tcl_HashTable *TclThreadStorageGetHashTable(Tcl_ThreadId id) +# } +# declare 189 { +# Tcl_HashTable *TclThreadStorageInit(Tcl_ThreadId id, void *reserved) +# } +# declare 190 { +# void TclThreadStorageDataKeyInit(Tcl_ThreadDataKey *keyPtr) +# } +# declare 191 { +# void *TclThreadStorageDataKeyGet(Tcl_ThreadDataKey *keyPtr) +# } +# declare 192 { +# void TclThreadStorageDataKeySet(Tcl_ThreadDataKey *keyPtr, void *data) +# } +# declare 193 { +# void TclFinalizeThreadStorageThread(Tcl_ThreadId id) +# } +# declare 194 { +# void TclFinalizeThreadStorage(void) +# } +# declare 195 { +# void TclFinalizeThreadStorageData(Tcl_ThreadDataKey *keyPtr) +# } +# declare 196 { +# void TclFinalizeThreadStorageDataKey(Tcl_ThreadDataKey *keyPtr) +# } -interface tclIntPlat +# +# Added in tcl8.5a5 for compiler/executor experimentation. +# Disabled in Tcl 8.5.1; experiments terminated. :/ +# +#declare 197 { +# int TclCompEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr, +# const CmdFrame *invoker, int word) +#} +declare 198 { + int TclObjGetFrame(Tcl_Interp *interp, Tcl_Obj *objPtr, + CallFrame **framePtrPtr) +} -######################## -# Mac specific internals +#declare 199 { +# int TclMatchIsTrivial(const char *pattern) +#} -declare 0 mac { - void *TclpSysAlloc(long size, int isBin) +# 200-208 exported for use by the test suite [Bug 1054748] +declare 200 { + int TclpObjRemoveDirectory(Tcl_Obj *pathPtr, int recursive, + Tcl_Obj **errorPtr) } -declare 1 mac { - void TclpSysFree(void *ptr) +declare 201 { + int TclpObjCopyDirectory(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr, + Tcl_Obj **errorPtr) } -declare 2 mac { - void *TclpSysRealloc(void *cp, unsigned int size) +declare 202 { + int TclpObjCreateDirectory(Tcl_Obj *pathPtr) } -declare 3 mac { - void TclpExit(int status) +declare 203 { + int TclpObjDeleteFile(Tcl_Obj *pathPtr) } - -# Prototypes for functions found in the tclMacUtil.c compatability library. - -declare 4 mac { - int FSpGetDefaultDir(FSSpecPtr theSpec) +declare 204 { + int TclpObjCopyFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr) } -declare 5 mac { - int FSpSetDefaultDir(FSSpecPtr theSpec) +declare 205 { + int TclpObjRenameFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr) } -declare 6 mac { - OSErr FSpFindFolder(short vRefNum, OSType folderType, - Boolean createFolder, FSSpec *spec) +declare 206 { + int TclpObjStat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf) } -declare 7 mac { - void GetGlobalMouseTcl(Point *mouse) +declare 207 { + int TclpObjAccess(Tcl_Obj *pathPtr, int mode) } - -# The following routines are utility functions in Tcl. They are exported -# here because they are needed in Tk. They are not officially supported, -# however. The first set are from the MoreFiles package. - -declare 8 mac { - pascal OSErr FSpGetDirectoryIDTcl(const FSSpec *spec, long *theDirID, - Boolean *isDirectory) +declare 208 { + Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, + Tcl_Obj *pathPtr, int mode, int permissions) } -declare 9 mac { - pascal short FSpOpenResFileCompatTcl(const FSSpec *spec, - SignedByte permission) +# Made public by TIP 258 +#declare 209 { +# Tcl_Obj *TclGetEncodingSearchPath(void) +#} +#declare 210 { +# int TclSetEncodingSearchPath(Tcl_Obj *searchPath) +#} +#declare 211 { +# const char *TclpGetEncodingNameFromEnvironment(Tcl_DString *bufPtr) +#} +declare 212 { + void TclpFindExecutable(const char *argv0) } -declare 10 mac { - pascal void FSpCreateResFileCompatTcl(const FSSpec *spec, OSType creator, - OSType fileType, ScriptCode scriptTag) +declare 213 { + Tcl_Obj *TclGetObjNameOfExecutable(void) } - -# Like the MoreFiles routines these fix problems in the standard -# Mac calls. These routines are from tclMacUtils.h. - -declare 11 mac { - int FSpLocationFromPath(int length, const char *path, FSSpecPtr theSpec) +declare 214 { + void TclSetObjNameOfExecutable(Tcl_Obj *name, Tcl_Encoding encoding) +} +declare 215 { + void *TclStackAlloc(Tcl_Interp *interp, int numBytes) } -declare 12 mac { - OSErr FSpPathFromLocation(FSSpecPtr theSpec, int *length, - Handle *fullPath) +declare 216 { + void TclStackFree(Tcl_Interp *interp, void *freePtr) +} +declare 217 { + int TclPushStackFrame(Tcl_Interp *interp, Tcl_CallFrame **framePtrPtr, + Tcl_Namespace *namespacePtr, int isProcCallFrame) +} +declare 218 { + void TclPopStackFrame(Tcl_Interp *interp) } -# Prototypes of Mac only internal functions. +# for use in tclTest.c +declare 224 { + TclPlatformType *TclGetPlatform(void) +} -declare 13 mac { - void TclMacExitHandler(void) +# +declare 225 { + Tcl_Obj *TclTraceDictPath(Tcl_Interp *interp, Tcl_Obj *rootPtr, + int keyc, Tcl_Obj *const keyv[], int flags) } -declare 14 mac { - void TclMacInitExitToShell(int usePatch) +declare 226 { + int TclObjBeingDeleted(Tcl_Obj *objPtr) } -declare 15 mac { - OSErr TclMacInstallExitToShellPatch(ExitToShellProcPtr newProc) +declare 227 { + void TclSetNsPath(Namespace *nsPtr, int pathLength, + Tcl_Namespace *pathAry[]) } -declare 16 mac { - int TclMacOSErrorToPosixError(int error) +declare 228 { + int TclObjInterpProcCore(register Tcl_Interp *interp, Tcl_Obj *procNameObj, + int skip, ProcErrorProc errorProc) } -declare 17 mac { - void TclMacRemoveTimer(void *timerToken) +declare 229 { + int TclPtrMakeUpvar(Tcl_Interp *interp, Var *otherP1Ptr, + const char *myName, int myFlags, int index) } -declare 18 mac { - void *TclMacStartTimer(long ms) +declare 230 { + Var *TclObjLookupVar(Tcl_Interp *interp, Tcl_Obj *part1Ptr, + const char *part2, int flags, const char *msg, + const int createPart1, const int createPart2, Var **arrayPtrPtr) } -declare 19 mac { - int TclMacTimerExpired(void *timerToken) +declare 231 { + int TclGetNamespaceFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, + Tcl_Namespace **nsPtrPtr) } -declare 20 mac { - int TclMacRegisterResourceFork(short fileRef, Tcl_Obj *tokenPtr, - int insert) -} -declare 21 mac { - short TclMacUnRegisterResourceFork(char *tokenPtr, Tcl_Obj *resultPtr) -} -declare 22 mac { - int TclMacCreateEnv(void) + +# Bits and pieces of TIP#280's guts +declare 232 { + int TclEvalObjEx(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags, + const CmdFrame *invoker, int word) } -declare 23 mac { - FILE *TclMacFOpenHack(const char *path, const char *mode) +declare 233 { + void TclGetSrcInfoForPc(CmdFrame *contextPtr) } -# Replaced in 8.1 by TclpReadLink: -# declare 24 mac { -# int TclMacReadlink(char *path, char *buf, int size) -# } -declare 24 mac { - char *TclpGetTZName(int isdst) + +# Exports for VarReform compat: Itcl, XOTcl like to peek into our varTables :( +declare 234 { + Var *TclVarHashCreateVar(TclVarHashTable *tablePtr, const char *key, + int *newPtr) } -declare 25 mac { - int TclMacChmod(const char *path, int mode) +declare 235 { + void TclInitVarHashTable(TclVarHashTable *tablePtr, Namespace *nsPtr) } -# version of FSpLocationFromPath that doesn't resolve the last path component -declare 26 mac { - int FSpLLocationFromPath(int length, const char *path, FSSpecPtr theSpec) + + +# TIP 337 made this one public +declare 236 { + void TclBackgroundException(Tcl_Interp *interp, int code) } +# Tcl_Obj leak detection support. +declare 243 { + void TclDbDumpActiveObjects(FILE *outFile) +} + +declare 249 { + char *TclDoubleDigits(double dv, int ndigits, int flags, + int *decpt, int *signum, char **endPtr) +} + +############################################################################## + +# Define the platform specific internal Tcl interface. These functions are +# only available on the designated platform. + +interface tclIntPlat + ################################ # Windows specific functions @@ -918,9 +1037,10 @@ declare 23 win { declare 24 win { char *TclWinNoBackslash(char *path) } -declare 25 win { - TclPlatformType *TclWinGetPlatform(void) -} +# replaced by generic TclGetPlatform +#declare 25 win { +# TclPlatformType *TclWinGetPlatform(void) +#} declare 26 win { void TclWinSetInterfaces(int wide) } @@ -1001,30 +1121,49 @@ declare 10 unix { # generic Stubs # On cygwin, this is actually a reference to TclGetAndDetachPids declare 11 unix { - struct tm *TclpLocaltime_unix(TclpTime_t_CONST clock) + struct tm *TclpLocaltime_unix(const time_t *clock) } # On cygwin, this is actually a reference to TclpCloseFile declare 12 unix { - struct tm *TclpGmtime_unix(TclpTime_t_CONST clock) + struct tm *TclpGmtime_unix(const time_t *clock) } # On cygwin, this is a reference to TclpCreateCommandChannel # Otherwise, this is a reference to TclpInetNtoa declare 13 unix { void TclIntPlatReserved13(void) } + +# Added in 8.5: + +declare 14 unix { + int TclUnixCopyFile(const char *src, const char *dst, + const Tcl_StatBuf *statBufPtr, int dontCopyAtts) +} + +################################ +# Mac OS X specific functions + #On cygwin, TclpCreateProcess is here -declare 15 unix { +declare 15 {unix macosx} { int TclMacOSXGetFileAttribute(Tcl_Interp *interp, int objIndex, Tcl_Obj *fileName, Tcl_Obj **attributePtrPtr) } +declare 16 macosx { + int TclMacOSXSetFileAttribute(Tcl_Interp *interp, int objIndex, + Tcl_Obj *fileName, Tcl_Obj *attributePtr) +} +declare 17 macosx { + int TclMacOSXCopyFileAttributes(const char *src, const char *dst, + const Tcl_StatBuf *statBufPtr) +} #On cygwin, TclpMakeFile is here -declare 18 unix { +declare 18 {unix macosx} { int TclMacOSXMatchType(Tcl_Interp *interp, const char *pathName, const char *fileName, Tcl_StatBuf *statBufPtr, Tcl_GlobTypeData *types) } #On cygwin, TclpOpenFile is here -declare 19 unix { +declare 19 {unix macosx} { void TclMacOSXNotifierAddRunLoopMode(const void *runLoopMode) } declare 20 unix { |