tclInt.decls
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:27k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # tclInt.decls --
  2. #
  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
  7. # files
  8. #
  9. # Copyright (c) 1998-1999 by Scriptics Corporation.
  10. # Copyright (c) 2001 by Kevin B. Kenny.  All rights reserved.
  11. #
  12. # See the file "license.terms" for information on usage and redistribution
  13. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  14. # RCS: @(#) $Id: tclInt.decls,v 1.59.2.7 2007/04/21 19:52:14 kennykb Exp $
  15. library tcl
  16. # Define the unsupported generic interfaces.
  17. interface tclInt
  18. # Declare each of the functions in the unsupported internal Tcl
  19. # interface.  These interfaces are allowed to changed between versions.
  20. # Use at your own risk.  Note that the position of functions should not
  21. # be changed between versions to avoid gratuitous incompatibilities.
  22. # Replaced by Tcl_FSAccess in 8.4:
  23. #declare 0 generic {
  24. #    int TclAccess(CONST char *path, int mode)
  25. #}
  26. declare 1 generic {
  27.     int TclAccessDeleteProc(TclAccessProc_ *proc)
  28. }
  29. declare 2 generic {
  30.     int TclAccessInsertProc(TclAccessProc_ *proc)
  31. }
  32. declare 3 generic {
  33.     void TclAllocateFreeObjects(void)
  34. }
  35. # Replaced by TclpChdir in 8.1:
  36. #  declare 4 generic {   
  37. #      int TclChdir(Tcl_Interp *interp, char *dirName)
  38. #  }
  39. declare 5 {unix win} {
  40.     int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr,
  41.     Tcl_Channel errorChan)
  42. }
  43. declare 6 generic {
  44.     void TclCleanupCommand(Command *cmdPtr)
  45. }
  46. declare 7 generic {
  47.     int TclCopyAndCollapse(int count, CONST char *src, char *dst)
  48. }
  49. declare 8 generic {
  50.     int TclCopyChannel(Tcl_Interp *interp, Tcl_Channel inChan,
  51.     Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr)
  52. }
  53. # TclCreatePipeline unofficially exported for use by BLT.
  54. declare 9 {unix win} {
  55.     int TclCreatePipeline(Tcl_Interp *interp, int argc, CONST char **argv,
  56.     Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr,
  57.     TclFile *errFilePtr)
  58. }
  59. declare 10 generic {
  60.     int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr, 
  61.     CONST char *procName,
  62.     Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr)
  63. }
  64. declare 11 generic {
  65.     void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr)
  66. }
  67. declare 12 generic {
  68.     void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr)
  69. }
  70. declare 13 generic {
  71.     int TclDoGlob(Tcl_Interp *interp, char *separators,
  72.     Tcl_DString *headPtr, char *tail, Tcl_GlobTypeData *types)
  73. }
  74. declare 14 generic {
  75.     void TclDumpMemoryInfo(FILE *outFile)
  76. }
  77. # Removed in 8.1:
  78. #  declare 15 generic {
  79. #      void TclExpandParseValue(ParseValue *pvPtr, int needed)
  80. #  }
  81. declare 16 generic {
  82.     void TclExprFloatError(Tcl_Interp *interp, double value)
  83. }
  84. # Removed in 8.4
  85. #declare 17 generic {
  86. #    int TclFileAttrsCmd(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
  87. #}
  88. #declare 18 generic {
  89. #    int TclFileCopyCmd(Tcl_Interp *interp, int argc, char **argv)
  90. #}
  91. #declare 19 generic {
  92. #    int TclFileDeleteCmd(Tcl_Interp *interp, int argc, char **argv)
  93. #}
  94. #declare 20 generic {
  95. #    int TclFileMakeDirsCmd(Tcl_Interp *interp, int argc, char **argv)
  96. #}
  97. #declare 21 generic {
  98. #    int TclFileRenameCmd(Tcl_Interp *interp, int argc, char **argv)
  99. #}
  100. declare 22 generic {
  101.     int TclFindElement(Tcl_Interp *interp, CONST char *listStr,
  102.     int listLength, CONST char **elementPtr, CONST char **nextPtr,
  103.     int *sizePtr, int *bracePtr)
  104. }
  105. declare 23 generic {
  106.     Proc * TclFindProc(Interp *iPtr, CONST char *procName)
  107. }
  108. declare 24 generic {
  109.     int TclFormatInt(char *buffer, long n)
  110. }
  111. declare 25 generic {
  112.     void TclFreePackageInfo(Interp *iPtr)
  113. }
  114. # Removed in 8.1:
  115. #  declare 26 generic {
  116. #      char * TclGetCwd(Tcl_Interp *interp)
  117. #  }
  118. declare 27 generic {
  119.     int TclGetDate(char *p, Tcl_WideInt now, long zone,
  120.     Tcl_WideInt *timePtr)
  121. }
  122. declare 28 generic {
  123.     Tcl_Channel TclpGetDefaultStdChannel(int type)
  124. }
  125. # Removed in 8.4b2:
  126. #declare 29 generic {
  127. #    Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp,
  128. #     int localIndex, Tcl_Obj *elemPtr, int flags)
  129. #}
  130. # Replaced by char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr) in 8.1:
  131. #  declare 30 generic {
  132. #      char * TclGetEnv(CONST char *name)
  133. #  }
  134. declare 31 generic {
  135.     char * TclGetExtension(char *name)
  136. }
  137. declare 32 generic {
  138.     int TclGetFrame(Tcl_Interp *interp, CONST char *str,
  139.     CallFrame **framePtrPtr)
  140. }
  141. declare 33 generic {
  142.     TclCmdProcType TclGetInterpProc(void)
  143. }
  144. declare 34 generic {
  145.     int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr,
  146.     int endValue, int *indexPtr)
  147. }
  148. # Removed in 8.4b2:
  149. #declare 35 generic {
  150. #    Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex,
  151. #     int flags)
  152. #}
  153. declare 36 generic {
  154.     int TclGetLong(Tcl_Interp *interp, CONST char *str, long *longPtr)
  155. }
  156. declare 37 generic {
  157.     int TclGetLoadedPackages(Tcl_Interp *interp, char *targetName)
  158. }
  159. declare 38 generic {
  160.     int TclGetNamespaceForQualName(Tcl_Interp *interp, CONST char *qualName,
  161.     Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr,
  162.     Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr,
  163.     CONST char **simpleNamePtr)
  164. }
  165. declare 39 generic {
  166.     TclObjCmdProcType TclGetObjInterpProc(void)
  167. }
  168. declare 40 generic {
  169.     int TclGetOpenMode(Tcl_Interp *interp, CONST char *str, int *seekFlagPtr)
  170. }
  171. declare 41 generic {
  172.     Tcl_Command TclGetOriginalCommand(Tcl_Command command)
  173. }
  174. declare 42 generic {
  175.     char * TclpGetUserHome(CONST char *name, Tcl_DString *bufferPtr)
  176. }
  177. declare 43 generic {
  178.     int TclGlobalInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
  179. }
  180. declare 44 generic {
  181.     int TclGuessPackageName(CONST char *fileName, Tcl_DString *bufPtr)
  182. }
  183. declare 45 generic {
  184.     int TclHideUnsafeCommands(Tcl_Interp *interp)
  185. }
  186. declare 46 generic {
  187.     int TclInExit(void)
  188. }
  189. # Removed in 8.4b2:
  190. #declare 47 generic {
  191. #    Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp,
  192. #     int localIndex, Tcl_Obj *elemPtr, long incrAmount)
  193. #}
  194. # Removed in 8.4b2:
  195. #declare 48 generic {
  196. #    Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex,
  197. #     long incrAmount)
  198. #}
  199. declare 49 generic {
  200.     Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
  201.     Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed)
  202. }
  203. declare 50 generic {
  204.     void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr,
  205.     Namespace *nsPtr)
  206. }
  207. declare 51 generic {
  208.     int TclInterpInit(Tcl_Interp *interp)
  209. }
  210. declare 52 generic {
  211.     int TclInvoke(Tcl_Interp *interp, int argc, CONST84 char **argv, int flags)
  212. }
  213. declare 53 generic {
  214.     int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp,
  215.     int argc, CONST84 char **argv)
  216. }
  217. declare 54 generic {
  218.     int TclInvokeStringCommand(ClientData clientData, Tcl_Interp *interp,
  219.     int objc, Tcl_Obj *CONST objv[])
  220. }
  221. declare 55 generic {
  222.     Proc * TclIsProc(Command *cmdPtr)
  223. }
  224. # Replaced with TclpLoadFile in 8.1:
  225. #  declare 56 generic {
  226. #      int TclLoadFile(Tcl_Interp *interp, char *fileName, char *sym1,
  227. #       char *sym2, Tcl_PackageInitProc **proc1Ptr,
  228. #       Tcl_PackageInitProc **proc2Ptr)
  229. #  }
  230. # Signature changed to take a length in 8.1:
  231. #  declare 57 generic {
  232. #      int TclLooksLikeInt(char *p)
  233. #  }
  234. declare 58 generic {
  235.     Var * TclLookupVar(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
  236.     int flags, CONST char *msg, int createPart1, int createPart2,
  237.     Var **arrayPtrPtr)
  238. }
  239. # Replaced by Tcl_FSMatchInDirectory in 8.4
  240. #declare 59 generic {
  241. #    int TclpMatchFiles(Tcl_Interp *interp, char *separators,
  242. #     Tcl_DString *dirPtr, char *pattern, char *tail)
  243. #}
  244. declare 60 generic {
  245.     int TclNeedSpace(CONST char *start, CONST char *end)
  246. }
  247. declare 61 generic {
  248.     Tcl_Obj * TclNewProcBodyObj(Proc *procPtr)
  249. }
  250. declare 62 generic {
  251.     int TclObjCommandComplete(Tcl_Obj *cmdPtr)
  252. }
  253. declare 63 generic {
  254.     int TclObjInterpProc(ClientData clientData, Tcl_Interp *interp,
  255.     int objc, Tcl_Obj *CONST objv[])
  256. }
  257. declare 64 generic {
  258.     int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[],
  259.     int flags)
  260. }
  261. declare 65 generic {
  262.     int TclObjInvokeGlobal(Tcl_Interp *interp, int objc,
  263.     Tcl_Obj *CONST objv[], int flags)
  264. }
  265. declare 66 generic {
  266.     int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc)
  267. }
  268. declare 67 generic {
  269.     int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc)
  270. }
  271. # Replaced by Tcl_FSAccess in 8.4:
  272. #declare 68 generic {
  273. #    int TclpAccess(CONST char *path, int mode)
  274. #}
  275. declare 69 generic {
  276.     char * TclpAlloc(unsigned int size)
  277. }
  278. #declare 70 generic {
  279. #    int TclpCopyFile(CONST char *source, CONST char *dest)
  280. #}
  281. #declare 71 generic {
  282. #    int TclpCopyDirectory(CONST char *source, CONST char *dest,
  283. #     Tcl_DString *errorPtr)
  284. #}
  285. #declare 72 generic {
  286. #    int TclpCreateDirectory(CONST char *path)
  287. #}
  288. #declare 73 generic {
  289. #    int TclpDeleteFile(CONST char *path)
  290. #}
  291. declare 74 generic {
  292.     void TclpFree(char *ptr)
  293. }
  294. declare 75 generic {
  295.     unsigned long TclpGetClicks(void)
  296. }
  297. declare 76 generic {
  298.     unsigned long TclpGetSeconds(void)
  299. }
  300. # deprecated
  301. declare 77 generic {
  302.     void TclpGetTime(Tcl_Time *time)
  303. }
  304. declare 78 generic {
  305.     int TclpGetTimeZone(Tcl_WideInt time)
  306. }
  307. # Replaced by Tcl_FSListVolumes in 8.4:
  308. #declare 79 generic {
  309. #    int TclpListVolumes(Tcl_Interp *interp)
  310. #}
  311. # Replaced by Tcl_FSOpenFileChannel in 8.4:
  312. #declare 80 generic {
  313. #    Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, char *fileName,
  314. #     char *modeString, int permissions)
  315. #}
  316. declare 81 generic {
  317.     char * TclpRealloc(char *ptr, unsigned int size)
  318. }
  319. #declare 82 generic {
  320. #    int TclpRemoveDirectory(CONST char *path, int recursive,
  321. #     Tcl_DString *errorPtr)
  322. #}
  323. #declare 83 generic {
  324. #    int TclpRenameFile(CONST char *source, CONST char *dest)
  325. #}
  326. # Removed in 8.1:
  327. #  declare 84 generic {
  328. #      int TclParseBraces(Tcl_Interp *interp, char *str, char **termPtr,
  329. #       ParseValue *pvPtr)
  330. #  }
  331. #  declare 85 generic {
  332. #      int TclParseNestedCmd(Tcl_Interp *interp, char *str, int flags,
  333. #       char **termPtr, ParseValue *pvPtr)
  334. #  }
  335. #  declare 86 generic {
  336. #      int TclParseQuotes(Tcl_Interp *interp, char *str, int termChar,
  337. #       int flags, char **termPtr, ParseValue *pvPtr)
  338. #  }
  339. #  declare 87 generic {
  340. #      void TclPlatformInit(Tcl_Interp *interp)
  341. #  }
  342. declare 88 generic {
  343.     char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp,
  344.     CONST char *name1, CONST char *name2, int flags)
  345. }
  346. declare 89 generic {
  347.     int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp,
  348.     Tcl_Command cmd)
  349. }
  350. # Removed in 8.1 (only available if compiled with TCL_COMPILE_DEBUG):
  351. #  declare 90 generic {
  352. #      void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
  353. #  }
  354. declare 91 generic {
  355.     void TclProcCleanupProc(Proc *procPtr)
  356. }
  357. declare 92 generic {
  358.     int TclProcCompileProc(Tcl_Interp *interp, Proc *procPtr,
  359.     Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description,
  360.     CONST char *procName)
  361. }
  362. declare 93 generic {
  363.     void TclProcDeleteProc(ClientData clientData)
  364. }
  365. declare 94 generic {
  366.     int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp,
  367.     int argc, CONST84 char **argv)
  368. }
  369. # Replaced by Tcl_FSStat in 8.4:
  370. #declare 95 generic {
  371. #    int TclpStat(CONST char *path, Tcl_StatBuf *buf)
  372. #}
  373. declare 96 generic {
  374.     int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName)
  375. }
  376. declare 97 generic {
  377.     void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr)
  378. }
  379. declare 98 generic {
  380.     int TclServiceIdle(void)
  381. }
  382. # Removed in 8.4b2:
  383. #declare 99 generic {
  384. #    Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, int localIndex,
  385. #     Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int flags)
  386. #}
  387. # Removed in 8.4b2:
  388. #declare 100 generic {
  389. #    Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex,
  390. #     Tcl_Obj *objPtr, int flags)
  391. #}
  392. declare 101 generic {
  393.     char * TclSetPreInitScript(char *string)
  394. }
  395. declare 102 generic {
  396.     void TclSetupEnv(Tcl_Interp *interp)
  397. }
  398. declare 103 generic {
  399.     int TclSockGetPort(Tcl_Interp *interp, char *str, char *proto,
  400.     int *portPtr)
  401. }
  402. declare 104 {unix win} {
  403.     int TclSockMinimumBuffers(int sock, int size)
  404. }
  405. # Replaced by Tcl_FSStat in 8.4:
  406. #declare 105 generic {
  407. #    int TclStat(CONST char *path, Tcl_StatBuf *buf)
  408. #}
  409. declare 106 generic {
  410.     int TclStatDeleteProc(TclStatProc_ *proc)
  411. }
  412. declare 107 generic {
  413.     int TclStatInsertProc(TclStatProc_ *proc)
  414. }
  415. declare 108 generic {
  416.     void TclTeardownNamespace(Namespace *nsPtr)
  417. }
  418. declare 109 generic {
  419.     int TclUpdateReturnInfo(Interp *iPtr)
  420. }
  421. # Removed in 8.1:
  422. #  declare 110 generic {
  423. #      char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr)
  424. #  }
  425. # Procedures used in conjunction with Tcl namespaces. They are
  426. # defined here instead of in tcl.decls since they are not stable yet.
  427. declare 111 generic {
  428.     void Tcl_AddInterpResolvers(Tcl_Interp *interp, CONST char *name,
  429.     Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc,
  430.     Tcl_ResolveCompiledVarProc *compiledVarProc)
  431. }
  432. declare 112 generic {
  433.     int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
  434.     Tcl_Obj *objPtr)
  435. }
  436. declare 113 generic {
  437.     Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, CONST char *name,
  438.     ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc)
  439. }
  440. declare 114 generic {
  441.     void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr)
  442. }
  443. declare 115 generic {
  444.     int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
  445.     CONST char *pattern, int resetListFirst)
  446. }
  447. declare 116 generic {
  448.     Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, CONST char *name,
  449.     Tcl_Namespace *contextNsPtr, int flags)
  450. }
  451. declare 117 generic {
  452.     Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, CONST char *name,
  453.     Tcl_Namespace *contextNsPtr, int flags)
  454. }
  455. declare 118 generic {
  456.     int Tcl_GetInterpResolvers(Tcl_Interp *interp, CONST char *name,
  457.     Tcl_ResolverInfo *resInfo)
  458. }
  459. declare 119 generic {
  460.     int Tcl_GetNamespaceResolvers(Tcl_Namespace *namespacePtr,
  461.     Tcl_ResolverInfo *resInfo)
  462. }
  463. declare 120 generic {
  464.     Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, CONST char *name,
  465.     Tcl_Namespace *contextNsPtr, int flags)
  466. }
  467. declare 121 generic {
  468.     int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
  469.     CONST char *pattern)
  470. }
  471. declare 122 generic {
  472.     Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
  473. }
  474. declare 123 generic {
  475.     void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command,
  476.     Tcl_Obj *objPtr)
  477. }
  478. declare 124 generic {
  479.     Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp)
  480. }
  481. declare 125 generic {
  482.     Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp)
  483. }
  484. declare 126 generic {
  485.     void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable,
  486.     Tcl_Obj *objPtr)
  487. }
  488. declare 127 generic {
  489.     int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
  490.     CONST char *pattern, int allowOverwrite)
  491. }
  492. declare 128 generic {
  493.     void Tcl_PopCallFrame(Tcl_Interp* interp)
  494. }
  495. declare 129 generic {
  496.     int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr,
  497.     Tcl_Namespace *nsPtr, int isProcCallFrame)
  498. declare 130 generic {
  499.     int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, CONST char *name)
  500. }
  501. declare 131 generic {
  502.     void Tcl_SetNamespaceResolvers(Tcl_Namespace *namespacePtr,
  503.     Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc,
  504.     Tcl_ResolveCompiledVarProc *compiledVarProc)
  505. }
  506. declare 132 generic {
  507.     int TclpHasSockets(Tcl_Interp *interp)
  508. }
  509. declare 133 generic {
  510.     struct tm * TclpGetDate(TclpTime_t time, int useGMT)
  511. }
  512. declare 134 generic {
  513.     size_t TclpStrftime(char *s, size_t maxsize, CONST char *format,
  514.     CONST struct tm *t, int useGMT)
  515. }
  516. declare 135 generic {
  517.     int TclpCheckStackSpace(void)
  518. }
  519. # Added in 8.1:
  520. #declare 137 generic {
  521. #   int TclpChdir(CONST char *dirName)
  522. #}
  523. declare 138 generic {
  524.     CONST84_RETURN char * TclGetEnv(CONST char *name, Tcl_DString *valuePtr)
  525. }
  526. #declare 139 generic {
  527. #    int TclpLoadFile(Tcl_Interp *interp, char *fileName, char *sym1,
  528. #     char *sym2, Tcl_PackageInitProc **proc1Ptr,
  529. #     Tcl_PackageInitProc **proc2Ptr, ClientData *clientDataPtr)
  530. #}
  531. declare 140 generic {
  532.     int TclLooksLikeInt(CONST char *bytes, int length)
  533. }
  534. # This is used by TclX, but should otherwise be considered private
  535. declare 141 generic {
  536.     CONST84_RETURN char *TclpGetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
  537. }
  538. declare 142 generic {
  539.     int TclSetByteCodeFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr,
  540.     CompileHookProc *hookProc, ClientData clientData)
  541. }
  542. declare 143 generic {
  543.     int TclAddLiteralObj(struct CompileEnv *envPtr, Tcl_Obj *objPtr,
  544.     LiteralEntry **litPtrPtr)
  545. }
  546. declare 144 generic {
  547.     void TclHideLiteral(Tcl_Interp *interp, struct CompileEnv *envPtr,
  548.     int index)
  549. }
  550. declare 145 generic {
  551.     struct AuxDataType *TclGetAuxDataType(char *typeName)
  552. }
  553. declare 146 generic {
  554.     TclHandle TclHandleCreate(VOID *ptr)
  555. }
  556. declare 147 generic {
  557.     void TclHandleFree(TclHandle handle)
  558. }
  559. declare 148 generic {
  560.     TclHandle TclHandlePreserve(TclHandle handle)
  561. }
  562. declare 149 generic {
  563.     void TclHandleRelease(TclHandle handle)
  564. }
  565. # Added for Tcl 8.2
  566. declare 150 generic {
  567.     int TclRegAbout(Tcl_Interp *interp, Tcl_RegExp re)
  568. }
  569. declare 151 generic {
  570.     void TclRegExpRangeUniChar(Tcl_RegExp re, int index, int *startPtr,
  571.     int *endPtr)
  572. }
  573. declare 152 generic {
  574.     void TclSetLibraryPath(Tcl_Obj *pathPtr)
  575. }
  576. declare 153 generic {
  577.     Tcl_Obj *TclGetLibraryPath(void)
  578. }
  579. # moved to tclTest.c (static) in 8.3.2/8.4a2
  580. #declare 154 generic {
  581. #    int TclTestChannelCmd(ClientData clientData,
  582. #    Tcl_Interp *interp, int argc, char **argv)
  583. #}
  584. #declare 155 generic {
  585. #    int TclTestChannelEventCmd(ClientData clientData,
  586. #      Tcl_Interp *interp, int argc, char **argv)
  587. #}
  588. declare 156 generic {
  589.     void TclRegError (Tcl_Interp *interp, CONST char *msg,
  590.     int status)
  591. }
  592. declare 157 generic {
  593.     Var * TclVarTraceExists (Tcl_Interp *interp, CONST char *varName)
  594. }
  595. declare 158 generic {
  596.     void TclSetStartupScriptFileName(CONST char *filename)
  597. }
  598. declare 159 generic {
  599.     CONST84_RETURN char *TclGetStartupScriptFileName(void)
  600. }
  601. #declare 160 generic {
  602. #    int TclpMatchFilesTypes(Tcl_Interp *interp, char *separators,
  603. #     Tcl_DString *dirPtr, char *pattern, char *tail, GlobTypeData *types)
  604. #}
  605. # new in 8.3.2/8.4a2
  606. declare 161 generic {
  607.     int TclChannelTransform(Tcl_Interp *interp, Tcl_Channel chan,
  608.     Tcl_Obj *cmdObjPtr)
  609. }
  610. declare 162 generic {
  611.     void TclChannelEventScriptInvoker(ClientData clientData, int flags)
  612. }
  613. # ALERT: The result of 'TclGetInstructionTable' is actually an
  614. # "InstructionDesc*" but we do not want to describe this structure in
  615. # "tclInt.h". It is described in "tclCompile.h". Use a cast to the
  616. # correct type when calling this procedure.
  617. declare 163 generic {
  618. void * TclGetInstructionTable (void)
  619. }
  620. # ALERT: The argument of 'TclExpandCodeArray' is actually a
  621. # "CompileEnv*" but we do not want to describe this structure in
  622. # "tclInt.h". It is described in "tclCompile.h".
  623. declare 164 generic {
  624. void TclExpandCodeArray (void *envPtr)
  625. }
  626. # These functions are vfs aware, but are generally only useful internally.
  627. declare 165 generic {
  628.     void TclpSetInitialEncodings(void)
  629. }
  630. # New function due to TIP #33
  631. declare 166 generic {
  632.     int TclListObjSetElement(Tcl_Interp *interp, Tcl_Obj *listPtr, 
  633.     int index, Tcl_Obj *valuePtr)
  634. }
  635. # VFS-aware versions of Tcl*StartupScriptFileName (158 and 159 above)
  636. declare 167 generic {
  637.     void TclSetStartupScriptPath(Tcl_Obj *pathPtr)
  638. }
  639. declare 168 generic {
  640.     Tcl_Obj *TclGetStartupScriptPath(void)
  641. }
  642. # variant of Tcl_UtfNCmp that takes n as bytes, not chars
  643. declare 169 generic {
  644.     int TclpUtfNcmp2(CONST char *s1, CONST char *s2, unsigned long n)
  645. }
  646. declare 170 generic {
  647.     int TclCheckInterpTraces (Tcl_Interp *interp, CONST char *command, int numChars, 
  648.             Command *cmdPtr, int result, int traceFlags, int objc, 
  649.     Tcl_Obj *CONST objv[])
  650. }
  651. declare 171 generic {
  652.     int TclCheckExecutionTraces (Tcl_Interp *interp, CONST char *command, int numChars, 
  653.             Command *cmdPtr, int result, int traceFlags, int objc, 
  654.     Tcl_Obj *CONST objv[])
  655. }
  656. declare 172 generic {
  657.     int TclInThreadExit(void)
  658. }
  659. # added for 8.4.2
  660. declare 173 generic {
  661.     int TclUniCharMatch (CONST Tcl_UniChar *string, int strLen, 
  662.     CONST Tcl_UniChar *pattern, int ptnLen, int nocase)
  663. }
  664. # TclpGmtime and TclpLocaltime promoted to the generic interface from unix
  665. declare 182 generic {
  666.      struct tm *TclpLocaltime(TclpTime_t_CONST clock)
  667. }
  668. declare 183 generic {
  669.      struct tm *TclpGmtime(TclpTime_t_CONST clock)
  670. }
  671. declare 199 generic {
  672.     int TclMatchIsTrivial(CONST char *pattern)
  673. }
  674. ##############################################################################
  675. # Define the platform specific internal Tcl interface. These functions are
  676. # only available on the designated platform.
  677. interface tclIntPlat
  678. ########################
  679. # Mac specific internals
  680. declare 0 mac {
  681.     VOID * TclpSysAlloc(long size, int isBin)
  682. }
  683. declare 1 mac {
  684.     void TclpSysFree(VOID *ptr)
  685. }
  686. declare 2 mac {
  687.     VOID * TclpSysRealloc(VOID *cp, unsigned int size)
  688. }
  689. declare 3 mac {
  690.     void TclpExit(int status)
  691. }
  692. # Prototypes for functions found in the tclMacUtil.c compatability library.
  693. declare 4 mac {
  694.     int FSpGetDefaultDir(FSSpecPtr theSpec)
  695. }
  696. declare 5 mac {
  697.     int FSpSetDefaultDir(FSSpecPtr theSpec)
  698. }
  699. declare 6 mac {
  700.     OSErr FSpFindFolder(short vRefNum, OSType folderType,
  701.     Boolean createFolder, FSSpec *spec)
  702. }
  703. declare 7 mac {
  704.     void GetGlobalMouseTcl(Point *mouse)
  705. }
  706. # The following routines are utility functions in Tcl.  They are exported
  707. # here because they are needed in Tk.  They are not officially supported,
  708. # however.  The first set are from the MoreFiles package.
  709. declare 8 mac {
  710.     pascal OSErr FSpGetDirectoryIDTcl(CONST FSSpec *spec, long *theDirID,
  711.     Boolean *isDirectory)
  712. }
  713. declare 9 mac {
  714.     pascal short FSpOpenResFileCompatTcl(CONST FSSpec *spec,
  715.     SignedByte permission)
  716. }
  717. declare 10 mac {
  718.     pascal void FSpCreateResFileCompatTcl(CONST FSSpec *spec, OSType creator,
  719.     OSType fileType, ScriptCode scriptTag)
  720. }
  721. # Like the MoreFiles routines these fix problems in the standard
  722. # Mac calls.  These routines are from tclMacUtils.h.
  723. declare 11 mac {
  724.     int FSpLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec)
  725. }
  726. declare 12 mac {
  727.     OSErr FSpPathFromLocation(FSSpecPtr theSpec, int *length,
  728.     Handle *fullPath)
  729. }
  730. # Prototypes of Mac only internal functions.
  731. declare 13 mac {
  732.     void TclMacExitHandler(void)
  733. }
  734. declare 14 mac {
  735.     void TclMacInitExitToShell(int usePatch)
  736. }
  737. declare 15 mac {
  738.     OSErr TclMacInstallExitToShellPatch(ExitToShellProcPtr newProc)
  739. }
  740. declare 16 mac {
  741.     int TclMacOSErrorToPosixError(int error)
  742. }
  743. declare 17 mac {
  744.     void TclMacRemoveTimer(void *timerToken)
  745. }
  746. declare 18 mac {
  747.     void * TclMacStartTimer(long ms)
  748. }
  749. declare 19 mac {
  750.     int TclMacTimerExpired(void *timerToken)
  751. }
  752. declare 20 mac {
  753.     int TclMacRegisterResourceFork(short fileRef, Tcl_Obj *tokenPtr,
  754.     int insert)
  755. }
  756. declare 21 mac {
  757.     short TclMacUnRegisterResourceFork(char *tokenPtr, Tcl_Obj *resultPtr)
  758. }
  759. declare 22 mac {
  760.     int TclMacCreateEnv(void)
  761. }
  762. declare 23 mac {
  763.     FILE * TclMacFOpenHack(CONST char *path, CONST char *mode)
  764. }
  765. # Replaced in 8.1 by TclpReadLink:
  766. #  declare 24 mac {
  767. #      int TclMacReadlink(char *path, char *buf, int size)
  768. #  }
  769. declare 24 mac {
  770.     char * TclpGetTZName(int isdst)
  771. }
  772. declare 25 mac {
  773.     int TclMacChmod(CONST char *path, int mode)
  774. }
  775. # version of FSpLocationFromPath that doesn't resolve the last path component
  776. declare 26 mac {
  777.     int FSpLLocationFromPath(int length, CONST char *path, FSSpecPtr theSpec)
  778. }
  779. ############################
  780. # Windows specific internals
  781. declare 0 win {
  782.     void TclWinConvertError(DWORD errCode)
  783. }
  784. declare 1 win {
  785.     void TclWinConvertWSAError(DWORD errCode)
  786. }
  787. declare 2 win {
  788.     struct servent * TclWinGetServByName(CONST char *nm,
  789.     CONST char *proto)
  790. }
  791. declare 3 win {
  792.     int TclWinGetSockOpt(SOCKET s, int level, int optname,
  793.     char FAR * optval, int FAR *optlen)
  794. }
  795. declare 4 win {
  796.     HINSTANCE TclWinGetTclInstance(void)
  797. }
  798. # Removed in 8.1:
  799. #  declare 5 win {
  800. #      HINSTANCE TclWinLoadLibrary(char *name)
  801. #  }
  802. declare 6 win {
  803.     u_short TclWinNToHS(u_short ns)
  804. }
  805. declare 7 win {
  806.     int TclWinSetSockOpt(SOCKET s, int level, int optname,
  807.     CONST char FAR * optval, int optlen)
  808. }
  809. declare 8 win {
  810.     unsigned long TclpGetPid(Tcl_Pid pid)
  811. }
  812. declare 9 win {
  813.     int TclWinGetPlatformId(void)
  814. }
  815. # Removed in 8.3.1 (for Win32s only)
  816. #declare 10 win {
  817. #    int TclWinSynchSpawn(void *args, int type, void **trans, Tcl_Pid *pidPtr)
  818. #}
  819. # Pipe channel functions
  820. declare 11 win {
  821.     void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan)
  822. }
  823. declare 12 win {
  824.     int TclpCloseFile(TclFile file)
  825. }
  826. declare 13 win {
  827.     Tcl_Channel TclpCreateCommandChannel(TclFile readFile,
  828.     TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr)
  829. }
  830. declare 14 win {
  831.     int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe)
  832. }
  833. declare 15 win {
  834.     int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv,
  835.     TclFile inputFile, TclFile outputFile, TclFile errorFile,
  836.     Tcl_Pid *pidPtr)
  837. }
  838. # Signature changed in 8.1:
  839. #  declare 16 win {
  840. #      TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr)
  841. #  }
  842. #  declare 17 win {
  843. #      char * TclpGetTZName(void)
  844. #  }
  845. declare 18 win {
  846.     TclFile TclpMakeFile(Tcl_Channel channel, int direction)
  847. }
  848. declare 19 win {
  849.     TclFile TclpOpenFile(CONST char *fname, int mode)
  850. }
  851. declare 20 win {
  852.     void TclWinAddProcess(HANDLE hProcess, DWORD id)
  853. }
  854. # removed permanently for 8.4
  855. #declare 21 win {
  856. #    void TclpAsyncMark(Tcl_AsyncHandler async)
  857. #}
  858. # Added in 8.1:
  859. declare 22 win {
  860.     TclFile TclpCreateTempFile(CONST char *contents)
  861. }
  862. declare 23 win {
  863.     char * TclpGetTZName(int isdst)
  864. }
  865. declare 24 win {
  866.     char * TclWinNoBackslash(char *path)
  867. }
  868. declare 25 win {
  869.     TclPlatformType *TclWinGetPlatform(void)
  870. }
  871. declare 26 win {
  872.     void TclWinSetInterfaces(int wide)
  873. }
  874. # Added in Tcl 8.3.3 / 8.4
  875. declare 27 win {
  876.     void TclWinFlushDirtyChannels (void)
  877. }
  878. # Added in 8.4.2
  879. declare 28 win {
  880.     void TclWinResetInterfaces(void)
  881. }
  882. declare 29 win {
  883.     int TclWinCPUID( unsigned int index, unsigned int *regs )
  884. }
  885. #########################
  886. # Unix specific internals
  887. # Pipe channel functions
  888. declare 0 unix {
  889.     void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan)
  890. }
  891. declare 1 unix {
  892.     int TclpCloseFile(TclFile file)
  893. }
  894. declare 2 unix {
  895.     Tcl_Channel TclpCreateCommandChannel(TclFile readFile,
  896.     TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr)
  897. }
  898. declare 3 unix {
  899.     int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe)
  900. }
  901. declare 4 unix {
  902.     int TclpCreateProcess(Tcl_Interp *interp, int argc, CONST char **argv,
  903.     TclFile inputFile, TclFile outputFile, TclFile errorFile,
  904.     Tcl_Pid *pidPtr)
  905. }
  906. # Signature changed in 8.1:
  907. #  declare 5 unix {
  908. #      TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr)
  909. #  }
  910. declare 6 unix {
  911.     TclFile TclpMakeFile(Tcl_Channel channel, int direction)
  912. }
  913. declare 7 unix {
  914.     TclFile TclpOpenFile(CONST char *fname, int mode)
  915. }
  916. declare 8 unix {
  917.     int TclUnixWaitForFile(int fd, int mask, int timeout)
  918. }
  919. # Added in 8.1:
  920. declare 9 unix {
  921.     TclFile TclpCreateTempFile(CONST char *contents)
  922. }
  923. # Added in 8.4:
  924. declare 10 unix {
  925.     Tcl_DirEntry * TclpReaddir(DIR * dir)
  926. }
  927. # Slots 11 and 12 are forwarders for functions that were promoted to
  928. # generic Stubs
  929. declare 11 unix {
  930.     struct tm * TclpLocaltime_unix(TclpTime_t_CONST clock)
  931. }
  932. declare 12 unix {
  933.     struct tm * TclpGmtime_unix(TclpTime_t_CONST clock)
  934. }
  935. declare 13 unix {
  936.     char * TclpInetNtoa(struct in_addr addr)
  937. }