os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/generic/tclInt.decls
First public contribution.
3 # This file contains the declarations for all unsupported
4 # functions that are exported by the Tcl library. This file
5 # is used to generate the tclIntDecls.h, tclIntPlatDecls.h,
6 # tclIntStub.c, tclPlatStub.c, tclCompileDecls.h and tclCompileStub.c
9 # Copyright (c) 1998-1999 by Scriptics Corporation.
10 # Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
12 # See the file "license.terms" for information on usage and redistribution
13 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
15 # RCS: @(#) $Id: tclInt.decls,v 1.59.2.7 2007/04/21 19:52:14 kennykb Exp $
19 # Define the unsupported generic interfaces.
23 # Declare each of the functions in the unsupported internal Tcl
24 # interface. These interfaces are allowed to changed between versions.
25 # Use at your own risk. Note that the position of functions should not
26 # be changed between versions to avoid gratuitous incompatibilities.
28 # Replaced by Tcl_FSAccess in 8.4:
30 # int TclAccess(CONST char *path, int mode)
33 int TclAccessDeleteProc(TclAccessProc_ *proc)
36 int TclAccessInsertProc(TclAccessProc_ *proc)
39 void TclAllocateFreeObjects(void)
41 # Replaced by TclpChdir in 8.1:
43 # int TclChdir(Tcl_Interp *interp, char *dirName)
45 declare 5 {unix win} {
46 int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr,
47 Tcl_Channel errorChan)
50 void TclCleanupCommand(Command *cmdPtr)
53 int TclCopyAndCollapse(int count, CONST char *src, char *dst)
56 int TclCopyChannel(Tcl_Interp *interp, Tcl_Channel inChan,
57 Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr)
60 # TclCreatePipeline unofficially exported for use by BLT.
62 declare 9 {unix win} {
63 int TclCreatePipeline(Tcl_Interp *interp, int argc, CONST char **argv,
64 Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr,
68 int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr,
70 Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr)
73 void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr)
76 void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr)
79 int TclDoGlob(Tcl_Interp *interp, char *separators,
80 Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types)
83 void TclDumpMemoryInfo(FILE *outFile)
86 # declare 15 generic {
87 # void TclExpandParseValue(ParseValue *pvPtr, int needed)
90 void TclExprFloatError(Tcl_Interp *interp, double value)
94 # int TclFileAttrsCmd(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
97 # int TclFileCopyCmd(Tcl_Interp *interp, int argc, char **argv)
100 # int TclFileDeleteCmd(Tcl_Interp *interp, int argc, char **argv)
102 #declare 20 generic {
103 # int TclFileMakeDirsCmd(Tcl_Interp *interp, int argc, char **argv)
105 #declare 21 generic {
106 # int TclFileRenameCmd(Tcl_Interp *interp, int argc, char **argv)
109 int TclFindElement(Tcl_Interp *interp, CONST char *listStr,
110 int listLength, CONST char **elementPtr, CONST char **nextPtr,
111 int *sizePtr, int *bracePtr)
114 Proc * TclFindProc(Interp *iPtr, CONST char *procName)
117 int TclFormatInt(char *buffer, long n)
120 void TclFreePackageInfo(Interp *iPtr)
123 # declare 26 generic {
124 # char * TclGetCwd(Tcl_Interp *interp)
127 int TclGetDate(char *p, Tcl_WideInt now, long zone,
128 Tcl_WideInt *timePtr)
131 Tcl_Channel TclpGetDefaultStdChannel(int type)
134 #declare 29 generic {
135 # Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp,
136 # int localIndex, Tcl_Obj *elemPtr, int flags)
138 # Replaced by char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) in 8.1:
139 # declare 30 generic {
140 # char * TclGetEnv(CONST char *name)
143 char * TclGetExtension(char *name)
146 int TclGetFrame(Tcl_Interp *interp, CONST char *str,
147 CallFrame **framePtrPtr)
150 TclCmdProcType TclGetInterpProc(void)
153 int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr,
154 int endValue, int *indexPtr)
157 #declare 35 generic {
158 # Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex,
162 int TclGetLong(Tcl_Interp *interp, CONST char *str, long *longPtr)
165 int TclGetLoadedPackages(Tcl_Interp *interp, char *targetName)
168 int TclGetNamespaceForQualName(Tcl_Interp *interp, CONST char *qualName,
169 Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr,
170 Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr,
171 CONST char **simpleNamePtr)
174 TclObjCmdProcType TclGetObjInterpProc(void)
177 int TclGetOpenMode(Tcl_Interp *interp, CONST char *str, int *seekFlagPtr)
180 Tcl_Command TclGetOriginalCommand(Tcl_Command command)
183 char * TclpGetUserHome(CONST char *name, Tcl_DString *bufferPtr)
186 int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
189 int TclGuessPackageName(CONST char *fileName, Tcl_DString *bufPtr)
192 int TclHideUnsafeCommands(Tcl_Interp *interp)
198 #declare 47 generic {
199 # Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp,
200 # int localIndex, Tcl_Obj *elemPtr, long incrAmount)
203 #declare 48 generic {
204 # Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex,
208 Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
209 Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed)
212 void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr,
216 int TclInterpInit(Tcl_Interp *interp)
219 int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
222 int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp,
223 int argc, CONST84 char **argv)
226 int TclInvokeStringCommand(ClientData clientData, Tcl_Interp *interp,
227 int objc, Tcl_Obj *CONST objv[])
230 Proc * TclIsProc(Command *cmdPtr)
232 # Replaced with TclpLoadFile in 8.1:
233 # declare 56 generic {
234 # int TclLoadFile(Tcl_Interp *interp, char *fileName, char *sym1,
235 # char *sym2, Tcl_PackageInitProc **proc1Ptr,
236 # Tcl_PackageInitProc **proc2Ptr)
238 # Signature changed to take a length in 8.1:
239 # declare 57 generic {
240 # int TclLooksLikeInt(char *p)
243 Var * TclLookupVar(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
244 int flags, CONST char *msg, int createPart1, int createPart2,
247 # Replaced by Tcl_FSMatchInDirectory in 8.4
248 #declare 59 generic {
249 # int TclpMatchFiles(Tcl_Interp *interp, char *separators,
250 # Tcl_DString *dirPtr, char *pattern, char *tail)
253 int TclNeedSpace(CONST char *start, CONST char *end)
256 Tcl_Obj * TclNewProcBodyObj(Proc *procPtr)
259 int TclObjCommandComplete(Tcl_Obj *cmdPtr)
262 int TclObjInterpProc(ClientData clientData, Tcl_Interp *interp,
263 int objc, Tcl_Obj *CONST objv[])
266 int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[],
270 int TclObjInvokeGlobal(Tcl_Interp *interp, int objc,
271 Tcl_Obj *CONST objv[], int flags)
274 int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc)
277 int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc)
279 # Replaced by Tcl_FSAccess in 8.4:
280 #declare 68 generic {
281 # int TclpAccess(CONST char *path, int mode)
284 char * TclpAlloc(unsigned int size)
286 #declare 70 generic {
287 # int TclpCopyFile(CONST char *source, CONST char *dest)
289 #declare 71 generic {
290 # int TclpCopyDirectory(CONST char *source, CONST char *dest,
291 # Tcl_DString *errorPtr)
293 #declare 72 generic {
294 # int TclpCreateDirectory(CONST char *path)
296 #declare 73 generic {
297 # int TclpDeleteFile(CONST char *path)
300 void TclpFree(char *ptr)
303 unsigned long TclpGetClicks(void)
306 unsigned long TclpGetSeconds(void)
311 void TclpGetTime(Tcl_Time *time)
315 int TclpGetTimeZone(Tcl_WideInt time)
317 # Replaced by Tcl_FSListVolumes in 8.4:
318 #declare 79 generic {
319 # int TclpListVolumes(Tcl_Interp *interp)
321 # Replaced by Tcl_FSOpenFileChannel in 8.4:
322 #declare 80 generic {
323 # Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, char *fileName,
324 # char *modeString, int permissions)
327 char * TclpRealloc(char *ptr, unsigned int size)
329 #declare 82 generic {
330 # int TclpRemoveDirectory(CONST char *path, int recursive,
331 # Tcl_DString *errorPtr)
333 #declare 83 generic {
334 # int TclpRenameFile(CONST char *source, CONST char *dest)
337 # declare 84 generic {
338 # int TclParseBraces(Tcl_Interp *interp, char *str, char **termPtr,
341 # declare 85 generic {
342 # int TclParseNestedCmd(Tcl_Interp *interp, char *str, int flags,
343 # char **termPtr, ParseValue *pvPtr)
345 # declare 86 generic {
346 # int TclParseQuotes(Tcl_Interp *interp, char *str, int termChar,
347 # int flags, char **termPtr, ParseValue *pvPtr)
349 # declare 87 generic {
350 # void TclPlatformInit(Tcl_Interp *interp)
353 char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp,
354 CONST char *name1, CONST char *name2, int flags)
357 int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp,
360 # Removed in 8.1 (only available if compiled with TCL_COMPILE_DEBUG):
361 # declare 90 generic {
362 # void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
365 void TclProcCleanupProc(Proc *procPtr)
368 int TclProcCompileProc(Tcl_Interp *interp, Proc *procPtr,
369 Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description,
370 CONST char *procName)
373 void TclProcDeleteProc(ClientData clientData)
376 int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp,
377 int argc, CONST84 char **argv)
379 # Replaced by Tcl_FSStat in 8.4:
380 #declare 95 generic {
381 # int TclpStat(CONST char *path, Tcl_StatBuf *buf)
384 int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName)
387 void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr)
390 int TclServiceIdle(void)
393 #declare 99 generic {
394 # Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, int localIndex,
395 # Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int flags)
398 #declare 100 generic {
399 # Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex,
400 # Tcl_Obj *objPtr, int flags)
402 declare 101 generic {
403 char * TclSetPreInitScript(char *string)
405 declare 102 generic {
406 void TclSetupEnv(Tcl_Interp *interp)
408 declare 103 generic {
409 int TclSockGetPort(Tcl_Interp *interp, char *str, char *proto,
412 declare 104 {unix win} {
413 int TclSockMinimumBuffers(int sock, int size)
415 # Replaced by Tcl_FSStat in 8.4:
416 #declare 105 generic {
417 # int TclStat(CONST char *path, Tcl_StatBuf *buf)
419 declare 106 generic {
420 int TclStatDeleteProc(TclStatProc_ *proc)
422 declare 107 generic {
423 int TclStatInsertProc(TclStatProc_ *proc)
425 declare 108 generic {
426 void TclTeardownNamespace(Namespace *nsPtr)
428 declare 109 generic {
429 int TclUpdateReturnInfo(Interp *iPtr)
432 # declare 110 generic {
433 # char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr)
436 # Procedures used in conjunction with Tcl namespaces. They are
437 # defined here instead of in tcl.decls since they are not stable yet.
439 declare 111 generic {
440 void Tcl_AddInterpResolvers(Tcl_Interp *interp, CONST char *name,
441 Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc,
442 Tcl_ResolveCompiledVarProc *compiledVarProc)
444 declare 112 generic {
445 int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
448 declare 113 generic {
449 Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, CONST char *name,
450 ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc)
452 declare 114 generic {
453 void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr)
455 declare 115 generic {
456 int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
457 CONST char *pattern, int resetListFirst)
459 declare 116 generic {
460 Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, CONST char *name,
461 Tcl_Namespace *contextNsPtr, int flags)
463 declare 117 generic {
464 Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, CONST char *name,
465 Tcl_Namespace *contextNsPtr, int flags)
467 declare 118 generic {
468 int Tcl_GetInterpResolvers(Tcl_Interp *interp, CONST char *name,
469 Tcl_ResolverInfo *resInfo)
471 declare 119 generic {
472 int Tcl_GetNamespaceResolvers(Tcl_Namespace *namespacePtr,
473 Tcl_ResolverInfo *resInfo)
475 declare 120 generic {
476 Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, CONST char *name,
477 Tcl_Namespace *contextNsPtr, int flags)
479 declare 121 generic {
480 int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
483 declare 122 generic {
484 Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
486 declare 123 generic {
487 void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command,
490 declare 124 generic {
491 Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp)
493 declare 125 generic {
494 Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp)
496 declare 126 generic {
497 void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable,
500 declare 127 generic {
501 int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
502 CONST char *pattern, int allowOverwrite)
504 declare 128 generic {
505 void Tcl_PopCallFrame(Tcl_Interp* interp)
507 declare 129 generic {
508 int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr,
509 Tcl_Namespace *nsPtr, int isProcCallFrame)
511 declare 130 generic {
512 int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, CONST char *name)
514 declare 131 generic {
515 void Tcl_SetNamespaceResolvers(Tcl_Namespace *namespacePtr,
516 Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc,
517 Tcl_ResolveCompiledVarProc *compiledVarProc)
519 declare 132 generic {
520 int TclpHasSockets(Tcl_Interp *interp)
522 declare 133 generic {
523 struct tm * TclpGetDate(TclpTime_t time, int useGMT)
525 declare 134 generic {
526 size_t TclpStrftime(char *s, size_t maxsize, CONST char *format,
527 CONST struct tm *t, int useGMT)
529 declare 135 generic {
530 int TclpCheckStackSpace(void)
535 #declare 137 generic {
536 # int TclpChdir(CONST char *dirName)
538 declare 138 generic {
539 CONST84_RETURN char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr)
541 #declare 139 generic {
542 # int TclpLoadFile(Tcl_Interp *interp, char *fileName, char *sym1,
543 # char *sym2, Tcl_PackageInitProc **proc1Ptr,
544 # Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr)
546 declare 140 generic {
547 int TclLooksLikeInt(CONST char *bytes, int length)
549 # This is used by TclX, but should otherwise be considered private
550 declare 141 generic {
551 CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
553 declare 142 generic {
554 int TclSetByteCodeFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr,
555 CompileHookProc *hookProc, ClientData clientData)
557 declare 143 generic {
558 int TclAddLiteralObj(struct CompileEnv *envPtr, Tcl_Obj *objPtr,
559 LiteralEntry **litPtrPtr)
561 declare 144 generic {
562 void TclHideLiteral(Tcl_Interp *interp, struct CompileEnv *envPtr,
565 declare 145 generic {
566 struct AuxDataType *TclGetAuxDataType(char *typeName)
569 declare 146 generic {
570 TclHandle TclHandleCreate(VOID *ptr)
573 declare 147 generic {
574 void TclHandleFree(TclHandle handle)
577 declare 148 generic {
578 TclHandle TclHandlePreserve(TclHandle handle)
581 declare 149 generic {
582 void TclHandleRelease(TclHandle handle)
587 declare 150 generic {
588 int TclRegAbout(Tcl_Interp *interp, Tcl_RegExp re)
590 declare 151 generic {
591 void TclRegExpRangeUniChar(Tcl_RegExp re, int index, int *startPtr,
595 declare 152 generic {
596 void TclSetLibraryPath(Tcl_Obj *pathPtr)
598 declare 153 generic {
599 Tcl_Obj *TclGetLibraryPath(void)
602 # moved to tclTest.c (static) in 8.3.2/8.4a2
603 #declare 154 generic {
604 # int TclTestChannelCmd(ClientData clientData,
605 # Tcl_Interp *interp, int argc, char **argv)
607 #declare 155 generic {
608 # int TclTestChannelEventCmd(ClientData clientData,
609 # Tcl_Interp *interp, int argc, char **argv)
612 declare 156 generic {
613 void TclRegError (Tcl_Interp *interp, CONST char *msg,
616 declare 157 generic {
617 Var * TclVarTraceExists (Tcl_Interp *interp, CONST char *varName)
619 declare 158 generic {
620 void TclSetStartupScriptFileName(CONST char *filename)
622 declare 159 generic {
623 CONST84_RETURN char *TclGetStartupScriptFileName(void)
625 #declare 160 generic {
626 # int TclpMatchFilesTypes(Tcl_Interp *interp, char *separators,
627 # Tcl_DString *dirPtr, char *pattern, char *tail, GlobTypeData *types)
631 declare 161 generic {
632 int TclChannelTransform(Tcl_Interp *interp, Tcl_Channel chan,
635 declare 162 generic {
636 void TclChannelEventScriptInvoker(ClientData clientData, int flags)
639 # ALERT: The result of 'TclGetInstructionTable' is actually an
640 # "InstructionDesc*" but we do not want to describe this structure in
641 # "tclInt.h". It is described in "tclCompile.h". Use a cast to the
642 # correct type when calling this procedure.
644 declare 163 generic {
645 void * TclGetInstructionTable (void)
648 # ALERT: The argument of 'TclExpandCodeArray' is actually a
649 # "CompileEnv*" but we do not want to describe this structure in
650 # "tclInt.h". It is described in "tclCompile.h".
652 declare 164 generic {
653 void TclExpandCodeArray (void *envPtr)
656 # These functions are vfs aware, but are generally only useful internally.
657 declare 165 generic {
658 void TclpSetInitialEncodings(void)
661 # New function due to TIP #33
662 declare 166 generic {
663 int TclListObjSetElement(Tcl_Interp *interp, Tcl_Obj *listPtr,
664 int index, Tcl_Obj *valuePtr)
667 # VFS-aware versions of Tcl*StartupScriptFileName (158 and 159 above)
668 declare 167 generic {
669 void TclSetStartupScriptPath(Tcl_Obj *pathPtr)
671 declare 168 generic {
672 Tcl_Obj *TclGetStartupScriptPath(void)
674 # variant of Tcl_UtfNCmp that takes n as bytes, not chars
675 declare 169 generic {
676 int TclpUtfNcmp2(CONST char *s1, CONST char *s2, unsigned long n)
678 declare 170 generic {
679 int TclCheckInterpTraces (Tcl_Interp *interp, CONST char *command, int numChars, \
680 Command *cmdPtr, int result, int traceFlags, int objc, \
681 Tcl_Obj *CONST objv[])
683 declare 171 generic {
684 int TclCheckExecutionTraces (Tcl_Interp *interp, CONST char *command, int numChars, \
685 Command *cmdPtr, int result, int traceFlags, int objc, \
686 Tcl_Obj *CONST objv[])
689 declare 172 generic {
690 int TclInThreadExit(void)
695 declare 173 generic {
696 int TclUniCharMatch (CONST Tcl_UniChar *string, int strLen, \
697 CONST Tcl_UniChar *pattern, int ptnLen, int nocase)
700 # TclpGmtime and TclpLocaltime promoted to the generic interface from unix
702 declare 182 generic {
703 struct tm *TclpLocaltime(TclpTime_t_CONST clock)
705 declare 183 generic {
706 struct tm *TclpGmtime(TclpTime_t_CONST clock)
709 declare 199 generic {
710 int TclMatchIsTrivial(CONST char *pattern)
713 ##############################################################################
715 # Define the platform specific internal Tcl interface. These functions are
716 # only available on the designated platform.
720 ########################
721 # Mac specific internals
724 VOID * TclpSysAlloc(long size, int isBin)
727 void TclpSysFree(VOID *ptr)
730 VOID * TclpSysRealloc(VOID *cp, unsigned int size)
733 void TclpExit(int status)
736 # Prototypes for functions found in the tclMacUtil.c compatability library.
739 int FSpGetDefaultDir(FSSpecPtr theSpec)
742 int FSpSetDefaultDir(FSSpecPtr theSpec)
745 OSErr FSpFindFolder(short vRefNum, OSType folderType,
746 Boolean createFolder, FSSpec *spec)
749 void GetGlobalMouseTcl(Point *mouse)
752 # The following routines are utility functions in Tcl. They are exported
753 # here because they are needed in Tk. They are not officially supported,
754 # however. The first set are from the MoreFiles package.
757 pascal OSErr FSpGetDirectoryIDTcl(CONST FSSpec *spec, long *theDirID,
758 Boolean *isDirectory)
761 pascal short FSpOpenResFileCompatTcl(CONST FSSpec *spec,
762 SignedByte permission)
765 pascal void FSpCreateResFileCompatTcl(CONST FSSpec *spec, OSType creator,
766 OSType fileType, ScriptCode scriptTag)
769 # Like the MoreFiles routines these fix problems in the standard
770 # Mac calls. These routines are from tclMacUtils.h.
773 int FSpLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec)
776 OSErr FSpPathFromLocation(FSSpecPtr theSpec, int *length,
780 # Prototypes of Mac only internal functions.
783 void TclMacExitHandler(void)
786 void TclMacInitExitToShell(int usePatch)
789 OSErr TclMacInstallExitToShellPatch(ExitToShellProcPtr newProc)
792 int TclMacOSErrorToPosixError(int error)
795 void TclMacRemoveTimer(void *timerToken)
798 void * TclMacStartTimer(long ms)
801 int TclMacTimerExpired(void *timerToken)
804 int TclMacRegisterResourceFork(short fileRef, Tcl_Obj *tokenPtr,
808 short TclMacUnRegisterResourceFork(char *tokenPtr, Tcl_Obj *resultPtr)
811 int TclMacCreateEnv(void)
814 FILE * TclMacFOpenHack(CONST char *path, CONST char *mode)
816 # Replaced in 8.1 by TclpReadLink:
818 # int TclMacReadlink(char *path, char *buf, int size)
821 char * TclpGetTZName(int isdst)
824 int TclMacChmod(CONST char *path, int mode)
826 # version of FSpLocationFromPath that doesn't resolve the last path component
828 int FSpLLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec)
831 ############################
832 # Windows specific internals
835 void TclWinConvertError(DWORD errCode)
838 void TclWinConvertWSAError(DWORD errCode)
841 struct servent * TclWinGetServByName(CONST char *nm,
845 int TclWinGetSockOpt(SOCKET s, int level, int optname,
846 char FAR * optval, int FAR *optlen)
849 HINSTANCE TclWinGetTclInstance(void)
853 # HINSTANCE TclWinLoadLibrary(char *name)
856 u_short TclWinNToHS(u_short ns)
859 int TclWinSetSockOpt(SOCKET s, int level, int optname,
860 CONST char FAR * optval, int optlen)
863 unsigned long TclpGetPid(Tcl_Pid pid)
866 int TclWinGetPlatformId(void)
868 # Removed in 8.3.1 (for Win32s only)
870 # int TclWinSynchSpawn(void *args, int type, void **trans, Tcl_Pid *pidPtr)
873 # Pipe channel functions
876 void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan)
879 int TclpCloseFile(TclFile file)
882 Tcl_Channel TclpCreateCommandChannel(TclFile readFile,
883 TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr)
886 int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe)
889 int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv,
890 TclFile inputFile, TclFile outputFile, TclFile errorFile,
893 # Signature changed in 8.1:
895 # TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr)
898 # char * TclpGetTZName(void)
901 TclFile TclpMakeFile(Tcl_Channel channel, int direction)
904 TclFile TclpOpenFile(CONST char *fname, int mode)
907 void TclWinAddProcess(HANDLE hProcess, DWORD id)
910 # removed permanently for 8.4
912 # void TclpAsyncMark(Tcl_AsyncHandler async)
917 TclFile TclpCreateTempFile(CONST char *contents)
920 char * TclpGetTZName(int isdst)
923 char * TclWinNoBackslash(char *path)
926 TclPlatformType *TclWinGetPlatform(void)
929 void TclWinSetInterfaces(int wide)
932 # Added in Tcl 8.3.3 / 8.4
935 void TclWinFlushDirtyChannels (void)
941 void TclWinResetInterfaces(void)
945 int TclWinCPUID( unsigned int index, unsigned int *regs )
948 #########################
949 # Unix specific internals
951 # Pipe channel functions
954 void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan)
957 int TclpCloseFile(TclFile file)
960 Tcl_Channel TclpCreateCommandChannel(TclFile readFile,
961 TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr)
964 int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe)
967 int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv,
968 TclFile inputFile, TclFile outputFile, TclFile errorFile,
971 # Signature changed in 8.1:
973 # TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr)
976 TclFile TclpMakeFile(Tcl_Channel channel, int direction)
979 TclFile TclpOpenFile(CONST char *fname, int mode)
982 int TclUnixWaitForFile(int fd, int mask, int timeout)
988 TclFile TclpCreateTempFile(CONST char *contents)
994 Tcl_DirEntry * TclpReaddir(DIR * dir)
997 # Slots 11 and 12 are forwarders for functions that were promoted to
1001 struct tm * TclpLocaltime_unix(TclpTime_t_CONST clock)
1005 struct tm * TclpGmtime_unix(TclpTime_t_CONST clock)
1009 char * TclpInetNtoa(struct in_addr addr)