sl@0: # tclInt.decls -- sl@0: # sl@0: # This file contains the declarations for all unsupported sl@0: # functions that are exported by the Tcl library. This file sl@0: # is used to generate the tclIntDecls.h, tclIntPlatDecls.h, sl@0: # tclIntStub.c, tclPlatStub.c, tclCompileDecls.h and tclCompileStub.c sl@0: # files sl@0: # sl@0: # Copyright (c) 1998-1999 by Scriptics Corporation. sl@0: # Copyright (c) 2001 by Kevin B. Kenny. All rights reserved. sl@0: # sl@0: # See the file "license.terms" for information on usage and redistribution sl@0: # of this file, and for a DISCLAIMER OF ALL WARRANTIES. sl@0: # sl@0: # RCS: @(#) $Id: tclInt.decls,v 1.59.2.7 2007/04/21 19:52:14 kennykb Exp $ sl@0: sl@0: library tcl sl@0: sl@0: # Define the unsupported generic interfaces. sl@0: sl@0: interface tclInt sl@0: sl@0: # Declare each of the functions in the unsupported internal Tcl sl@0: # interface. These interfaces are allowed to changed between versions. sl@0: # Use at your own risk. Note that the position of functions should not sl@0: # be changed between versions to avoid gratuitous incompatibilities. sl@0: sl@0: # Replaced by Tcl_FSAccess in 8.4: sl@0: #declare 0 generic { sl@0: # int TclAccess(CONST char *path, int mode) sl@0: #} sl@0: declare 1 generic { sl@0: int TclAccessDeleteProc(TclAccessProc_ *proc) sl@0: } sl@0: declare 2 generic { sl@0: int TclAccessInsertProc(TclAccessProc_ *proc) sl@0: } sl@0: declare 3 generic { sl@0: void TclAllocateFreeObjects(void) sl@0: } sl@0: # Replaced by TclpChdir in 8.1: sl@0: # declare 4 generic { sl@0: # int TclChdir(Tcl_Interp *interp, char *dirName) sl@0: # } sl@0: declare 5 {unix win} { sl@0: int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, sl@0: Tcl_Channel errorChan) sl@0: } sl@0: declare 6 generic { sl@0: void TclCleanupCommand(Command *cmdPtr) sl@0: } sl@0: declare 7 generic { sl@0: int TclCopyAndCollapse(int count, CONST char *src, char *dst) sl@0: } sl@0: declare 8 generic { sl@0: int TclCopyChannel(Tcl_Interp *interp, Tcl_Channel inChan, sl@0: Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr) sl@0: } sl@0: sl@0: # TclCreatePipeline unofficially exported for use by BLT. sl@0: sl@0: declare 9 {unix win} { sl@0: int TclCreatePipeline(Tcl_Interp *interp, int argc, CONST char **argv, sl@0: Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, sl@0: TclFile *errFilePtr) sl@0: } sl@0: declare 10 generic { sl@0: int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr, sl@0: CONST char *procName, sl@0: Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr) sl@0: } sl@0: declare 11 generic { sl@0: void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr) sl@0: } sl@0: declare 12 generic { sl@0: void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr) sl@0: } sl@0: declare 13 generic { sl@0: int TclDoGlob(Tcl_Interp *interp, char *separators, sl@0: Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types) sl@0: } sl@0: declare 14 generic { sl@0: void TclDumpMemoryInfo(FILE *outFile) sl@0: } sl@0: # Removed in 8.1: sl@0: # declare 15 generic { sl@0: # void TclExpandParseValue(ParseValue *pvPtr, int needed) sl@0: # } sl@0: declare 16 generic { sl@0: void TclExprFloatError(Tcl_Interp *interp, double value) sl@0: } sl@0: # Removed in 8.4 sl@0: #declare 17 generic { sl@0: # int TclFileAttrsCmd(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) sl@0: #} sl@0: #declare 18 generic { sl@0: # int TclFileCopyCmd(Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: #declare 19 generic { sl@0: # int TclFileDeleteCmd(Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: #declare 20 generic { sl@0: # int TclFileMakeDirsCmd(Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: #declare 21 generic { sl@0: # int TclFileRenameCmd(Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: declare 22 generic { sl@0: int TclFindElement(Tcl_Interp *interp, CONST char *listStr, sl@0: int listLength, CONST char **elementPtr, CONST char **nextPtr, sl@0: int *sizePtr, int *bracePtr) sl@0: } sl@0: declare 23 generic { sl@0: Proc * TclFindProc(Interp *iPtr, CONST char *procName) sl@0: } sl@0: declare 24 generic { sl@0: int TclFormatInt(char *buffer, long n) sl@0: } sl@0: declare 25 generic { sl@0: void TclFreePackageInfo(Interp *iPtr) sl@0: } sl@0: # Removed in 8.1: sl@0: # declare 26 generic { sl@0: # char * TclGetCwd(Tcl_Interp *interp) sl@0: # } sl@0: declare 27 generic { sl@0: int TclGetDate(char *p, Tcl_WideInt now, long zone, sl@0: Tcl_WideInt *timePtr) sl@0: } sl@0: declare 28 generic { sl@0: Tcl_Channel TclpGetDefaultStdChannel(int type) sl@0: } sl@0: # Removed in 8.4b2: sl@0: #declare 29 generic { sl@0: # Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp, sl@0: # int localIndex, Tcl_Obj *elemPtr, int flags) sl@0: #} sl@0: # Replaced by char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) in 8.1: sl@0: # declare 30 generic { sl@0: # char * TclGetEnv(CONST char *name) sl@0: # } sl@0: declare 31 generic { sl@0: char * TclGetExtension(char *name) sl@0: } sl@0: declare 32 generic { sl@0: int TclGetFrame(Tcl_Interp *interp, CONST char *str, sl@0: CallFrame **framePtrPtr) sl@0: } sl@0: declare 33 generic { sl@0: TclCmdProcType TclGetInterpProc(void) sl@0: } sl@0: declare 34 generic { sl@0: int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, sl@0: int endValue, int *indexPtr) sl@0: } sl@0: # Removed in 8.4b2: sl@0: #declare 35 generic { sl@0: # Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex, sl@0: # int flags) sl@0: #} sl@0: declare 36 generic { sl@0: int TclGetLong(Tcl_Interp *interp, CONST char *str, long *longPtr) sl@0: } sl@0: declare 37 generic { sl@0: int TclGetLoadedPackages(Tcl_Interp *interp, char *targetName) sl@0: } sl@0: declare 38 generic { sl@0: int TclGetNamespaceForQualName(Tcl_Interp *interp, CONST char *qualName, sl@0: Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, sl@0: Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr, sl@0: CONST char **simpleNamePtr) sl@0: } sl@0: declare 39 generic { sl@0: TclObjCmdProcType TclGetObjInterpProc(void) sl@0: } sl@0: declare 40 generic { sl@0: int TclGetOpenMode(Tcl_Interp *interp, CONST char *str, int *seekFlagPtr) sl@0: } sl@0: declare 41 generic { sl@0: Tcl_Command TclGetOriginalCommand(Tcl_Command command) sl@0: } sl@0: declare 42 generic { sl@0: char * TclpGetUserHome(CONST char *name, Tcl_DString *bufferPtr) sl@0: } sl@0: declare 43 generic { sl@0: int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) sl@0: } sl@0: declare 44 generic { sl@0: int TclGuessPackageName(CONST char *fileName, Tcl_DString *bufPtr) sl@0: } sl@0: declare 45 generic { sl@0: int TclHideUnsafeCommands(Tcl_Interp *interp) sl@0: } sl@0: declare 46 generic { sl@0: int TclInExit(void) sl@0: } sl@0: # Removed in 8.4b2: sl@0: #declare 47 generic { sl@0: # Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp, sl@0: # int localIndex, Tcl_Obj *elemPtr, long incrAmount) sl@0: #} sl@0: # Removed in 8.4b2: sl@0: #declare 48 generic { sl@0: # Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, sl@0: # long incrAmount) sl@0: #} sl@0: declare 49 generic { sl@0: Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, sl@0: Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) sl@0: } sl@0: declare 50 generic { sl@0: void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, sl@0: Namespace *nsPtr) sl@0: } sl@0: declare 51 generic { sl@0: int TclInterpInit(Tcl_Interp *interp) sl@0: } sl@0: declare 52 generic { sl@0: int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags) sl@0: } sl@0: declare 53 generic { sl@0: int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp, sl@0: int argc, CONST84 char **argv) sl@0: } sl@0: declare 54 generic { sl@0: int TclInvokeStringCommand(ClientData clientData, Tcl_Interp *interp, sl@0: int objc, Tcl_Obj *CONST objv[]) sl@0: } sl@0: declare 55 generic { sl@0: Proc * TclIsProc(Command *cmdPtr) sl@0: } sl@0: # Replaced with TclpLoadFile in 8.1: sl@0: # declare 56 generic { sl@0: # int TclLoadFile(Tcl_Interp *interp, char *fileName, char *sym1, sl@0: # char *sym2, Tcl_PackageInitProc **proc1Ptr, sl@0: # Tcl_PackageInitProc **proc2Ptr) sl@0: # } sl@0: # Signature changed to take a length in 8.1: sl@0: # declare 57 generic { sl@0: # int TclLooksLikeInt(char *p) sl@0: # } sl@0: declare 58 generic { sl@0: Var * TclLookupVar(Tcl_Interp *interp, CONST char *part1, CONST char *part2, sl@0: int flags, CONST char *msg, int createPart1, int createPart2, sl@0: Var **arrayPtrPtr) sl@0: } sl@0: # Replaced by Tcl_FSMatchInDirectory in 8.4 sl@0: #declare 59 generic { sl@0: # int TclpMatchFiles(Tcl_Interp *interp, char *separators, sl@0: # Tcl_DString *dirPtr, char *pattern, char *tail) sl@0: #} sl@0: declare 60 generic { sl@0: int TclNeedSpace(CONST char *start, CONST char *end) sl@0: } sl@0: declare 61 generic { sl@0: Tcl_Obj * TclNewProcBodyObj(Proc *procPtr) sl@0: } sl@0: declare 62 generic { sl@0: int TclObjCommandComplete(Tcl_Obj *cmdPtr) sl@0: } sl@0: declare 63 generic { sl@0: int TclObjInterpProc(ClientData clientData, Tcl_Interp *interp, sl@0: int objc, Tcl_Obj *CONST objv[]) sl@0: } sl@0: declare 64 generic { sl@0: int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], sl@0: int flags) sl@0: } sl@0: declare 65 generic { sl@0: int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, sl@0: Tcl_Obj *CONST objv[], int flags) sl@0: } sl@0: declare 66 generic { sl@0: int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) sl@0: } sl@0: declare 67 generic { sl@0: int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) sl@0: } sl@0: # Replaced by Tcl_FSAccess in 8.4: sl@0: #declare 68 generic { sl@0: # int TclpAccess(CONST char *path, int mode) sl@0: #} sl@0: declare 69 generic { sl@0: char * TclpAlloc(unsigned int size) sl@0: } sl@0: #declare 70 generic { sl@0: # int TclpCopyFile(CONST char *source, CONST char *dest) sl@0: #} sl@0: #declare 71 generic { sl@0: # int TclpCopyDirectory(CONST char *source, CONST char *dest, sl@0: # Tcl_DString *errorPtr) sl@0: #} sl@0: #declare 72 generic { sl@0: # int TclpCreateDirectory(CONST char *path) sl@0: #} sl@0: #declare 73 generic { sl@0: # int TclpDeleteFile(CONST char *path) sl@0: #} sl@0: declare 74 generic { sl@0: void TclpFree(char *ptr) sl@0: } sl@0: declare 75 generic { sl@0: unsigned long TclpGetClicks(void) sl@0: } sl@0: declare 76 generic { sl@0: unsigned long TclpGetSeconds(void) sl@0: } sl@0: sl@0: # deprecated sl@0: declare 77 generic { sl@0: void TclpGetTime(Tcl_Time *time) sl@0: } sl@0: sl@0: declare 78 generic { sl@0: int TclpGetTimeZone(Tcl_WideInt time) sl@0: } sl@0: # Replaced by Tcl_FSListVolumes in 8.4: sl@0: #declare 79 generic { sl@0: # int TclpListVolumes(Tcl_Interp *interp) sl@0: #} sl@0: # Replaced by Tcl_FSOpenFileChannel in 8.4: sl@0: #declare 80 generic { sl@0: # Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, char *fileName, sl@0: # char *modeString, int permissions) sl@0: #} sl@0: declare 81 generic { sl@0: char * TclpRealloc(char *ptr, unsigned int size) sl@0: } sl@0: #declare 82 generic { sl@0: # int TclpRemoveDirectory(CONST char *path, int recursive, sl@0: # Tcl_DString *errorPtr) sl@0: #} sl@0: #declare 83 generic { sl@0: # int TclpRenameFile(CONST char *source, CONST char *dest) sl@0: #} sl@0: # Removed in 8.1: sl@0: # declare 84 generic { sl@0: # int TclParseBraces(Tcl_Interp *interp, char *str, char **termPtr, sl@0: # ParseValue *pvPtr) sl@0: # } sl@0: # declare 85 generic { sl@0: # int TclParseNestedCmd(Tcl_Interp *interp, char *str, int flags, sl@0: # char **termPtr, ParseValue *pvPtr) sl@0: # } sl@0: # declare 86 generic { sl@0: # int TclParseQuotes(Tcl_Interp *interp, char *str, int termChar, sl@0: # int flags, char **termPtr, ParseValue *pvPtr) sl@0: # } sl@0: # declare 87 generic { sl@0: # void TclPlatformInit(Tcl_Interp *interp) sl@0: # } sl@0: declare 88 generic { sl@0: char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp, sl@0: CONST char *name1, CONST char *name2, int flags) sl@0: } sl@0: declare 89 generic { sl@0: int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp, sl@0: Tcl_Command cmd) sl@0: } sl@0: # Removed in 8.1 (only available if compiled with TCL_COMPILE_DEBUG): sl@0: # declare 90 generic { sl@0: # void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr) sl@0: # } sl@0: declare 91 generic { sl@0: void TclProcCleanupProc(Proc *procPtr) sl@0: } sl@0: declare 92 generic { sl@0: int TclProcCompileProc(Tcl_Interp *interp, Proc *procPtr, sl@0: Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description, sl@0: CONST char *procName) sl@0: } sl@0: declare 93 generic { sl@0: void TclProcDeleteProc(ClientData clientData) sl@0: } sl@0: declare 94 generic { sl@0: int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, sl@0: int argc, CONST84 char **argv) sl@0: } sl@0: # Replaced by Tcl_FSStat in 8.4: sl@0: #declare 95 generic { sl@0: # int TclpStat(CONST char *path, Tcl_StatBuf *buf) sl@0: #} sl@0: declare 96 generic { sl@0: int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName) sl@0: } sl@0: declare 97 generic { sl@0: void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr) sl@0: } sl@0: declare 98 generic { sl@0: int TclServiceIdle(void) sl@0: } sl@0: # Removed in 8.4b2: sl@0: #declare 99 generic { sl@0: # Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, int localIndex, sl@0: # Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int flags) sl@0: #} sl@0: # Removed in 8.4b2: sl@0: #declare 100 generic { sl@0: # Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex, sl@0: # Tcl_Obj *objPtr, int flags) sl@0: #} sl@0: declare 101 generic { sl@0: char * TclSetPreInitScript(char *string) sl@0: } sl@0: declare 102 generic { sl@0: void TclSetupEnv(Tcl_Interp *interp) sl@0: } sl@0: declare 103 generic { sl@0: int TclSockGetPort(Tcl_Interp *interp, char *str, char *proto, sl@0: int *portPtr) sl@0: } sl@0: declare 104 {unix win} { sl@0: int TclSockMinimumBuffers(int sock, int size) sl@0: } sl@0: # Replaced by Tcl_FSStat in 8.4: sl@0: #declare 105 generic { sl@0: # int TclStat(CONST char *path, Tcl_StatBuf *buf) sl@0: #} sl@0: declare 106 generic { sl@0: int TclStatDeleteProc(TclStatProc_ *proc) sl@0: } sl@0: declare 107 generic { sl@0: int TclStatInsertProc(TclStatProc_ *proc) sl@0: } sl@0: declare 108 generic { sl@0: void TclTeardownNamespace(Namespace *nsPtr) sl@0: } sl@0: declare 109 generic { sl@0: int TclUpdateReturnInfo(Interp *iPtr) sl@0: } sl@0: # Removed in 8.1: sl@0: # declare 110 generic { sl@0: # char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr) sl@0: # } sl@0: sl@0: # Procedures used in conjunction with Tcl namespaces. They are sl@0: # defined here instead of in tcl.decls since they are not stable yet. sl@0: sl@0: declare 111 generic { sl@0: void Tcl_AddInterpResolvers(Tcl_Interp *interp, CONST char *name, sl@0: Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, sl@0: Tcl_ResolveCompiledVarProc *compiledVarProc) sl@0: } sl@0: declare 112 generic { sl@0: int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr, sl@0: Tcl_Obj *objPtr) sl@0: } sl@0: declare 113 generic { sl@0: Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, CONST char *name, sl@0: ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc) sl@0: } sl@0: declare 114 generic { sl@0: void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr) sl@0: } sl@0: declare 115 generic { sl@0: int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr, sl@0: CONST char *pattern, int resetListFirst) sl@0: } sl@0: declare 116 generic { sl@0: Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, CONST char *name, sl@0: Tcl_Namespace *contextNsPtr, int flags) sl@0: } sl@0: declare 117 generic { sl@0: Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, CONST char *name, sl@0: Tcl_Namespace *contextNsPtr, int flags) sl@0: } sl@0: declare 118 generic { sl@0: int Tcl_GetInterpResolvers(Tcl_Interp *interp, CONST char *name, sl@0: Tcl_ResolverInfo *resInfo) sl@0: } sl@0: declare 119 generic { sl@0: int Tcl_GetNamespaceResolvers(Tcl_Namespace *namespacePtr, sl@0: Tcl_ResolverInfo *resInfo) sl@0: } sl@0: declare 120 generic { sl@0: Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, CONST char *name, sl@0: Tcl_Namespace *contextNsPtr, int flags) sl@0: } sl@0: declare 121 generic { sl@0: int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, sl@0: CONST char *pattern) sl@0: } sl@0: declare 122 generic { sl@0: Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr) sl@0: } sl@0: declare 123 generic { sl@0: void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command, sl@0: Tcl_Obj *objPtr) sl@0: } sl@0: declare 124 generic { sl@0: Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp) sl@0: } sl@0: declare 125 generic { sl@0: Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp) sl@0: } sl@0: declare 126 generic { sl@0: void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable, sl@0: Tcl_Obj *objPtr) sl@0: } sl@0: declare 127 generic { sl@0: int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr, sl@0: CONST char *pattern, int allowOverwrite) sl@0: } sl@0: declare 128 generic { sl@0: void Tcl_PopCallFrame(Tcl_Interp* interp) sl@0: } sl@0: declare 129 generic { sl@0: int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr, sl@0: Tcl_Namespace *nsPtr, int isProcCallFrame) sl@0: } sl@0: declare 130 generic { sl@0: int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, CONST char *name) sl@0: } sl@0: declare 131 generic { sl@0: void Tcl_SetNamespaceResolvers(Tcl_Namespace *namespacePtr, sl@0: Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, sl@0: Tcl_ResolveCompiledVarProc *compiledVarProc) sl@0: } sl@0: declare 132 generic { sl@0: int TclpHasSockets(Tcl_Interp *interp) sl@0: } sl@0: declare 133 generic { sl@0: struct tm * TclpGetDate(TclpTime_t time, int useGMT) sl@0: } sl@0: declare 134 generic { sl@0: size_t TclpStrftime(char *s, size_t maxsize, CONST char *format, sl@0: CONST struct tm *t, int useGMT) sl@0: } sl@0: declare 135 generic { sl@0: int TclpCheckStackSpace(void) sl@0: } sl@0: sl@0: # Added in 8.1: sl@0: sl@0: #declare 137 generic { sl@0: # int TclpChdir(CONST char *dirName) sl@0: #} sl@0: declare 138 generic { sl@0: CONST84_RETURN char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) sl@0: } sl@0: #declare 139 generic { sl@0: # int TclpLoadFile(Tcl_Interp *interp, char *fileName, char *sym1, sl@0: # char *sym2, Tcl_PackageInitProc **proc1Ptr, sl@0: # Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr) sl@0: #} sl@0: declare 140 generic { sl@0: int TclLooksLikeInt(CONST char *bytes, int length) sl@0: } sl@0: # This is used by TclX, but should otherwise be considered private sl@0: declare 141 generic { sl@0: CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr) sl@0: } sl@0: declare 142 generic { sl@0: int TclSetByteCodeFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr, sl@0: CompileHookProc *hookProc, ClientData clientData) sl@0: } sl@0: declare 143 generic { sl@0: int TclAddLiteralObj(struct CompileEnv *envPtr, Tcl_Obj *objPtr, sl@0: LiteralEntry **litPtrPtr) sl@0: } sl@0: declare 144 generic { sl@0: void TclHideLiteral(Tcl_Interp *interp, struct CompileEnv *envPtr, sl@0: int index) sl@0: } sl@0: declare 145 generic { sl@0: struct AuxDataType *TclGetAuxDataType(char *typeName) sl@0: } sl@0: sl@0: declare 146 generic { sl@0: TclHandle TclHandleCreate(VOID *ptr) sl@0: } sl@0: sl@0: declare 147 generic { sl@0: void TclHandleFree(TclHandle handle) sl@0: } sl@0: sl@0: declare 148 generic { sl@0: TclHandle TclHandlePreserve(TclHandle handle) sl@0: } sl@0: sl@0: declare 149 generic { sl@0: void TclHandleRelease(TclHandle handle) sl@0: } sl@0: sl@0: # Added for Tcl 8.2 sl@0: sl@0: declare 150 generic { sl@0: int TclRegAbout(Tcl_Interp *interp, Tcl_RegExp re) sl@0: } sl@0: declare 151 generic { sl@0: void TclRegExpRangeUniChar(Tcl_RegExp re, int index, int *startPtr, sl@0: int *endPtr) sl@0: } sl@0: sl@0: declare 152 generic { sl@0: void TclSetLibraryPath(Tcl_Obj *pathPtr) sl@0: } sl@0: declare 153 generic { sl@0: Tcl_Obj *TclGetLibraryPath(void) sl@0: } sl@0: sl@0: # moved to tclTest.c (static) in 8.3.2/8.4a2 sl@0: #declare 154 generic { sl@0: # int TclTestChannelCmd(ClientData clientData, sl@0: # Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: #declare 155 generic { sl@0: # int TclTestChannelEventCmd(ClientData clientData, sl@0: # Tcl_Interp *interp, int argc, char **argv) sl@0: #} sl@0: sl@0: declare 156 generic { sl@0: void TclRegError (Tcl_Interp *interp, CONST char *msg, sl@0: int status) sl@0: } sl@0: declare 157 generic { sl@0: Var * TclVarTraceExists (Tcl_Interp *interp, CONST char *varName) sl@0: } sl@0: declare 158 generic { sl@0: void TclSetStartupScriptFileName(CONST char *filename) sl@0: } sl@0: declare 159 generic { sl@0: CONST84_RETURN char *TclGetStartupScriptFileName(void) sl@0: } sl@0: #declare 160 generic { sl@0: # int TclpMatchFilesTypes(Tcl_Interp *interp, char *separators, sl@0: # Tcl_DString *dirPtr, char *pattern, char *tail, GlobTypeData *types) sl@0: #} sl@0: sl@0: # new in 8.3.2/8.4a2 sl@0: declare 161 generic { sl@0: int TclChannelTransform(Tcl_Interp *interp, Tcl_Channel chan, sl@0: Tcl_Obj *cmdObjPtr) sl@0: } sl@0: declare 162 generic { sl@0: void TclChannelEventScriptInvoker(ClientData clientData, int flags) sl@0: } sl@0: sl@0: # ALERT: The result of 'TclGetInstructionTable' is actually an sl@0: # "InstructionDesc*" but we do not want to describe this structure in sl@0: # "tclInt.h". It is described in "tclCompile.h". Use a cast to the sl@0: # correct type when calling this procedure. sl@0: sl@0: declare 163 generic { sl@0: void * TclGetInstructionTable (void) sl@0: } sl@0: sl@0: # ALERT: The argument of 'TclExpandCodeArray' is actually a sl@0: # "CompileEnv*" but we do not want to describe this structure in sl@0: # "tclInt.h". It is described in "tclCompile.h". sl@0: sl@0: declare 164 generic { sl@0: void TclExpandCodeArray (void *envPtr) sl@0: } sl@0: sl@0: # These functions are vfs aware, but are generally only useful internally. sl@0: declare 165 generic { sl@0: void TclpSetInitialEncodings(void) sl@0: } sl@0: sl@0: # New function due to TIP #33 sl@0: declare 166 generic { sl@0: int TclListObjSetElement(Tcl_Interp *interp, Tcl_Obj *listPtr, sl@0: int index, Tcl_Obj *valuePtr) sl@0: } sl@0: sl@0: # VFS-aware versions of Tcl*StartupScriptFileName (158 and 159 above) sl@0: declare 167 generic { sl@0: void TclSetStartupScriptPath(Tcl_Obj *pathPtr) sl@0: } sl@0: declare 168 generic { sl@0: Tcl_Obj *TclGetStartupScriptPath(void) sl@0: } sl@0: # variant of Tcl_UtfNCmp that takes n as bytes, not chars sl@0: declare 169 generic { sl@0: int TclpUtfNcmp2(CONST char *s1, CONST char *s2, unsigned long n) sl@0: } sl@0: declare 170 generic { sl@0: int TclCheckInterpTraces (Tcl_Interp *interp, CONST char *command, int numChars, \ sl@0: Command *cmdPtr, int result, int traceFlags, int objc, \ sl@0: Tcl_Obj *CONST objv[]) sl@0: } sl@0: declare 171 generic { sl@0: int TclCheckExecutionTraces (Tcl_Interp *interp, CONST char *command, int numChars, \ sl@0: Command *cmdPtr, int result, int traceFlags, int objc, \ sl@0: Tcl_Obj *CONST objv[]) sl@0: } sl@0: sl@0: declare 172 generic { sl@0: int TclInThreadExit(void) sl@0: } sl@0: sl@0: # added for 8.4.2 sl@0: sl@0: declare 173 generic { sl@0: int TclUniCharMatch (CONST Tcl_UniChar *string, int strLen, \ sl@0: CONST Tcl_UniChar *pattern, int ptnLen, int nocase) sl@0: } sl@0: sl@0: # TclpGmtime and TclpLocaltime promoted to the generic interface from unix sl@0: sl@0: declare 182 generic { sl@0: struct tm *TclpLocaltime(TclpTime_t_CONST clock) sl@0: } sl@0: declare 183 generic { sl@0: struct tm *TclpGmtime(TclpTime_t_CONST clock) sl@0: } sl@0: sl@0: declare 199 generic { sl@0: int TclMatchIsTrivial(CONST char *pattern) sl@0: } sl@0: sl@0: ############################################################################## sl@0: sl@0: # Define the platform specific internal Tcl interface. These functions are sl@0: # only available on the designated platform. sl@0: sl@0: interface tclIntPlat sl@0: sl@0: ######################## sl@0: # Mac specific internals sl@0: sl@0: declare 0 mac { sl@0: VOID * TclpSysAlloc(long size, int isBin) sl@0: } sl@0: declare 1 mac { sl@0: void TclpSysFree(VOID *ptr) sl@0: } sl@0: declare 2 mac { sl@0: VOID * TclpSysRealloc(VOID *cp, unsigned int size) sl@0: } sl@0: declare 3 mac { sl@0: void TclpExit(int status) sl@0: } sl@0: sl@0: # Prototypes for functions found in the tclMacUtil.c compatability library. sl@0: sl@0: declare 4 mac { sl@0: int FSpGetDefaultDir(FSSpecPtr theSpec) sl@0: } sl@0: declare 5 mac { sl@0: int FSpSetDefaultDir(FSSpecPtr theSpec) sl@0: } sl@0: declare 6 mac { sl@0: OSErr FSpFindFolder(short vRefNum, OSType folderType, sl@0: Boolean createFolder, FSSpec *spec) sl@0: } sl@0: declare 7 mac { sl@0: void GetGlobalMouseTcl(Point *mouse) sl@0: } sl@0: sl@0: # The following routines are utility functions in Tcl. They are exported sl@0: # here because they are needed in Tk. They are not officially supported, sl@0: # however. The first set are from the MoreFiles package. sl@0: sl@0: declare 8 mac { sl@0: pascal OSErr FSpGetDirectoryIDTcl(CONST FSSpec *spec, long *theDirID, sl@0: Boolean *isDirectory) sl@0: } sl@0: declare 9 mac { sl@0: pascal short FSpOpenResFileCompatTcl(CONST FSSpec *spec, sl@0: SignedByte permission) sl@0: } sl@0: declare 10 mac { sl@0: pascal void FSpCreateResFileCompatTcl(CONST FSSpec *spec, OSType creator, sl@0: OSType fileType, ScriptCode scriptTag) sl@0: } sl@0: sl@0: # Like the MoreFiles routines these fix problems in the standard sl@0: # Mac calls. These routines are from tclMacUtils.h. sl@0: sl@0: declare 11 mac { sl@0: int FSpLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec) sl@0: } sl@0: declare 12 mac { sl@0: OSErr FSpPathFromLocation(FSSpecPtr theSpec, int *length, sl@0: Handle *fullPath) sl@0: } sl@0: sl@0: # Prototypes of Mac only internal functions. sl@0: sl@0: declare 13 mac { sl@0: void TclMacExitHandler(void) sl@0: } sl@0: declare 14 mac { sl@0: void TclMacInitExitToShell(int usePatch) sl@0: } sl@0: declare 15 mac { sl@0: OSErr TclMacInstallExitToShellPatch(ExitToShellProcPtr newProc) sl@0: } sl@0: declare 16 mac { sl@0: int TclMacOSErrorToPosixError(int error) sl@0: } sl@0: declare 17 mac { sl@0: void TclMacRemoveTimer(void *timerToken) sl@0: } sl@0: declare 18 mac { sl@0: void * TclMacStartTimer(long ms) sl@0: } sl@0: declare 19 mac { sl@0: int TclMacTimerExpired(void *timerToken) sl@0: } sl@0: declare 20 mac { sl@0: int TclMacRegisterResourceFork(short fileRef, Tcl_Obj *tokenPtr, sl@0: int insert) sl@0: } sl@0: declare 21 mac { sl@0: short TclMacUnRegisterResourceFork(char *tokenPtr, Tcl_Obj *resultPtr) sl@0: } sl@0: declare 22 mac { sl@0: int TclMacCreateEnv(void) sl@0: } sl@0: declare 23 mac { sl@0: FILE * TclMacFOpenHack(CONST char *path, CONST char *mode) sl@0: } sl@0: # Replaced in 8.1 by TclpReadLink: sl@0: # declare 24 mac { sl@0: # int TclMacReadlink(char *path, char *buf, int size) sl@0: # } sl@0: declare 24 mac { sl@0: char * TclpGetTZName(int isdst) sl@0: } sl@0: declare 25 mac { sl@0: int TclMacChmod(CONST char *path, int mode) sl@0: } sl@0: # version of FSpLocationFromPath that doesn't resolve the last path component sl@0: declare 26 mac { sl@0: int FSpLLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec) sl@0: } sl@0: sl@0: ############################ sl@0: # Windows specific internals sl@0: sl@0: declare 0 win { sl@0: void TclWinConvertError(DWORD errCode) sl@0: } sl@0: declare 1 win { sl@0: void TclWinConvertWSAError(DWORD errCode) sl@0: } sl@0: declare 2 win { sl@0: struct servent * TclWinGetServByName(CONST char *nm, sl@0: CONST char *proto) sl@0: } sl@0: declare 3 win { sl@0: int TclWinGetSockOpt(SOCKET s, int level, int optname, sl@0: char FAR * optval, int FAR *optlen) sl@0: } sl@0: declare 4 win { sl@0: HINSTANCE TclWinGetTclInstance(void) sl@0: } sl@0: # Removed in 8.1: sl@0: # declare 5 win { sl@0: # HINSTANCE TclWinLoadLibrary(char *name) sl@0: # } sl@0: declare 6 win { sl@0: u_short TclWinNToHS(u_short ns) sl@0: } sl@0: declare 7 win { sl@0: int TclWinSetSockOpt(SOCKET s, int level, int optname, sl@0: CONST char FAR * optval, int optlen) sl@0: } sl@0: declare 8 win { sl@0: unsigned long TclpGetPid(Tcl_Pid pid) sl@0: } sl@0: declare 9 win { sl@0: int TclWinGetPlatformId(void) sl@0: } sl@0: # Removed in 8.3.1 (for Win32s only) sl@0: #declare 10 win { sl@0: # int TclWinSynchSpawn(void *args, int type, void **trans, Tcl_Pid *pidPtr) sl@0: #} sl@0: sl@0: # Pipe channel functions sl@0: sl@0: declare 11 win { sl@0: void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan) sl@0: } sl@0: declare 12 win { sl@0: int TclpCloseFile(TclFile file) sl@0: } sl@0: declare 13 win { sl@0: Tcl_Channel TclpCreateCommandChannel(TclFile readFile, sl@0: TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr) sl@0: } sl@0: declare 14 win { sl@0: int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe) sl@0: } sl@0: declare 15 win { sl@0: int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv, sl@0: TclFile inputFile, TclFile outputFile, TclFile errorFile, sl@0: Tcl_Pid *pidPtr) sl@0: } sl@0: # Signature changed in 8.1: sl@0: # declare 16 win { sl@0: # TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr) sl@0: # } sl@0: # declare 17 win { sl@0: # char * TclpGetTZName(void) sl@0: # } sl@0: declare 18 win { sl@0: TclFile TclpMakeFile(Tcl_Channel channel, int direction) sl@0: } sl@0: declare 19 win { sl@0: TclFile TclpOpenFile(CONST char *fname, int mode) sl@0: } sl@0: declare 20 win { sl@0: void TclWinAddProcess(HANDLE hProcess, DWORD id) sl@0: } sl@0: sl@0: # removed permanently for 8.4 sl@0: #declare 21 win { sl@0: # void TclpAsyncMark(Tcl_AsyncHandler async) sl@0: #} sl@0: sl@0: # Added in 8.1: sl@0: declare 22 win { sl@0: TclFile TclpCreateTempFile(CONST char *contents) sl@0: } sl@0: declare 23 win { sl@0: char * TclpGetTZName(int isdst) sl@0: } sl@0: declare 24 win { sl@0: char * TclWinNoBackslash(char *path) sl@0: } sl@0: declare 25 win { sl@0: TclPlatformType *TclWinGetPlatform(void) sl@0: } sl@0: declare 26 win { sl@0: void TclWinSetInterfaces(int wide) sl@0: } sl@0: sl@0: # Added in Tcl 8.3.3 / 8.4 sl@0: sl@0: declare 27 win { sl@0: void TclWinFlushDirtyChannels (void) sl@0: } sl@0: sl@0: # Added in 8.4.2 sl@0: sl@0: declare 28 win { sl@0: void TclWinResetInterfaces(void) sl@0: } sl@0: sl@0: declare 29 win { sl@0: int TclWinCPUID( unsigned int index, unsigned int *regs ) sl@0: } sl@0: sl@0: ######################### sl@0: # Unix specific internals sl@0: sl@0: # Pipe channel functions sl@0: sl@0: declare 0 unix { sl@0: void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan) sl@0: } sl@0: declare 1 unix { sl@0: int TclpCloseFile(TclFile file) sl@0: } sl@0: declare 2 unix { sl@0: Tcl_Channel TclpCreateCommandChannel(TclFile readFile, sl@0: TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr) sl@0: } sl@0: declare 3 unix { sl@0: int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe) sl@0: } sl@0: declare 4 unix { sl@0: int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv, sl@0: TclFile inputFile, TclFile outputFile, TclFile errorFile, sl@0: Tcl_Pid *pidPtr) sl@0: } sl@0: # Signature changed in 8.1: sl@0: # declare 5 unix { sl@0: # TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr) sl@0: # } sl@0: declare 6 unix { sl@0: TclFile TclpMakeFile(Tcl_Channel channel, int direction) sl@0: } sl@0: declare 7 unix { sl@0: TclFile TclpOpenFile(CONST char *fname, int mode) sl@0: } sl@0: declare 8 unix { sl@0: int TclUnixWaitForFile(int fd, int mask, int timeout) sl@0: } sl@0: sl@0: # Added in 8.1: sl@0: sl@0: declare 9 unix { sl@0: TclFile TclpCreateTempFile(CONST char *contents) sl@0: } sl@0: sl@0: # Added in 8.4: sl@0: sl@0: declare 10 unix { sl@0: Tcl_DirEntry * TclpReaddir(DIR * dir) sl@0: } sl@0: sl@0: # Slots 11 and 12 are forwarders for functions that were promoted to sl@0: # generic Stubs sl@0: sl@0: declare 11 unix { sl@0: struct tm * TclpLocaltime_unix(TclpTime_t_CONST clock) sl@0: } sl@0: sl@0: declare 12 unix { sl@0: struct tm * TclpGmtime_unix(TclpTime_t_CONST clock) sl@0: } sl@0: sl@0: declare 13 unix { sl@0: char * TclpInetNtoa(struct in_addr addr) sl@0: }