diff options
Diffstat (limited to 'generic/tclInt.decls')
-rw-r--r-- | generic/tclInt.decls | 642 |
1 files changed, 399 insertions, 243 deletions
diff --git a/generic/tclInt.decls b/generic/tclInt.decls index c48cd0d..6d63164 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -8,12 +8,13 @@ # # 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. library tcl - + # Define the unsupported generic interfaces. interface tclInt @@ -27,20 +28,20 @@ interface tclInt #declare 0 generic { # int TclAccess(CONST char *path, int mode) #} -declare 1 generic { - int TclAccessDeleteProc(TclAccessProc_ *proc) -} -declare 2 generic { - int TclAccessInsertProc(TclAccessProc_ *proc) -} +#declare 1 generic { +# int TclAccessDeleteProc(TclAccessProc_ *proc) +#} +#declare 2 generic { +# int TclAccessInsertProc(TclAccessProc_ *proc) +#} declare 3 generic { void TclAllocateFreeObjects(void) } # Replaced by TclpChdir in 8.1: -# declare 4 generic { +# declare 4 generic { # int TclChdir(Tcl_Interp *interp, char *dirName) # } -declare 5 {unix win} { +declare 5 generic { int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, Tcl_Channel errorChan) } @@ -57,13 +58,13 @@ declare 8 generic { # TclCreatePipeline unofficially exported for use by BLT. -declare 9 {unix win} { +declare 9 generic { int TclCreatePipeline(Tcl_Interp *interp, int argc, CONST char **argv, Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, TclFile *errFilePtr) } declare 10 generic { - int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr, + int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr, CONST char *procName, Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr) } @@ -71,14 +72,15 @@ declare 11 generic { void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr) } declare 12 generic { - void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr) -} -declare 13 generic { - 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 generic { +# int TclDoGlob(Tcl_Interp *interp, char *separators, +# Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types) +#} declare 14 generic { - void TclDumpMemoryInfo(FILE *outFile) + int TclDumpMemoryInfo(ClientData clientData, int flags) } # Removed in 8.1: # declare 15 generic { @@ -109,8 +111,9 @@ declare 22 generic { int *sizePtr, int *bracePtr) } declare 23 generic { - Proc * TclFindProc(Interp *iPtr, CONST char *procName) + 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 generic { int TclFormatInt(char *buffer, long n) } @@ -118,42 +121,44 @@ declare 25 generic { void TclFreePackageInfo(Interp *iPtr) } # Removed in 8.1: -# declare 26 generic { -# char * TclGetCwd(Tcl_Interp *interp) +# declare 26 generic { +# char *TclGetCwd(Tcl_Interp *interp) # } -declare 27 generic { - int TclGetDate(char *p, Tcl_WideInt now, long zone, - Tcl_WideInt *timePtr) -} +# Removed in 8.5 +#declare 27 generic { +# int TclGetDate(char *p, unsigned long now, long zone, +# unsigned long *timePtr) +#} declare 28 generic { Tcl_Channel TclpGetDefaultStdChannel(int type) } # Removed in 8.4b2: #declare 29 generic { -# Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp, +# Tcl_Obj *TclGetElementOfIndexedArray(Tcl_Interp *interp, # int localIndex, Tcl_Obj *elemPtr, int flags) #} -# Replaced by char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) in 8.1: +# Replaced by char *TclGetEnv(CONST char *name, Tcl_DString *valuePtr) in 8.1: # declare 30 generic { -# char * TclGetEnv(CONST char *name) +# char *TclGetEnv(CONST char *name) # } declare 31 generic { - char * TclGetExtension(char *name) + CONST char *TclGetExtension(CONST char *name) } declare 32 generic { int TclGetFrame(Tcl_Interp *interp, CONST char *str, CallFrame **framePtrPtr) } -declare 33 generic { - TclCmdProcType TclGetInterpProc(void) -} +# Removed in Tcl 8.5 +#declare 33 generic { +# TclCmdProcType TclGetInterpProc(void) +#} declare 34 generic { int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr) } # Removed in 8.4b2: #declare 35 generic { -# Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex, +# Tcl_Obj *TclGetIndexedScalar(Tcl_Interp *interp, int localIndex, # int flags) #} declare 36 generic { @@ -178,11 +183,13 @@ declare 41 generic { Tcl_Command TclGetOriginalCommand(Tcl_Command command) } declare 42 generic { - char * TclpGetUserHome(CONST char *name, Tcl_DString *bufferPtr) -} -declare 43 generic { - int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) + char *TclpGetUserHome(CONST char *name, Tcl_DString *bufferPtr) } +# Removed in Tcl 8.5a2 +#declare 43 generic { +# int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, +# int flags) +#} declare 44 generic { int TclGuessPackageName(CONST char *fileName, Tcl_DString *bufPtr) } @@ -194,18 +201,18 @@ declare 46 generic { } # Removed in 8.4b2: #declare 47 generic { -# Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp, +# Tcl_Obj *TclIncrElementOfIndexedArray(Tcl_Interp *interp, # int localIndex, Tcl_Obj *elemPtr, long incrAmount) #} # Removed in 8.4b2: #declare 48 generic { -# Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, +# Tcl_Obj *TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, # long incrAmount) #} -declare 49 generic { - Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, - Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) -} +#declare 49 generic { +# Tcl_Obj *TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, +# Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) +#} declare 50 generic { void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, Namespace *nsPtr) @@ -213,9 +220,11 @@ declare 50 generic { declare 51 generic { int TclInterpInit(Tcl_Interp *interp) } -declare 52 generic { - int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) -} +# Removed in Tcl 8.5a2 +#declare 52 generic { +# int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, +# int flags) +#} declare 53 generic { int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char **argv) @@ -225,7 +234,7 @@ declare 54 generic { int objc, Tcl_Obj *CONST objv[]) } declare 55 generic { - Proc * TclIsProc(Command *cmdPtr) + Proc *TclIsProc(Command *cmdPtr) } # Replaced with TclpLoadFile in 8.1: # declare 56 generic { @@ -238,7 +247,7 @@ declare 55 generic { # int TclLooksLikeInt(char *p) # } declare 58 generic { - Var * TclLookupVar(Tcl_Interp *interp, CONST char *part1, CONST char *part2, + Var *TclLookupVar(Tcl_Interp *interp, CONST char *part1, CONST char *part2, int flags, CONST char *msg, int createPart1, int createPart2, Var **arrayPtrPtr) } @@ -251,7 +260,7 @@ declare 60 generic { int TclNeedSpace(CONST char *start, CONST char *end) } declare 61 generic { - Tcl_Obj * TclNewProcBodyObj(Proc *procPtr) + Tcl_Obj *TclNewProcBodyObj(Proc *procPtr) } declare 62 generic { int TclObjCommandComplete(Tcl_Obj *cmdPtr) @@ -264,22 +273,23 @@ declare 64 generic { int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], int flags) } -declare 65 generic { - int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, - Tcl_Obj *CONST objv[], int flags) -} -declare 66 generic { - int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) -} -declare 67 generic { - int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) -} +# Removed in Tcl 8.5a2 +#declare 65 generic { +# int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, +# Tcl_Obj *CONST objv[], int flags) +#} +#declare 66 generic { +# int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) +#} +#declare 67 generic { +# int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) +#} # Replaced by Tcl_FSAccess in 8.4: #declare 68 generic { # int TclpAccess(CONST char *path, int mode) #} declare 69 generic { - char * TclpAlloc(unsigned int size) + char *TclpAlloc(unsigned int size) } #declare 70 generic { # int TclpCopyFile(CONST char *source, CONST char *dest) @@ -308,9 +318,8 @@ declare 76 generic { declare 77 generic { void TclpGetTime(Tcl_Time *time) } - declare 78 generic { - int TclpGetTimeZone(Tcl_WideInt time) + int TclpGetTimeZone(unsigned long time) } # Replaced by Tcl_FSListVolumes in 8.4: #declare 79 generic { @@ -322,7 +331,7 @@ declare 78 generic { # char *modeString, int permissions) #} declare 81 generic { - char * TclpRealloc(char *ptr, unsigned int size) + char *TclpRealloc(char *ptr, unsigned int size) } #declare 82 generic { # int TclpRemoveDirectory(CONST char *path, int recursive, @@ -348,7 +357,7 @@ declare 81 generic { # void TclPlatformInit(Tcl_Interp *interp) # } declare 88 generic { - char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp, + char *TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp, CONST char *name1, CONST char *name2, int flags) } declare 89 generic { @@ -370,16 +379,18 @@ declare 92 generic { declare 93 generic { void TclProcDeleteProc(ClientData clientData) } -declare 94 generic { - int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, - int argc, CONST84 char **argv) -} +# Removed in Tcl 8.5: +#declare 94 generic { +# int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, +# int argc, CONST84 char **argv) +#} # Replaced by Tcl_FSStat in 8.4: #declare 95 generic { # int TclpStat(CONST char *path, Tcl_StatBuf *buf) #} declare 96 generic { - int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName) + int TclRenameCommand(Tcl_Interp *interp, CONST char *oldName, + CONST char *newName) } declare 97 generic { void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr) @@ -389,37 +400,37 @@ declare 98 generic { } # Removed in 8.4b2: #declare 99 generic { -# Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, int localIndex, +# Tcl_Obj *TclSetElementOfIndexedArray(Tcl_Interp *interp, int localIndex, # Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int flags) #} # Removed in 8.4b2: #declare 100 generic { -# Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex, +# Tcl_Obj *TclSetIndexedScalar(Tcl_Interp *interp, int localIndex, # Tcl_Obj *objPtr, int flags) #} declare 101 generic { - char * TclSetPreInitScript(char *string) + char *TclSetPreInitScript(char *string) } declare 102 generic { void TclSetupEnv(Tcl_Interp *interp) } declare 103 generic { - 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 generic { int TclSockMinimumBuffers(int sock, int size) } # Replaced by Tcl_FSStat in 8.4: #declare 105 generic { # int TclStat(CONST char *path, Tcl_StatBuf *buf) #} -declare 106 generic { - int TclStatDeleteProc(TclStatProc_ *proc) -} -declare 107 generic { - int TclStatInsertProc(TclStatProc_ *proc) -} +#declare 106 generic { +# int TclStatDeleteProc(TclStatProc_ *proc) +#} +#declare 107 generic { +# int TclStatInsertProc(TclStatProc_ *proc) +#} declare 108 generic { void TclTeardownNamespace(Namespace *nsPtr) } @@ -428,7 +439,7 @@ declare 109 generic { } # Removed in 8.1: # declare 110 generic { -# char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr) +# char *TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr) # } # Procedures used in conjunction with Tcl namespaces. They are @@ -444,7 +455,7 @@ declare 112 generic { Tcl_Obj *objPtr) } declare 113 generic { - Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, CONST char *name, + Tcl_Namespace *Tcl_CreateNamespace(Tcl_Interp *interp, CONST char *name, ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc) } declare 114 generic { @@ -459,7 +470,7 @@ declare 116 generic { Tcl_Namespace *contextNsPtr, int flags) } declare 117 generic { - Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, CONST char *name, + Tcl_Namespace *Tcl_FindNamespace(Tcl_Interp *interp, CONST char *name, Tcl_Namespace *contextNsPtr, int flags) } declare 118 generic { @@ -486,10 +497,10 @@ declare 123 generic { Tcl_Obj *objPtr) } declare 124 generic { - Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp) + Tcl_Namespace *Tcl_GetCurrentNamespace(Tcl_Interp *interp) } declare 125 generic { - Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp) + Tcl_Namespace *Tcl_GetGlobalNamespace(Tcl_Interp *interp) } declare 126 generic { void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable, @@ -500,12 +511,12 @@ declare 127 generic { CONST char *pattern, int allowOverwrite) } declare 128 generic { - void Tcl_PopCallFrame(Tcl_Interp* interp) + void Tcl_PopCallFrame(Tcl_Interp *interp) } declare 129 generic { - int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr, + int Tcl_PushCallFrame(Tcl_Interp *interp, Tcl_CallFrame *framePtr, Tcl_Namespace *nsPtr, int isProcCallFrame) -} +} declare 130 generic { int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, CONST char *name) } @@ -518,15 +529,16 @@ declare 132 generic { int TclpHasSockets(Tcl_Interp *interp) } declare 133 generic { - struct tm * TclpGetDate(TclpTime_t time, int useGMT) -} -declare 134 generic { - size_t TclpStrftime(char *s, size_t maxsize, CONST char *format, - CONST struct tm *t, int useGMT) -} -declare 135 generic { - int TclpCheckStackSpace(void) + struct tm *TclpGetDate(CONST time_t *time, int useGMT) } +# Removed in 8.5 +#declare 134 generic { +# size_t TclpStrftime(char *s, size_t maxsize, CONST char *format, +# CONST struct tm *t, int useGMT) +#} +#declare 135 generic { +# int TclpCheckStackSpace(void) +#} # Added in 8.1: @@ -534,16 +546,16 @@ declare 135 generic { # int TclpChdir(CONST char *dirName) #} declare 138 generic { - CONST84_RETURN char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) + CONST84_RETURN char *TclGetEnv(CONST char *name, Tcl_DString *valuePtr) } #declare 139 generic { # int TclpLoadFile(Tcl_Interp *interp, char *fileName, char *sym1, # char *sym2, Tcl_PackageInitProc **proc1Ptr, # Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr) #} -declare 140 generic { - int TclLooksLikeInt(CONST char *bytes, int length) -} +#declare 140 generic { +# int TclLooksLikeInt(CONST char *bytes, int length) +#} # This is used by TclX, but should otherwise be considered private declare 141 generic { CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr) @@ -563,19 +575,15 @@ declare 144 generic { declare 145 generic { struct AuxDataType *TclGetAuxDataType(char *typeName) } - declare 146 generic { TclHandle TclHandleCreate(VOID *ptr) } - declare 147 generic { void TclHandleFree(TclHandle handle) } - declare 148 generic { TclHandle TclHandlePreserve(TclHandle handle) } - declare 149 generic { void TclHandleRelease(TclHandle handle) } @@ -589,7 +597,6 @@ declare 151 generic { void TclRegExpRangeUniChar(Tcl_RegExp re, int index, int *startPtr, int *endPtr) } - declare 152 generic { void TclSetLibraryPath(Tcl_Obj *pathPtr) } @@ -608,11 +615,11 @@ declare 153 generic { #} declare 156 generic { - void TclRegError (Tcl_Interp *interp, CONST char *msg, + void TclRegError(Tcl_Interp *interp, CONST char *msg, int status) } declare 157 generic { - Var * TclVarTraceExists (Tcl_Interp *interp, CONST char *varName) + Var *TclVarTraceExists(Tcl_Interp *interp, CONST char *varName) } declare 158 generic { void TclSetStartupScriptFileName(CONST char *filename) @@ -622,7 +629,8 @@ declare 159 generic { } #declare 160 generic { # int TclpMatchFilesTypes(Tcl_Interp *interp, char *separators, -# Tcl_DString *dirPtr, char *pattern, char *tail, GlobTypeData *types) +# Tcl_DString *dirPtr, char *pattern, char *tail, +# GlobTypeData *types) #} # new in 8.3.2/8.4a2 @@ -634,13 +642,13 @@ declare 162 generic { void TclChannelEventScriptInvoker(ClientData clientData, int flags) } -# ALERT: The result of 'TclGetInstructionTable' is actually an +# ALERT: The result of 'TclGetInstructionTable' is actually a # "InstructionDesc*" but we do not want to describe this structure in # "tclInt.h". It is described in "tclCompile.h". Use a cast to the # correct type when calling this procedure. declare 163 generic { - void * TclGetInstructionTable (void) + void *TclGetInstructionTable(void) } # ALERT: The argument of 'TclExpandCodeArray' is actually a @@ -648,7 +656,7 @@ declare 163 generic { # "tclInt.h". It is described in "tclCompile.h". declare 164 generic { - void TclExpandCodeArray (void *envPtr) + void TclExpandCodeArray(void *envPtr) } # These functions are vfs aware, but are generally only useful internally. @@ -658,7 +666,7 @@ declare 165 generic { # New function due to TIP #33 declare 166 generic { - int TclListObjSetElement(Tcl_Interp *interp, Tcl_Obj *listPtr, + int TclListObjSetElement(Tcl_Interp *interp, Tcl_Obj *listPtr, int index, Tcl_Obj *valuePtr) } @@ -674,16 +682,15 @@ declare 169 generic { int TclpUtfNcmp2(CONST char *s1, CONST char *s2, unsigned long n) } declare 170 generic { - int TclCheckInterpTraces (Tcl_Interp *interp, CONST char *command, int numChars, \ - Command *cmdPtr, int result, int traceFlags, int objc, \ - Tcl_Obj *CONST objv[]) + int TclCheckInterpTraces(Tcl_Interp *interp, CONST char *command, + int numChars, Command *cmdPtr, int result, int traceFlags, + int objc, Tcl_Obj *CONST objv[]) } declare 171 generic { - int TclCheckExecutionTraces (Tcl_Interp *interp, CONST char *command, int numChars, \ - Command *cmdPtr, int result, int traceFlags, int objc, \ - Tcl_Obj *CONST objv[]) + int TclCheckExecutionTraces(Tcl_Interp *interp, CONST char *command, + int numChars, Command *cmdPtr, int result, int traceFlags, + int objc, Tcl_Obj *CONST objv[]) } - declare 172 generic { int TclInThreadExit(void) } @@ -691,157 +698,275 @@ declare 172 generic { # added for 8.4.2 declare 173 generic { - int TclUniCharMatch (CONST Tcl_UniChar *string, int strLen, \ - CONST Tcl_UniChar *pattern, int ptnLen, int nocase) + int TclUniCharMatch(CONST Tcl_UniChar *string, int strLen, + CONST Tcl_UniChar *pattern, int ptnLen, int flags) } -# TclpGmtime and TclpLocaltime promoted to the generic interface from unix +# added for 8.4.3 -declare 182 generic { - struct tm *TclpLocaltime(TclpTime_t_CONST clock) +#declare 174 generic { +# Tcl_Obj *TclIncrWideVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, +# Tcl_Obj *part2Ptr, Tcl_WideInt wideIncrAmount, int part1NotParsed) +#} + +# Factoring out of trace code + +declare 175 generic { + int TclCallVarTraces(Interp *iPtr, Var *arrayPtr, Var *varPtr, + CONST char *part1, CONST char *part2, int flags, int leaveErrMsg) } -declare 183 generic { - struct tm *TclpGmtime(TclpTime_t_CONST clock) +declare 176 generic { + void TclCleanupVar(Var *varPtr, Var *arrayPtr) } - -declare 199 generic { - int TclMatchIsTrivial(CONST char *pattern) +declare 177 generic { + void TclVarErrMsg(Tcl_Interp *interp, CONST char *part1, CONST char *part2, + CONST char *operation, CONST char *reason) +} +declare 178 generic { + void Tcl_SetStartupScript(Tcl_Obj *pathPtr, CONST char* encodingName) +} +declare 179 generic { + Tcl_Obj *Tcl_GetStartupScript(CONST char **encodingNamePtr) } -############################################################################## +# REMOVED +# Allocate lists without copying arrays +# declare 180 generic { +# Tcl_Obj *TclNewListObjDirect(int objc, Tcl_Obj **objv) +# } +#declare 181 generic { +# Tcl_Obj *TclDbNewListObjDirect(int objc, Tcl_Obj **objv, +# CONST char *file, int line) +#} -# Define the platform specific internal Tcl interface. These functions are -# only available on the designated platform. +# TclpGmtime and TclpLocaltime promoted to the generic interface from unix -interface tclIntPlat +declare 182 generic { + struct tm *TclpLocaltime(CONST time_t *clock) +} +declare 183 generic { + struct tm *TclpGmtime(CONST time_t *clock) +} + +# For the new "Thread Storage" subsystem. + +### REMOVED on grounds it should never have been exposed. All these +### functions are now either static in tclThreadStorage.c or +### MODULE_SCOPE. +# declare 184 generic { +# void TclThreadStorageLockInit(void) +# } +# declare 185 generic { +# void TclThreadStorageLock(void) +# } +# declare 186 generic { +# void TclThreadStorageUnlock(void) +# } +# declare 187 generic { +# void TclThreadStoragePrint(FILE *outFile, int flags) +# } +# declare 188 generic { +# Tcl_HashTable *TclThreadStorageGetHashTable(Tcl_ThreadId id) +# } +# declare 189 generic { +# Tcl_HashTable *TclThreadStorageInit(Tcl_ThreadId id, void *reserved) +# } +# declare 190 generic { +# void TclThreadStorageDataKeyInit(Tcl_ThreadDataKey *keyPtr) +# } +# declare 191 generic { +# void *TclThreadStorageDataKeyGet(Tcl_ThreadDataKey *keyPtr) +# } +# declare 192 generic { +# void TclThreadStorageDataKeySet(Tcl_ThreadDataKey *keyPtr, void *data) +# } +# declare 193 generic { +# void TclFinalizeThreadStorageThread(Tcl_ThreadId id) +# } +# declare 194 generic { +# void TclFinalizeThreadStorage(void) +# } +# declare 195 generic { +# void TclFinalizeThreadStorageData(Tcl_ThreadDataKey *keyPtr) +# } +# declare 196 generic { +# void TclFinalizeThreadStorageDataKey(Tcl_ThreadDataKey *keyPtr) +# } -######################## -# Mac specific internals +# +# Added in tcl8.5a5 for compiler/executor experimentation. +# Disabled in Tcl 8.5.1; experiments terminated. :/ +# +#declare 197 generic { +# int TclCompEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr, +# CONST CmdFrame *invoker, int word) +#} +declare 198 generic { + int TclObjGetFrame(Tcl_Interp *interp, Tcl_Obj *objPtr, + CallFrame **framePtrPtr) +} -declare 0 mac { - VOID * TclpSysAlloc(long size, int isBin) +#declare 199 generic { +# int TclMatchIsTrivial(CONST char *pattern) +#} + +# 200-208 exported for use by the test suite [Bug 1054748] +declare 200 generic { + int TclpObjRemoveDirectory(Tcl_Obj *pathPtr, int recursive, + Tcl_Obj **errorPtr) } -declare 1 mac { - void TclpSysFree(VOID *ptr) +declare 201 generic { + int TclpObjCopyDirectory(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr, + Tcl_Obj **errorPtr) } -declare 2 mac { - VOID * TclpSysRealloc(VOID *cp, unsigned int size) +declare 202 generic { + int TclpObjCreateDirectory(Tcl_Obj *pathPtr) } -declare 3 mac { - void TclpExit(int status) +declare 203 generic { + int TclpObjDeleteFile(Tcl_Obj *pathPtr) } - -# Prototypes for functions found in the tclMacUtil.c compatability library. - -declare 4 mac { - int FSpGetDefaultDir(FSSpecPtr theSpec) +declare 204 generic { + int TclpObjCopyFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr) } -declare 5 mac { - int FSpSetDefaultDir(FSSpecPtr theSpec) +declare 205 generic { + int TclpObjRenameFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr) } -declare 6 mac { - OSErr FSpFindFolder(short vRefNum, OSType folderType, - Boolean createFolder, FSSpec *spec) +declare 206 generic { + int TclpObjStat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf) } -declare 7 mac { - void GetGlobalMouseTcl(Point *mouse) +declare 207 generic { + 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 generic { + Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, + Tcl_Obj *pathPtr, int mode, int permissions) +} +# Made public by TIP 258 +#declare 209 generic { +# Tcl_Obj *TclGetEncodingSearchPath(void) +#} +#declare 210 generic { +# int TclSetEncodingSearchPath(Tcl_Obj *searchPath) +#} +#declare 211 generic { +# CONST char *TclpGetEncodingNameFromEnvironment(Tcl_DString *bufPtr) +#} +declare 212 generic { + void TclpFindExecutable(CONST char *argv0) } -declare 9 mac { - pascal short FSpOpenResFileCompatTcl(CONST FSSpec *spec, - SignedByte permission) +declare 213 generic { + Tcl_Obj *TclGetObjNameOfExecutable(void) } -declare 10 mac { - pascal void FSpCreateResFileCompatTcl(CONST FSSpec *spec, OSType creator, - OSType fileType, ScriptCode scriptTag) +declare 214 generic { + void TclSetObjNameOfExecutable(Tcl_Obj *name, Tcl_Encoding encoding) } - -# 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 215 generic { + void *TclStackAlloc(Tcl_Interp *interp, int numBytes) } -declare 12 mac { - OSErr FSpPathFromLocation(FSSpecPtr theSpec, int *length, - Handle *fullPath) +declare 216 generic { + void TclStackFree(Tcl_Interp *interp, void *freePtr) +} +declare 217 generic { + int TclPushStackFrame(Tcl_Interp *interp, Tcl_CallFrame **framePtrPtr, + Tcl_Namespace *namespacePtr, int isProcCallFrame) +} +declare 218 generic { + void TclPopStackFrame(Tcl_Interp *interp) } -# Prototypes of Mac only internal functions. +# for use in tclTest.c +declare 224 generic { + TclPlatformType *TclGetPlatform(void) +} -declare 13 mac { - void TclMacExitHandler(void) +# +declare 225 generic { + 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 generic { + int TclObjBeingDeleted(Tcl_Obj *objPtr) } -declare 15 mac { - OSErr TclMacInstallExitToShellPatch(ExitToShellProcPtr newProc) +declare 227 generic { + void TclSetNsPath(Namespace *nsPtr, int pathLength, + Tcl_Namespace *pathAry[]) } -declare 16 mac { - int TclMacOSErrorToPosixError(int error) +declare 228 generic { + int TclObjInterpProcCore(register Tcl_Interp *interp, Tcl_Obj *procNameObj, + int skip, ProcErrorProc errorProc) } -declare 17 mac { - void TclMacRemoveTimer(void *timerToken) +declare 229 generic { + int TclPtrMakeUpvar(Tcl_Interp *interp, Var *otherP1Ptr, + CONST char *myName, int myFlags, int index) } -declare 18 mac { - void * TclMacStartTimer(long ms) +declare 230 generic { + 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 generic { + 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 generic { + 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 generic { + 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 generic { + Var *TclVarHashCreateVar(TclVarHashTable *tablePtr, CONST char *key, + int *newPtr) } -declare 25 mac { - int TclMacChmod(CONST char *path, int mode) +declare 235 generic { + 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 generic { + void TclBackgroundException(Tcl_Interp *interp, int code) +} + +# Tcl_Obj leak detection support. +declare 243 generic { + void TclDbDumpActiveObjects(FILE *outFile) } -############################ -# Windows specific internals +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 declare 0 win { - void TclWinConvertError(DWORD errCode) + void TclWinConvertError(unsigned long errCode) } declare 1 win { - void TclWinConvertWSAError(DWORD errCode) + void TclWinConvertWSAError(unsigned long errCode) } declare 2 win { - struct servent * TclWinGetServByName(CONST char *nm, + struct servent *TclWinGetServByName(CONST char *nm, CONST char *proto) } declare 3 win { - int TclWinGetSockOpt(SOCKET s, int level, int optname, - char FAR * optval, int FAR *optlen) + int TclWinGetSockOpt(int s, int level, int optname, + char FAR *optval, int FAR *optlen) } declare 4 win { HINSTANCE TclWinGetTclInstance(void) @@ -854,8 +979,8 @@ declare 6 win { u_short TclWinNToHS(u_short ns) } declare 7 win { - int TclWinSetSockOpt(SOCKET s, int level, int optname, - CONST char FAR * optval, int optlen) + int TclWinSetSockOpt(int s, int level, int optname, + CONST char FAR *optval, int optlen) } declare 8 win { unsigned long TclpGetPid(Tcl_Pid pid) @@ -893,7 +1018,7 @@ declare 15 win { # TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr) # } # declare 17 win { -# char * TclpGetTZName(void) +# char *TclpGetTZName(void) # } declare 18 win { TclFile TclpMakeFile(Tcl_Channel channel, int direction) @@ -902,7 +1027,7 @@ declare 19 win { TclFile TclpOpenFile(CONST char *fname, int mode) } declare 20 win { - void TclWinAddProcess(HANDLE hProcess, DWORD id) + void TclWinAddProcess(void *hProcess, unsigned long id) } # removed permanently for 8.4 @@ -915,14 +1040,15 @@ declare 22 win { TclFile TclpCreateTempFile(CONST char *contents) } declare 23 win { - char * TclpGetTZName(int isdst) + char *TclpGetTZName(int isdst) } declare 24 win { - char * TclWinNoBackslash(char *path) -} -declare 25 win { - TclPlatformType *TclWinGetPlatform(void) + char *TclWinNoBackslash(char *path) } +# replaced by generic TclGetPlatform +#declare 25 win { +# TclPlatformType *TclWinGetPlatform(void) +#} declare 26 win { void TclWinSetInterfaces(int wide) } @@ -930,7 +1056,7 @@ declare 26 win { # Added in Tcl 8.3.3 / 8.4 declare 27 win { - void TclWinFlushDirtyChannels (void) + void TclWinFlushDirtyChannels(void) } # Added in 8.4.2 @@ -938,13 +1064,12 @@ declare 27 win { declare 28 win { void TclWinResetInterfaces(void) } - declare 29 win { - int TclWinCPUID( unsigned int index, unsigned int *regs ) + int TclWinCPUID(unsigned int index, unsigned int *regs) } -######################### -# Unix specific internals +################################ +# Unix specific functions # Pipe channel functions @@ -989,21 +1114,52 @@ declare 9 unix { # Added in 8.4: declare 10 unix { - Tcl_DirEntry * TclpReaddir(DIR * dir) + Tcl_DirEntry *TclpReaddir(DIR *dir) } - # Slots 11 and 12 are forwarders for functions that were promoted to # generic Stubs - declare 11 unix { - struct tm * TclpLocaltime_unix(TclpTime_t_CONST clock) + struct tm *TclpLocaltime_unix(CONST time_t *clock) } - declare 12 unix { - struct tm * TclpGmtime_unix(TclpTime_t_CONST clock) + struct tm *TclpGmtime_unix(CONST time_t *clock) } - declare 13 unix { - char * TclpInetNtoa(struct in_addr addr) + char *TclpInetNtoa(struct in_addr addr) +} + +# 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 + +declare 15 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) +} +declare 18 macosx { + int TclMacOSXMatchType(Tcl_Interp *interp, CONST char *pathName, + CONST char *fileName, Tcl_StatBuf *statBufPtr, + Tcl_GlobTypeData *types) +} +declare 19 macosx { + void TclMacOSXNotifierAddRunLoopMode(CONST void *runLoopMode) } + +# Local Variables: +# mode: tcl +# End: |