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

通讯编程

开发平台:

Visual C++

  1. # tcl.decls --
  2. #
  3. # This file contains the declarations for all supported public
  4. # functions that are exported by the Tcl library via the stubs table.
  5. # This file is used to generate the tclDecls.h, tclPlatDecls.h,
  6. # tclStub.c, and tclPlatStub.c files.
  7. #
  8. #
  9. # Copyright (c) 1998-1999 by Scriptics Corporation.
  10. # Copyright (c) 2001, 2002 by Kevin B. Kenny.  All rights reserved.
  11. # See the file "license.terms" for information on usage and redistribution
  12. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  13. # RCS: @(#) $Id: tcl.decls,v 1.94.2.4 2006/09/22 01:26:22 andreas_kupries Exp $
  14. library tcl
  15. # Define the tcl interface with several sub interfaces:
  16. #     tclPlat  - platform specific public
  17. #     tclInt  - generic private
  18. #     tclPlatInt - platform specific private
  19. interface tcl
  20. hooks {tclPlat tclInt tclIntPlat}
  21. # Declare each of the functions in the public Tcl interface.  Note that
  22. # the an index should never be reused for a different function in order
  23. # to preserve backwards compatibility.
  24. declare 0 generic {
  25.     int Tcl_PkgProvideEx(Tcl_Interp* interp, CONST char* name,
  26.     CONST char* version, ClientData clientData)
  27. }
  28. declare 1 generic {
  29.     CONST84_RETURN char * Tcl_PkgRequireEx(Tcl_Interp *interp, CONST char *name,
  30.     CONST char *version, int exact, ClientData *clientDataPtr)
  31. }
  32. declare 2 generic {
  33.     void Tcl_Panic(CONST char *format, ...)
  34. }
  35. declare 3 generic {
  36.     char * Tcl_Alloc(unsigned int size)
  37. }
  38. declare 4 generic {
  39.     void Tcl_Free(char *ptr)
  40. }
  41. declare 5 generic {
  42.     char * Tcl_Realloc(char *ptr, unsigned int size)
  43. }
  44. declare 6 generic {
  45.     char * Tcl_DbCkalloc(unsigned int size, CONST char *file, int line)
  46. }
  47. declare 7 generic {
  48.     int Tcl_DbCkfree(char *ptr, CONST char *file, int line)
  49. }
  50. declare 8 generic {
  51.     char * Tcl_DbCkrealloc(char *ptr, unsigned int size,
  52.     CONST char *file, int line)
  53. }
  54. # Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
  55. # but they are part of the old generic interface, so we include them here for
  56. # compatibility reasons.
  57. declare 9 unix {
  58.     void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc,
  59.     ClientData clientData)
  60. }
  61. declare 10 unix {
  62.     void Tcl_DeleteFileHandler(int fd)
  63. }
  64. declare 11 generic {
  65.     void Tcl_SetTimer(Tcl_Time *timePtr)
  66. }
  67. declare 12 generic {
  68.     void Tcl_Sleep(int ms)
  69. }
  70. declare 13 generic {
  71.     int Tcl_WaitForEvent(Tcl_Time *timePtr)
  72. }
  73. declare 14 generic {
  74.     int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr)
  75. }
  76. declare 15 generic {
  77.     void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
  78. }
  79. declare 16 generic {
  80.     void Tcl_AppendToObj(Tcl_Obj* objPtr, CONST char* bytes, int length)
  81. }
  82. declare 17 generic {
  83.     Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
  84. }
  85. declare 18 generic {
  86.     int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr,
  87.     Tcl_ObjType *typePtr)
  88. }
  89. declare 19 generic {
  90.     void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
  91. }
  92. declare 20 generic {
  93.     void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
  94. }
  95. declare 21 generic {
  96.     int Tcl_DbIsShared(Tcl_Obj *objPtr, CONST char *file, int line)
  97. }
  98. declare 22 generic {
  99.     Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, CONST char *file, int line)
  100. }
  101. declare 23 generic {
  102.     Tcl_Obj * Tcl_DbNewByteArrayObj(CONST unsigned char *bytes, int length,
  103.     CONST char *file, int line)
  104. }
  105. declare 24 generic {
  106.     Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue,
  107.     CONST char *file, int line)
  108. }
  109. declare 25 generic {
  110.     Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST *objv, 
  111.     CONST char *file, int line)
  112. }
  113. declare 26 generic {
  114.     Tcl_Obj * Tcl_DbNewLongObj(long longValue, CONST char *file, int line)
  115. }
  116. declare 27 generic {
  117.     Tcl_Obj * Tcl_DbNewObj(CONST char *file, int line)
  118. }
  119. declare 28 generic {
  120.     Tcl_Obj * Tcl_DbNewStringObj(CONST char *bytes, int length,
  121.     CONST char *file, int line)
  122. }
  123. declare 29 generic {
  124.     Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
  125. }
  126. declare 30 generic {
  127.     void TclFreeObj(Tcl_Obj *objPtr)
  128. }
  129. declare 31 generic {
  130.     int Tcl_GetBoolean(Tcl_Interp *interp, CONST char *str, int *boolPtr)
  131. }
  132. declare 32 generic {
  133.     int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  134.     int *boolPtr)
  135. }
  136. declare 33 generic {
  137.     unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr)
  138. }
  139. declare 34 generic {
  140.     int Tcl_GetDouble(Tcl_Interp *interp, CONST char *str, double *doublePtr)
  141. }
  142. declare 35 generic {
  143.     int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  144.     double *doublePtr)
  145. }
  146. declare 36 generic {
  147.     int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  148.     CONST84 char **tablePtr, CONST char *msg, int flags, int *indexPtr)
  149. }
  150. declare 37 generic {
  151.     int Tcl_GetInt(Tcl_Interp *interp, CONST char *str, int *intPtr)
  152. }
  153. declare 38 generic {
  154.     int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr)
  155. }
  156. declare 39 generic {
  157.     int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr)
  158. }
  159. declare 40 generic {
  160.     Tcl_ObjType * Tcl_GetObjType(CONST char *typeName)
  161. }
  162. declare 41 generic {
  163.     char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr)
  164. }
  165. declare 42 generic {
  166.     void Tcl_InvalidateStringRep(Tcl_Obj *objPtr)
  167. }
  168. declare 43 generic {
  169.     int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr,
  170.     Tcl_Obj *elemListPtr)
  171. }
  172. declare 44 generic {
  173.     int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr,
  174.     Tcl_Obj *objPtr)
  175. }
  176. declare 45 generic {
  177.     int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr,
  178.     int *objcPtr, Tcl_Obj ***objvPtr)
  179. }
  180. declare 46 generic {
  181.     int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index,
  182.     Tcl_Obj **objPtrPtr)
  183. }
  184. declare 47 generic {
  185.     int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr,
  186.     int *lengthPtr)
  187. }
  188. declare 48 generic {
  189.     int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first,
  190.     int count, int objc, Tcl_Obj *CONST objv[])
  191. }
  192. declare 49 generic {
  193.     Tcl_Obj *Tcl_NewBooleanObj(int boolValue)
  194. }
  195. declare 50 generic {
  196.     Tcl_Obj *Tcl_NewByteArrayObj(CONST unsigned char* bytes, int length)
  197. }
  198. declare 51 generic {
  199.     Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
  200. }
  201. declare 52 generic {
  202.     Tcl_Obj * Tcl_NewIntObj(int intValue)
  203. }
  204. declare 53 generic {
  205.     Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[])
  206. }
  207. declare 54 generic {
  208.     Tcl_Obj * Tcl_NewLongObj(long longValue)
  209. }
  210. declare 55 generic {
  211.     Tcl_Obj * Tcl_NewObj(void)
  212. }
  213. declare 56 generic {
  214.     Tcl_Obj *Tcl_NewStringObj(CONST char *bytes, int length)
  215. }
  216. declare 57 generic {
  217.     void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue)
  218. }
  219. declare 58 generic {
  220.     unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
  221. }
  222. declare 59 generic {
  223.     void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, CONST unsigned char *bytes,
  224.     int length)
  225. }
  226. declare 60 generic {
  227.     void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
  228. }
  229. declare 61 generic {
  230.     void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue)
  231. }
  232. declare 62 generic {
  233.     void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[])
  234. }
  235. declare 63 generic {
  236.     void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue)
  237. }
  238. declare 64 generic {
  239.     void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
  240. }
  241. declare 65 generic {
  242.     void Tcl_SetStringObj(Tcl_Obj* objPtr, CONST char* bytes, int length)
  243. }
  244. declare 66 generic {
  245.     void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
  246. }
  247. declare 67 generic {
  248.     void Tcl_AddObjErrorInfo(Tcl_Interp *interp, CONST char *message,
  249.     int length)
  250. }
  251. declare 68 generic {
  252.     void Tcl_AllowExceptions(Tcl_Interp *interp)
  253. }
  254. declare 69 generic {
  255.     void Tcl_AppendElement(Tcl_Interp *interp, CONST char *string)
  256. }
  257. declare 70 generic {
  258.     void Tcl_AppendResult(Tcl_Interp *interp, ...)
  259. }
  260. declare 71 generic {
  261.     Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc,
  262.     ClientData clientData)
  263. }
  264. declare 72 generic {
  265.     void Tcl_AsyncDelete(Tcl_AsyncHandler async)
  266. }
  267. declare 73 generic {
  268.     int Tcl_AsyncInvoke(Tcl_Interp *interp, int code)
  269. }
  270. declare 74 generic {
  271.     void Tcl_AsyncMark(Tcl_AsyncHandler async)
  272. }
  273. declare 75 generic {
  274.     int Tcl_AsyncReady(void)
  275. }
  276. declare 76 generic {
  277.     void Tcl_BackgroundError(Tcl_Interp *interp)
  278. }
  279. declare 77 generic {
  280.     char Tcl_Backslash(CONST char *src, int *readPtr)
  281. }
  282. declare 78 generic {
  283.     int Tcl_BadChannelOption(Tcl_Interp *interp, CONST char *optionName,
  284.     CONST char *optionList)
  285. }
  286. declare 79 generic {
  287.     void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc,
  288.     ClientData clientData)
  289. }
  290. declare 80 generic {
  291.     void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData)
  292. }
  293. declare 81 generic {
  294.     int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
  295. }
  296. declare 82 generic {
  297.     int Tcl_CommandComplete(CONST char *cmd)
  298. }
  299. declare 83 generic {
  300.     char * Tcl_Concat(int argc, CONST84 char * CONST *argv)
  301. }
  302. declare 84 generic {
  303.     int Tcl_ConvertElement(CONST char *src, char *dst, int flags)
  304. }
  305. declare 85 generic {
  306.     int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst,
  307.     int flags)
  308. }
  309. declare 86 generic {
  310.     int Tcl_CreateAlias(Tcl_Interp *slave, CONST char *slaveCmd,
  311.     Tcl_Interp *target, CONST char *targetCmd, int argc,
  312.     CONST84 char * CONST *argv)
  313. }
  314. declare 87 generic {
  315.     int Tcl_CreateAliasObj(Tcl_Interp *slave, CONST char *slaveCmd,
  316.     Tcl_Interp *target, CONST char *targetCmd, int objc,
  317.     Tcl_Obj *CONST objv[])
  318. }
  319. declare 88 generic {
  320.     Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr,
  321.     CONST char *chanName, ClientData instanceData, int mask)
  322. }
  323. declare 89 generic {
  324.     void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask,
  325.     Tcl_ChannelProc *proc, ClientData clientData)
  326. }
  327. declare 90 generic {
  328.     void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc,
  329.     ClientData clientData)
  330. }
  331. declare 91 generic {
  332.     Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, CONST char *cmdName,
  333.     Tcl_CmdProc *proc, ClientData clientData,
  334.     Tcl_CmdDeleteProc *deleteProc)
  335. }
  336. declare 92 generic {
  337.     void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc,
  338.     Tcl_EventCheckProc *checkProc, ClientData clientData)
  339. }
  340. declare 93 generic {
  341.     void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData)
  342. }
  343. declare 94 generic {
  344.     Tcl_Interp * Tcl_CreateInterp(void)
  345. }
  346. declare 95 generic {
  347.     void Tcl_CreateMathFunc(Tcl_Interp *interp, CONST char *name,
  348.     int numArgs, Tcl_ValueType *argTypes, 
  349.     Tcl_MathProc *proc, ClientData clientData)
  350. }
  351. declare 96 generic {
  352.     Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp,
  353.     CONST char *cmdName,
  354.     Tcl_ObjCmdProc *proc, ClientData clientData,
  355.     Tcl_CmdDeleteProc *deleteProc)
  356. }
  357. declare 97 generic {
  358.     Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, CONST char *slaveName,
  359.     int isSafe)
  360. }
  361. declare 98 generic {
  362.     Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds,
  363.     Tcl_TimerProc *proc, ClientData clientData)
  364. }
  365. declare 99 generic {
  366.     Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level,
  367.     Tcl_CmdTraceProc *proc, ClientData clientData)
  368. }
  369. declare 100 generic {
  370.     void Tcl_DeleteAssocData(Tcl_Interp *interp, CONST char *name)
  371. }
  372. declare 101 generic {
  373.     void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc,
  374.     ClientData clientData)
  375. }
  376. declare 102 generic {
  377.     void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc,
  378.     ClientData clientData)
  379. }
  380. declare 103 generic {
  381.     int Tcl_DeleteCommand(Tcl_Interp *interp, CONST char *cmdName)
  382. }
  383. declare 104 generic {
  384.     int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command)
  385. }
  386. declare 105 generic {
  387.     void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData)
  388. }
  389. declare 106 generic {
  390.     void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc,
  391.     Tcl_EventCheckProc *checkProc, ClientData clientData)
  392. }
  393. declare 107 generic {
  394.     void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData)
  395. }
  396. declare 108 generic {
  397.     void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr)
  398. }
  399. declare 109 generic {
  400.     void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr)
  401. }
  402. declare 110 generic {
  403.     void Tcl_DeleteInterp(Tcl_Interp *interp)
  404. }
  405. declare 111 {unix win} {
  406.     void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr)
  407. }
  408. declare 112 generic {
  409.     void Tcl_DeleteTimerHandler(Tcl_TimerToken token)
  410. }
  411. declare 113 generic {
  412.     void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace)
  413. }
  414. declare 114 generic {
  415.     void Tcl_DontCallWhenDeleted(Tcl_Interp *interp,
  416.     Tcl_InterpDeleteProc *proc, ClientData clientData)
  417. }
  418. declare 115 generic {
  419.     int Tcl_DoOneEvent(int flags)
  420. }
  421. declare 116 generic {
  422.     void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData)
  423. }
  424. declare 117 generic {
  425.     char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *str, int length)
  426. }
  427. declare 118 generic {
  428.     char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string)
  429. }
  430. declare 119 generic {
  431.     void Tcl_DStringEndSublist(Tcl_DString *dsPtr)
  432. }
  433. declare 120 generic {
  434.     void Tcl_DStringFree(Tcl_DString *dsPtr)
  435. }
  436. declare 121 generic {
  437.     void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
  438. }
  439. declare 122 generic {
  440.     void Tcl_DStringInit(Tcl_DString *dsPtr)
  441. }
  442. declare 123 generic {
  443.     void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
  444. }
  445. declare 124 generic {
  446.     void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length)
  447. }
  448. declare 125 generic {
  449.     void Tcl_DStringStartSublist(Tcl_DString *dsPtr)
  450. }
  451. declare 126 generic {
  452.     int Tcl_Eof(Tcl_Channel chan)
  453. }
  454. declare 127 generic {
  455.     CONST84_RETURN char * Tcl_ErrnoId(void)
  456. }
  457. declare 128 generic {
  458.     CONST84_RETURN char * Tcl_ErrnoMsg(int err)
  459. }
  460. declare 129 generic {
  461.     int Tcl_Eval(Tcl_Interp *interp, CONST char *string)
  462. }
  463. # This is obsolete, use Tcl_FSEvalFile
  464. declare 130 generic {
  465.     int Tcl_EvalFile(Tcl_Interp *interp, CONST char *fileName)
  466. }
  467. declare 131 generic {
  468.     int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
  469. }
  470. declare 132 generic {
  471.     void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc)
  472. }
  473. declare 133 generic {
  474.     void Tcl_Exit(int status)
  475. }
  476. declare 134 generic {
  477.     int Tcl_ExposeCommand(Tcl_Interp *interp, CONST char *hiddenCmdToken,
  478.     CONST char *cmdName)
  479. }
  480. declare 135 generic {
  481.     int Tcl_ExprBoolean(Tcl_Interp *interp, CONST char *str, int *ptr)
  482. }
  483. declare 136 generic {
  484.     int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr)
  485. }
  486. declare 137 generic {
  487.     int Tcl_ExprDouble(Tcl_Interp *interp, CONST char *str, double *ptr)
  488. }
  489. declare 138 generic {
  490.     int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr)
  491. }
  492. declare 139 generic {
  493.     int Tcl_ExprLong(Tcl_Interp *interp, CONST char *str, long *ptr)
  494. }
  495. declare 140 generic {
  496.     int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr)
  497. }
  498. declare 141 generic {
  499.     int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  500.     Tcl_Obj **resultPtrPtr)
  501. }
  502. declare 142 generic {
  503.     int Tcl_ExprString(Tcl_Interp *interp, CONST char *string)
  504. }
  505. declare 143 generic {
  506.     void Tcl_Finalize(void)
  507. }
  508. declare 144 generic {
  509.     void Tcl_FindExecutable(CONST char *argv0)
  510. }
  511. declare 145 generic {
  512.     Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr,
  513.     Tcl_HashSearch *searchPtr)
  514. }
  515. declare 146 generic {
  516.     int Tcl_Flush(Tcl_Channel chan)
  517. }
  518. declare 147 generic {
  519.     void Tcl_FreeResult(Tcl_Interp *interp)
  520. }
  521. declare 148 generic {
  522.     int Tcl_GetAlias(Tcl_Interp *interp, CONST char *slaveCmd,
  523.     Tcl_Interp **targetInterpPtr, CONST84 char **targetCmdPtr,
  524.     int *argcPtr, CONST84 char ***argvPtr)
  525. }
  526. declare 149 generic {
  527.     int Tcl_GetAliasObj(Tcl_Interp *interp, CONST char *slaveCmd,
  528.     Tcl_Interp **targetInterpPtr, CONST84 char **targetCmdPtr,
  529.     int *objcPtr, Tcl_Obj ***objv)
  530. }
  531. declare 150 generic {
  532.     ClientData Tcl_GetAssocData(Tcl_Interp *interp, CONST char *name,
  533.     Tcl_InterpDeleteProc **procPtr)
  534. }
  535. declare 151 generic {
  536.     Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, CONST char *chanName,
  537.     int *modePtr)
  538. }
  539. declare 152 generic {
  540.     int Tcl_GetChannelBufferSize(Tcl_Channel chan)
  541. }
  542. declare 153 generic {
  543.     int Tcl_GetChannelHandle(Tcl_Channel chan, int direction,
  544.     ClientData *handlePtr)
  545. }
  546. declare 154 generic {
  547.     ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan)
  548. }
  549. declare 155 generic {
  550.     int Tcl_GetChannelMode(Tcl_Channel chan)
  551. }
  552. declare 156 generic {
  553.     CONST84_RETURN char * Tcl_GetChannelName(Tcl_Channel chan)
  554. }
  555. declare 157 generic {
  556.     int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan,
  557.     CONST char *optionName, Tcl_DString *dsPtr)
  558. }
  559. declare 158 generic {
  560.     Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan)
  561. }
  562. declare 159 generic {
  563.     int Tcl_GetCommandInfo(Tcl_Interp *interp, CONST char *cmdName,
  564.     Tcl_CmdInfo *infoPtr)
  565. }
  566. declare 160 generic {
  567.     CONST84_RETURN char * Tcl_GetCommandName(Tcl_Interp *interp,
  568.     Tcl_Command command)
  569. }
  570. declare 161 generic {
  571.     int Tcl_GetErrno(void)
  572. }
  573. declare 162 generic {
  574.     CONST84_RETURN char * Tcl_GetHostName(void)
  575. }
  576. declare 163 generic {
  577.     int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp)
  578. }
  579. declare 164 generic {
  580.     Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp)
  581. }
  582. declare 165 generic {
  583.     CONST char * Tcl_GetNameOfExecutable(void)
  584. }
  585. declare 166 generic {
  586.     Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp)
  587. }
  588. # Tcl_GetOpenFile is only available on unix, but it is a part of the old
  589. # generic interface, so we inlcude it here for compatibility reasons.
  590. declare 167 unix {
  591.     int Tcl_GetOpenFile(Tcl_Interp *interp, CONST char *str, int forWriting,
  592.     int checkUsage, ClientData *filePtr)
  593. }
  594. # Obsolete.  Should now use Tcl_FSGetPathType which is objectified
  595. # and therefore usually faster.
  596. declare 168 generic {
  597.     Tcl_PathType Tcl_GetPathType(CONST char *path)
  598. }
  599. declare 169 generic {
  600.     int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr)
  601. }
  602. declare 170 generic {
  603.     int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr)
  604. }
  605. declare 171 generic {
  606.     int Tcl_GetServiceMode(void)
  607. }
  608. declare 172 generic {
  609.     Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, CONST char *slaveName)
  610. }
  611. declare 173 generic {
  612.     Tcl_Channel Tcl_GetStdChannel(int type)
  613. }
  614. declare 174 generic {
  615.     CONST84_RETURN char * Tcl_GetStringResult(Tcl_Interp *interp)
  616. }
  617. declare 175 generic {
  618.     CONST84_RETURN char * Tcl_GetVar(Tcl_Interp *interp, CONST char *varName,
  619.     int flags)
  620. }
  621. declare 176 generic {
  622.     CONST84_RETURN char * Tcl_GetVar2(Tcl_Interp *interp, CONST char *part1,
  623.     CONST char *part2, int flags)
  624. }
  625. declare 177 generic {
  626.     int Tcl_GlobalEval(Tcl_Interp *interp, CONST char *command)
  627. }
  628. declare 178 generic {
  629.     int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
  630. }
  631. declare 179 generic {
  632.     int Tcl_HideCommand(Tcl_Interp *interp, CONST char *cmdName,
  633.     CONST char *hiddenCmdToken)
  634. }
  635. declare 180 generic {
  636.     int Tcl_Init(Tcl_Interp *interp)
  637. }
  638. declare 181 generic {
  639.     void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType)
  640. }
  641. declare 182 generic {
  642.     int Tcl_InputBlocked(Tcl_Channel chan)
  643. }
  644. declare 183 generic {
  645.     int Tcl_InputBuffered(Tcl_Channel chan)
  646. }
  647. declare 184 generic {
  648.     int Tcl_InterpDeleted(Tcl_Interp *interp)
  649. }
  650. declare 185 generic {
  651.     int Tcl_IsSafe(Tcl_Interp *interp)
  652. }
  653. # Obsolete, use Tcl_FSJoinPath
  654. declare 186 generic {
  655.     char * Tcl_JoinPath(int argc, CONST84 char * CONST *argv,
  656.     Tcl_DString *resultPtr)
  657. }
  658. declare 187 generic {
  659.     int Tcl_LinkVar(Tcl_Interp *interp, CONST char *varName, char *addr,
  660.     int type)
  661. }
  662. # This slot is reserved for use by the plus patch:
  663. #  declare 188 generic {
  664. #      Tcl_MainLoop
  665. #  }
  666. declare 189 generic {
  667.     Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode)
  668. }
  669. declare 190 generic {
  670.     int Tcl_MakeSafe(Tcl_Interp *interp)
  671. }
  672. declare 191 generic {
  673.     Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket)
  674. }
  675. declare 192 generic {
  676.     char * Tcl_Merge(int argc, CONST84 char * CONST *argv)
  677. }
  678. declare 193 generic {
  679.     Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr)
  680. }
  681. declare 194 generic {
  682.     void Tcl_NotifyChannel(Tcl_Channel channel, int mask)
  683. }
  684. declare 195 generic {
  685.     Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
  686.     Tcl_Obj *part2Ptr, int flags)
  687. }
  688. declare 196 generic {
  689.     Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
  690.     Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags)
  691. }
  692. declare 197 {unix win} {
  693.     Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc,
  694.     CONST84 char **argv, int flags)
  695. }
  696. # This is obsolete, use Tcl_FSOpenFileChannel
  697. declare 198 generic {
  698.     Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, CONST char *fileName,
  699.     CONST char *modeString, int permissions)
  700. }
  701. declare 199 generic {
  702.     Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port,
  703.     CONST char *address, CONST char *myaddr, int myport, int async)
  704. }
  705. declare 200 generic {
  706.     Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port,
  707.     CONST char *host, Tcl_TcpAcceptProc *acceptProc,
  708.     ClientData callbackData)
  709. }
  710. declare 201 generic {
  711.     void Tcl_Preserve(ClientData data)
  712. }
  713. declare 202 generic {
  714.     void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst)
  715. }
  716. declare 203 generic {
  717.     int Tcl_PutEnv(CONST char *string)
  718. }
  719. declare 204 generic {
  720.     CONST84_RETURN char * Tcl_PosixError(Tcl_Interp *interp)
  721. }
  722. declare 205 generic {
  723.     void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position)
  724. }
  725. declare 206 generic {
  726.     int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead)
  727. }
  728. declare 207 {unix win} {
  729.     void Tcl_ReapDetachedProcs(void)
  730. }
  731. declare 208 generic {
  732.     int Tcl_RecordAndEval(Tcl_Interp *interp, CONST char *cmd, int flags)
  733. }
  734. declare 209 generic {
  735.     int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags)
  736. }
  737. declare 210 generic {
  738.     void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
  739. }
  740. declare 211 generic {
  741.     void Tcl_RegisterObjType(Tcl_ObjType *typePtr)
  742. }
  743. declare 212 generic {
  744.     Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, CONST char *string)
  745. }
  746. declare 213 generic {
  747.     int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp,
  748.     CONST char *str, CONST char *start)
  749. }
  750. declare 214 generic {
  751.     int Tcl_RegExpMatch(Tcl_Interp *interp, CONST char *str,
  752.     CONST char *pattern)
  753. }
  754. declare 215 generic {
  755.     void Tcl_RegExpRange(Tcl_RegExp regexp, int index,
  756.     CONST84 char **startPtr, CONST84 char **endPtr)
  757. }
  758. declare 216 generic {
  759.     void Tcl_Release(ClientData clientData)
  760. }
  761. declare 217 generic {
  762.     void Tcl_ResetResult(Tcl_Interp *interp)
  763. }
  764. declare 218 generic {
  765.     int Tcl_ScanElement(CONST char *str, int *flagPtr)
  766. }
  767. declare 219 generic {
  768.     int Tcl_ScanCountedElement(CONST char *str, int length, int *flagPtr)
  769. }
  770. # Obsolete
  771. declare 220 generic {
  772.     int Tcl_SeekOld(Tcl_Channel chan, int offset, int mode)
  773. }
  774. declare 221 generic {
  775.     int Tcl_ServiceAll(void)
  776. }
  777. declare 222 generic {
  778.     int Tcl_ServiceEvent(int flags)
  779. }
  780. declare 223 generic {
  781.     void Tcl_SetAssocData(Tcl_Interp *interp, CONST char *name,
  782.     Tcl_InterpDeleteProc *proc, ClientData clientData)
  783. }
  784. declare 224 generic {
  785.     void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz)
  786. }
  787. declare 225 generic {
  788.     int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan,
  789.     CONST char *optionName, CONST char *newValue)
  790. }
  791. declare 226 generic {
  792.     int Tcl_SetCommandInfo(Tcl_Interp *interp, CONST char *cmdName,
  793.     CONST Tcl_CmdInfo *infoPtr)
  794. }
  795. declare 227 generic {
  796.     void Tcl_SetErrno(int err)
  797. }
  798. declare 228 generic {
  799.     void Tcl_SetErrorCode(Tcl_Interp *interp, ...)
  800. }
  801. declare 229 generic {
  802.     void Tcl_SetMaxBlockTime(Tcl_Time *timePtr)
  803. }
  804. declare 230 generic {
  805.     void Tcl_SetPanicProc(Tcl_PanicProc *panicProc)
  806. }
  807. declare 231 generic {
  808.     int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth)
  809. }
  810. declare 232 generic {
  811.     void Tcl_SetResult(Tcl_Interp *interp, char *str,
  812.     Tcl_FreeProc *freeProc)
  813. }
  814. declare 233 generic {
  815.     int Tcl_SetServiceMode(int mode)
  816. }
  817. declare 234 generic {
  818.     void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr)
  819. }
  820. declare 235 generic {
  821.     void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr)
  822. }
  823. declare 236 generic {
  824.     void Tcl_SetStdChannel(Tcl_Channel channel, int type)
  825. }
  826. declare 237 generic {
  827.     CONST84_RETURN char * Tcl_SetVar(Tcl_Interp *interp, CONST char *varName,
  828.     CONST char *newValue, int flags)
  829. }
  830. declare 238 generic {
  831.     CONST84_RETURN char * Tcl_SetVar2(Tcl_Interp *interp, CONST char *part1,
  832.     CONST char *part2, CONST char *newValue, int flags)
  833. }
  834. declare 239 generic {
  835.     CONST84_RETURN char * Tcl_SignalId(int sig)
  836. }
  837. declare 240 generic {
  838.     CONST84_RETURN char * Tcl_SignalMsg(int sig)
  839. }
  840. declare 241 generic {
  841.     void Tcl_SourceRCFile(Tcl_Interp *interp)
  842. }
  843. declare 242 generic {
  844.     int Tcl_SplitList(Tcl_Interp *interp, CONST char *listStr, int *argcPtr,
  845.     CONST84 char ***argvPtr)
  846. }
  847. # Obsolete, use Tcl_FSSplitPath
  848. declare 243 generic {
  849.     void Tcl_SplitPath(CONST char *path, int *argcPtr, CONST84 char ***argvPtr)
  850. }
  851. declare 244 generic {
  852.     void Tcl_StaticPackage(Tcl_Interp *interp, CONST char *pkgName,
  853.     Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
  854. }
  855. declare 245 generic {
  856.     int Tcl_StringMatch(CONST char *str, CONST char *pattern)
  857. }
  858. # Obsolete
  859. declare 246 generic {
  860.     int Tcl_TellOld(Tcl_Channel chan)
  861. }
  862. declare 247 generic {
  863.     int Tcl_TraceVar(Tcl_Interp *interp, CONST char *varName, int flags,
  864.     Tcl_VarTraceProc *proc, ClientData clientData)
  865. }
  866. declare 248 generic {
  867.     int Tcl_TraceVar2(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
  868.     int flags, Tcl_VarTraceProc *proc, ClientData clientData)
  869. }
  870. declare 249 generic {
  871.     char * Tcl_TranslateFileName(Tcl_Interp *interp, CONST char *name,
  872.     Tcl_DString *bufferPtr)
  873. }
  874. declare 250 generic {
  875.     int Tcl_Ungets(Tcl_Channel chan, CONST char *str, int len, int atHead)
  876. }
  877. declare 251 generic {
  878.     void Tcl_UnlinkVar(Tcl_Interp *interp, CONST char *varName)
  879. }
  880. declare 252 generic {
  881.     int Tcl_UnregisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
  882. }
  883. declare 253 generic {
  884.     int Tcl_UnsetVar(Tcl_Interp *interp, CONST char *varName, int flags)
  885. }
  886. declare 254 generic {
  887.     int Tcl_UnsetVar2(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
  888.     int flags)
  889. }
  890. declare 255 generic {
  891.     void Tcl_UntraceVar(Tcl_Interp *interp, CONST char *varName, int flags,
  892.     Tcl_VarTraceProc *proc, ClientData clientData)
  893. }
  894. declare 256 generic {
  895.     void Tcl_UntraceVar2(Tcl_Interp *interp, CONST char *part1,
  896.     CONST char *part2, int flags, Tcl_VarTraceProc *proc,
  897.     ClientData clientData)
  898. }
  899. declare 257 generic {
  900.     void Tcl_UpdateLinkedVar(Tcl_Interp *interp, CONST char *varName)
  901. }
  902. declare 258 generic {
  903.     int Tcl_UpVar(Tcl_Interp *interp, CONST char *frameName,
  904.     CONST char *varName, CONST char *localName, int flags)
  905. }
  906. declare 259 generic {
  907.     int Tcl_UpVar2(Tcl_Interp *interp, CONST char *frameName, CONST char *part1,
  908.     CONST char *part2, CONST char *localName, int flags)
  909. }
  910. declare 260 generic {
  911.     int Tcl_VarEval(Tcl_Interp *interp, ...)
  912. }
  913. declare 261 generic {
  914.     ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, CONST char *varName,
  915.     int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)
  916. }
  917. declare 262 generic {
  918.     ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, CONST char *part1,
  919.     CONST char *part2, int flags, Tcl_VarTraceProc *procPtr,
  920.     ClientData prevClientData)
  921. }
  922. declare 263 generic {
  923.     int Tcl_Write(Tcl_Channel chan, CONST char *s, int slen)
  924. }
  925. declare 264 generic {
  926.     void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc,
  927.     Tcl_Obj *CONST objv[], CONST char *message)
  928. }
  929. declare 265 generic {
  930.     int Tcl_DumpActiveMemory(CONST char *fileName)
  931. }
  932. declare 266 generic {
  933.     void Tcl_ValidateAllMemory(CONST char *file, int line)
  934. }
  935. declare 267 generic {
  936.     void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
  937. }
  938. declare 268 generic {
  939.     void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList)
  940. }
  941. declare 269 generic {
  942.     CONST84_RETURN char * Tcl_HashStats(Tcl_HashTable *tablePtr)
  943. }
  944. declare 270 generic {
  945.     CONST84_RETURN char * Tcl_ParseVar(Tcl_Interp *interp, CONST char *str,
  946.     CONST84 char **termPtr)
  947. }
  948. declare 271 generic {
  949.     CONST84_RETURN char * Tcl_PkgPresent(Tcl_Interp *interp, CONST char *name,
  950.     CONST char *version, int exact)
  951. }
  952. declare 272 generic {
  953.     CONST84_RETURN char * Tcl_PkgPresentEx(Tcl_Interp *interp, CONST char *name,
  954.     CONST char *version, int exact, ClientData *clientDataPtr)
  955. }
  956. declare 273 generic {
  957.     int Tcl_PkgProvide(Tcl_Interp *interp, CONST char *name, 
  958.     CONST char *version)
  959. }
  960. # TIP #268: The internally used new Require function is in slot
  961. #           573. Assuming TCL_TIP268 was activated.
  962. declare 274 generic {
  963.     CONST84_RETURN char * Tcl_PkgRequire(Tcl_Interp *interp, CONST char *name, 
  964.     CONST char *version, int exact)
  965. }
  966. declare 275 generic {
  967.     void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
  968. }
  969. declare 276 generic {
  970.     int  Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList)
  971. }
  972. declare 277 generic {
  973.     Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options)
  974. }
  975. declare 278 generic {
  976.     void Tcl_PanicVA(CONST char *format, va_list argList)
  977. }
  978. declare 279 generic {
  979.     void Tcl_GetVersion(int *major, int *minor, int *patchLevel, int *type)
  980. }
  981. declare 280 generic {
  982.     void Tcl_InitMemory(Tcl_Interp *interp)
  983. }
  984. # Andreas Kupries <a.kupries@westend.com>, 03/21/1999
  985. # "Trf-Patch for filtering channels"
  986. #
  987. # C-Level API for (un)stacking of channels. This allows the introduction
  988. # of filtering channels with relatively little changes to the core.
  989. # This patch was created in cooperation with Jan Nijtmans j.nijtmans@chello.nl
  990. # and is therefore part of his plus-patches too.
  991. #
  992. # It would have been possible to place the following definitions according
  993. # to the alphabetical order used elsewhere in this file, but I decided
  994. # against that to ease the maintenance of the patch across new tcl versions
  995. # (patch usually has no problems to integrate the patch file for the last
  996. # version into the new one).
  997. declare 281 generic {
  998.     Tcl_Channel Tcl_StackChannel(Tcl_Interp *interp, Tcl_ChannelType *typePtr,
  999.     ClientData instanceData, int mask, Tcl_Channel prevChan)
  1000. }
  1001. declare 282 generic {
  1002.     int Tcl_UnstackChannel(Tcl_Interp *interp, Tcl_Channel chan)
  1003. }
  1004. declare 283 generic {
  1005.     Tcl_Channel Tcl_GetStackedChannel(Tcl_Channel chan)
  1006. }
  1007. # 284 was reserved, but added in 8.4a2
  1008. declare 284 generic {
  1009.     void Tcl_SetMainLoop(Tcl_MainLoopProc *proc)
  1010. }
  1011. # Reserved for future use (8.0.x vs. 8.1)
  1012. #  declare 285 generic {
  1013. #  }
  1014. # Added in 8.1:
  1015. declare 286 generic {
  1016.     void Tcl_AppendObjToObj(Tcl_Obj *objPtr, Tcl_Obj *appendObjPtr)
  1017. }
  1018. declare 287 generic {
  1019.     Tcl_Encoding Tcl_CreateEncoding(Tcl_EncodingType *typePtr)
  1020. }
  1021. declare 288 generic {
  1022.     void Tcl_CreateThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
  1023. }
  1024. declare 289 generic {
  1025.     void Tcl_DeleteThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
  1026. }
  1027. declare 290 generic {
  1028.     void Tcl_DiscardResult(Tcl_SavedResult *statePtr)
  1029. }
  1030. declare 291 generic {
  1031.     int Tcl_EvalEx(Tcl_Interp *interp, CONST char *script, int numBytes,
  1032.     int flags)
  1033. }
  1034. declare 292 generic {
  1035.     int Tcl_EvalObjv(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[],
  1036.     int flags)
  1037. }
  1038. declare 293 generic {
  1039.     int Tcl_EvalObjEx(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags)
  1040. }
  1041. declare 294 generic {
  1042.     void Tcl_ExitThread(int status)
  1043. }
  1044. declare 295 generic {
  1045.     int Tcl_ExternalToUtf(Tcl_Interp *interp, Tcl_Encoding encoding,
  1046.     CONST char *src, int srcLen, int flags,
  1047.     Tcl_EncodingState *statePtr, char *dst, int dstLen,
  1048.     int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
  1049. }
  1050. declare 296 generic {
  1051.     char * Tcl_ExternalToUtfDString(Tcl_Encoding encoding,
  1052.     CONST char *src, int srcLen, Tcl_DString *dsPtr)
  1053. }
  1054. declare 297 generic {
  1055.     void Tcl_FinalizeThread(void)
  1056. }
  1057. declare 298 generic {
  1058.     void Tcl_FinalizeNotifier(ClientData clientData)
  1059. }
  1060. declare 299 generic {
  1061.     void Tcl_FreeEncoding(Tcl_Encoding encoding)
  1062. }
  1063. declare 300 generic {
  1064.     Tcl_ThreadId Tcl_GetCurrentThread(void)
  1065. }
  1066. declare 301 generic {
  1067.     Tcl_Encoding Tcl_GetEncoding(Tcl_Interp *interp, CONST char *name)
  1068. }
  1069. declare 302 generic {
  1070.     CONST84_RETURN char * Tcl_GetEncodingName(Tcl_Encoding encoding)
  1071. }
  1072. declare 303 generic {
  1073.     void Tcl_GetEncodingNames(Tcl_Interp *interp)
  1074. }
  1075. declare 304 generic {
  1076.     int Tcl_GetIndexFromObjStruct(Tcl_Interp *interp, Tcl_Obj *objPtr,
  1077.     CONST VOID *tablePtr, int offset, CONST char *msg, int flags,
  1078.     int *indexPtr)
  1079. }
  1080. declare 305 generic {
  1081.     VOID * Tcl_GetThreadData(Tcl_ThreadDataKey *keyPtr, int size)
  1082. }
  1083. declare 306 generic {
  1084.     Tcl_Obj * Tcl_GetVar2Ex(Tcl_Interp *interp, CONST char *part1,
  1085.     CONST char *part2, int flags)
  1086. }
  1087. declare 307 generic {
  1088.     ClientData Tcl_InitNotifier(void)
  1089. }
  1090. declare 308 generic {
  1091.     void Tcl_MutexLock(Tcl_Mutex *mutexPtr)
  1092. }
  1093. declare 309 generic {
  1094.     void Tcl_MutexUnlock(Tcl_Mutex *mutexPtr)
  1095. }
  1096. declare 310 generic {
  1097.     void Tcl_ConditionNotify(Tcl_Condition *condPtr)
  1098. }
  1099. declare 311 generic {
  1100.     void Tcl_ConditionWait(Tcl_Condition *condPtr, Tcl_Mutex *mutexPtr,
  1101.     Tcl_Time *timePtr)
  1102. }
  1103. declare 312 generic {
  1104.     int Tcl_NumUtfChars(CONST char *src, int len)
  1105. }
  1106. declare 313 generic {
  1107.     int Tcl_ReadChars(Tcl_Channel channel, Tcl_Obj *objPtr, int charsToRead,
  1108.     int appendFlag)
  1109. }
  1110. declare 314 generic {
  1111.     void Tcl_RestoreResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
  1112. }
  1113. declare 315 generic {
  1114.     void Tcl_SaveResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
  1115. }
  1116. declare 316 generic {
  1117.     int Tcl_SetSystemEncoding(Tcl_Interp *interp, CONST char *name)
  1118. }
  1119. declare 317 generic {
  1120.     Tcl_Obj * Tcl_SetVar2Ex(Tcl_Interp *interp, CONST char *part1, 
  1121.             CONST char *part2, Tcl_Obj *newValuePtr, int flags)
  1122. }
  1123. declare 318 generic {
  1124.     void Tcl_ThreadAlert(Tcl_ThreadId threadId)
  1125. }
  1126. declare 319 generic {
  1127.     void Tcl_ThreadQueueEvent(Tcl_ThreadId threadId, Tcl_Event* evPtr,
  1128.     Tcl_QueuePosition position)
  1129. }
  1130. declare 320 generic {
  1131.     Tcl_UniChar Tcl_UniCharAtIndex(CONST char *src, int index)
  1132. }
  1133. declare 321 generic {
  1134.     Tcl_UniChar Tcl_UniCharToLower(int ch)
  1135. }
  1136. declare 322 generic {
  1137.     Tcl_UniChar Tcl_UniCharToTitle(int ch)
  1138. }
  1139. declare 323 generic {
  1140.     Tcl_UniChar Tcl_UniCharToUpper(int ch)
  1141. }
  1142. declare 324 generic {
  1143.     int Tcl_UniCharToUtf(int ch, char *buf)
  1144. }
  1145. declare 325 generic {
  1146.     CONST84_RETURN char * Tcl_UtfAtIndex(CONST char *src, int index)
  1147. }
  1148. declare 326 generic {
  1149.     int Tcl_UtfCharComplete(CONST char *src, int len)
  1150. }
  1151. declare 327 generic {
  1152.     int Tcl_UtfBackslash(CONST char *src, int *readPtr, char *dst)
  1153. }
  1154. declare 328 generic {
  1155.     CONST84_RETURN char * Tcl_UtfFindFirst(CONST char *src, int ch)
  1156. }
  1157. declare 329 generic {
  1158.     CONST84_RETURN char * Tcl_UtfFindLast(CONST char *src, int ch)
  1159. }
  1160. declare 330 generic {
  1161.     CONST84_RETURN char * Tcl_UtfNext(CONST char *src)
  1162. }
  1163. declare 331 generic {
  1164.     CONST84_RETURN char * Tcl_UtfPrev(CONST char *src, CONST char *start)
  1165. }
  1166. declare 332 generic {
  1167.     int Tcl_UtfToExternal(Tcl_Interp *interp, Tcl_Encoding encoding,
  1168.     CONST char *src, int srcLen, int flags,
  1169.     Tcl_EncodingState *statePtr, char *dst, int dstLen,
  1170.     int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
  1171. }
  1172. declare 333 generic {
  1173.     char * Tcl_UtfToExternalDString(Tcl_Encoding encoding,
  1174.     CONST char *src, int srcLen, Tcl_DString *dsPtr)
  1175. }
  1176. declare 334 generic {
  1177.     int Tcl_UtfToLower(char *src)
  1178. }
  1179. declare 335 generic {
  1180.     int Tcl_UtfToTitle(char *src)
  1181. }
  1182. declare 336 generic {
  1183.     int Tcl_UtfToUniChar(CONST char *src, Tcl_UniChar *chPtr)
  1184. }
  1185. declare 337 generic {
  1186.     int Tcl_UtfToUpper(char *src)
  1187. }
  1188. declare 338 generic {
  1189.     int Tcl_WriteChars(Tcl_Channel chan, CONST char *src, int srcLen)
  1190. }
  1191. declare 339 generic {
  1192.     int Tcl_WriteObj(Tcl_Channel chan, Tcl_Obj *objPtr)
  1193. }
  1194. declare 340 generic {
  1195.     char * Tcl_GetString(Tcl_Obj *objPtr)
  1196. }
  1197. declare 341 generic {
  1198.     CONST84_RETURN char * Tcl_GetDefaultEncodingDir(void)
  1199. }
  1200. declare 342 generic {
  1201.     void Tcl_SetDefaultEncodingDir(CONST char *path)
  1202. }
  1203. declare 343 generic {
  1204.     void Tcl_AlertNotifier(ClientData clientData)
  1205. }
  1206. declare 344 generic {
  1207.     void Tcl_ServiceModeHook(int mode)
  1208. }
  1209. declare 345 generic {
  1210.     int Tcl_UniCharIsAlnum(int ch)
  1211. }
  1212. declare 346 generic {
  1213.     int Tcl_UniCharIsAlpha(int ch)
  1214. }
  1215. declare 347 generic {
  1216.     int Tcl_UniCharIsDigit(int ch)
  1217. }
  1218. declare 348 generic {
  1219.     int Tcl_UniCharIsLower(int ch)
  1220. }
  1221. declare 349 generic {
  1222.     int Tcl_UniCharIsSpace(int ch)
  1223. }
  1224. declare 350 generic {
  1225.     int Tcl_UniCharIsUpper(int ch)
  1226. }
  1227. declare 351 generic {
  1228.     int Tcl_UniCharIsWordChar(int ch)
  1229. }
  1230. declare 352 generic {
  1231.     int Tcl_UniCharLen(CONST Tcl_UniChar *str)
  1232. }
  1233. declare 353 generic {
  1234.     int Tcl_UniCharNcmp(CONST Tcl_UniChar *cs, CONST Tcl_UniChar *ct,
  1235.     unsigned long n)
  1236. }
  1237. declare 354 generic {
  1238.     char * Tcl_UniCharToUtfDString(CONST Tcl_UniChar *string,
  1239.     int numChars, Tcl_DString *dsPtr)
  1240. }
  1241. declare 355 generic {
  1242.     Tcl_UniChar * Tcl_UtfToUniCharDString(CONST char *string,
  1243.     int length, Tcl_DString *dsPtr)
  1244. }
  1245. declare 356 generic {
  1246.     Tcl_RegExp Tcl_GetRegExpFromObj(Tcl_Interp *interp, Tcl_Obj *patObj,
  1247.     int flags)
  1248. }
  1249. declare 357 generic {
  1250.     Tcl_Obj *Tcl_EvalTokens(Tcl_Interp *interp, Tcl_Token *tokenPtr,
  1251.     int count)
  1252. }
  1253. declare 358 generic {
  1254.     void Tcl_FreeParse(Tcl_Parse *parsePtr)
  1255. }
  1256. declare 359 generic {
  1257.     void Tcl_LogCommandInfo(Tcl_Interp *interp, CONST char *script,
  1258.     CONST char *command, int length)
  1259. }
  1260. declare 360 generic {
  1261.     int Tcl_ParseBraces(Tcl_Interp *interp, CONST char *string, int numBytes,
  1262.     Tcl_Parse *parsePtr, int append, CONST84 char **termPtr)
  1263. }
  1264. declare 361 generic {
  1265.     int Tcl_ParseCommand(Tcl_Interp *interp, CONST char *string, int numBytes,
  1266.     int nested, Tcl_Parse *parsePtr)
  1267. }
  1268. declare 362 generic {
  1269.     int Tcl_ParseExpr(Tcl_Interp *interp, CONST char *string, int numBytes,
  1270.     Tcl_Parse *parsePtr)  
  1271. }
  1272. declare 363 generic {
  1273.     int Tcl_ParseQuotedString(Tcl_Interp *interp, CONST char *string,
  1274.     int numBytes, Tcl_Parse *parsePtr, int append,
  1275.     CONST84 char **termPtr)
  1276. }
  1277. declare 364 generic {
  1278.     int Tcl_ParseVarName(Tcl_Interp *interp, CONST char *string, int numBytes,
  1279.     Tcl_Parse *parsePtr, int append)
  1280. }
  1281. # These 4 functions are obsolete, use Tcl_FSGetCwd, Tcl_FSChdir,
  1282. # Tcl_FSAccess and Tcl_FSStat
  1283. declare 365 generic {
  1284.     char *Tcl_GetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
  1285. }
  1286. declare 366 generic {
  1287.    int Tcl_Chdir(CONST char *dirName)
  1288. }
  1289. declare 367 generic {
  1290.    int Tcl_Access(CONST char *path, int mode)
  1291. }
  1292. declare 368 generic {
  1293.     int Tcl_Stat(CONST char *path, struct stat *bufPtr)
  1294. }
  1295. declare 369 generic {
  1296.     int Tcl_UtfNcmp(CONST char *s1, CONST char *s2, unsigned long n)
  1297. }
  1298. declare 370 generic {
  1299.     int Tcl_UtfNcasecmp(CONST char *s1, CONST char *s2, unsigned long n)
  1300. }
  1301. declare 371 generic {
  1302.     int Tcl_StringCaseMatch(CONST char *str, CONST char *pattern, int nocase)
  1303. }
  1304. declare 372 generic {
  1305.     int Tcl_UniCharIsControl(int ch)
  1306. }
  1307. declare 373 generic {
  1308.     int Tcl_UniCharIsGraph(int ch)
  1309. }
  1310. declare 374 generic {
  1311.     int Tcl_UniCharIsPrint(int ch)
  1312. }
  1313. declare 375 generic {
  1314.     int Tcl_UniCharIsPunct(int ch)
  1315. }
  1316. declare 376 generic {
  1317.     int Tcl_RegExpExecObj(Tcl_Interp *interp, Tcl_RegExp regexp,
  1318.     Tcl_Obj *objPtr, int offset, int nmatches, int flags)
  1319. }
  1320. declare 377 generic {
  1321.     void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo *infoPtr)
  1322. }
  1323. declare 378 generic {
  1324.     Tcl_Obj * Tcl_NewUnicodeObj(CONST Tcl_UniChar *unicode, int numChars)
  1325. }
  1326. declare 379 generic {
  1327.     void Tcl_SetUnicodeObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
  1328.     int numChars)
  1329. }
  1330. declare 380 generic {
  1331.     int Tcl_GetCharLength(Tcl_Obj *objPtr)
  1332. }
  1333. declare 381 generic {
  1334.     Tcl_UniChar Tcl_GetUniChar(Tcl_Obj *objPtr, int index)
  1335. }
  1336. declare 382 generic {
  1337.     Tcl_UniChar * Tcl_GetUnicode(Tcl_Obj *objPtr)
  1338. }
  1339. declare 383 generic {
  1340.     Tcl_Obj * Tcl_GetRange(Tcl_Obj *objPtr, int first, int last)
  1341. }
  1342. declare 384 generic {
  1343.     void Tcl_AppendUnicodeToObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
  1344.     int length)
  1345. }
  1346. declare 385 generic {
  1347.     int Tcl_RegExpMatchObj(Tcl_Interp *interp, Tcl_Obj *stringObj,
  1348.     Tcl_Obj *patternObj)
  1349. }
  1350. declare 386 generic {
  1351.     void Tcl_SetNotifier(Tcl_NotifierProcs *notifierProcPtr)
  1352. }
  1353. declare 387 generic {
  1354.     Tcl_Mutex * Tcl_GetAllocMutex(void)
  1355. }
  1356. declare 388 generic {
  1357.     int Tcl_GetChannelNames(Tcl_Interp *interp)
  1358. }
  1359. declare 389 generic {
  1360.     int Tcl_GetChannelNamesEx(Tcl_Interp *interp, CONST char *pattern)
  1361. }
  1362. declare 390 generic {
  1363.     int Tcl_ProcObjCmd(ClientData clientData, Tcl_Interp *interp,
  1364.     int objc, Tcl_Obj *CONST objv[])
  1365. }
  1366. declare 391 generic {
  1367.     void Tcl_ConditionFinalize(Tcl_Condition *condPtr)
  1368. }
  1369. declare 392 generic {
  1370.     void Tcl_MutexFinalize(Tcl_Mutex *mutex)
  1371. }
  1372. declare 393 generic {
  1373.     int Tcl_CreateThread(Tcl_ThreadId *idPtr, Tcl_ThreadCreateProc proc,
  1374.     ClientData clientData, int stackSize, int flags)
  1375. }
  1376. # Introduced in 8.3.2
  1377. declare 394 generic {
  1378.     int Tcl_ReadRaw(Tcl_Channel chan, char *dst, int bytesToRead)
  1379. }
  1380. declare 395 generic {
  1381.     int Tcl_WriteRaw(Tcl_Channel chan, CONST char *src, int srcLen)
  1382. }
  1383. declare 396 generic {
  1384.     Tcl_Channel Tcl_GetTopChannel(Tcl_Channel chan)
  1385. }
  1386. declare 397 generic {
  1387.     int Tcl_ChannelBuffered(Tcl_Channel chan)
  1388. }
  1389. declare 398 generic {
  1390.     CONST84_RETURN char * Tcl_ChannelName(Tcl_ChannelType *chanTypePtr)
  1391. }
  1392. declare 399 generic {
  1393.     Tcl_ChannelTypeVersion Tcl_ChannelVersion(Tcl_ChannelType *chanTypePtr)
  1394. }
  1395. declare 400 generic {
  1396.     Tcl_DriverBlockModeProc * Tcl_ChannelBlockModeProc(Tcl_ChannelType
  1397.     *chanTypePtr)
  1398. }
  1399. declare 401 generic {
  1400.     Tcl_DriverCloseProc * Tcl_ChannelCloseProc(Tcl_ChannelType *chanTypePtr)
  1401. }
  1402. declare 402 generic {
  1403.     Tcl_DriverClose2Proc * Tcl_ChannelClose2Proc(Tcl_ChannelType *chanTypePtr)
  1404. }
  1405. declare 403 generic {
  1406.     Tcl_DriverInputProc * Tcl_ChannelInputProc(Tcl_ChannelType *chanTypePtr)
  1407. }
  1408. declare 404 generic {
  1409.     Tcl_DriverOutputProc * Tcl_ChannelOutputProc(Tcl_ChannelType *chanTypePtr)
  1410. }
  1411. declare 405 generic {
  1412.     Tcl_DriverSeekProc * Tcl_ChannelSeekProc(Tcl_ChannelType *chanTypePtr)
  1413. }
  1414. declare 406 generic {
  1415.     Tcl_DriverSetOptionProc * Tcl_ChannelSetOptionProc(Tcl_ChannelType
  1416.     *chanTypePtr)
  1417. }
  1418. declare 407 generic {
  1419.     Tcl_DriverGetOptionProc * Tcl_ChannelGetOptionProc(Tcl_ChannelType
  1420.     *chanTypePtr)
  1421. }
  1422. declare 408 generic {
  1423.     Tcl_DriverWatchProc * Tcl_ChannelWatchProc(Tcl_ChannelType *chanTypePtr)
  1424. }
  1425. declare 409 generic {
  1426.     Tcl_DriverGetHandleProc * Tcl_ChannelGetHandleProc(Tcl_ChannelType
  1427.     *chanTypePtr)
  1428. }
  1429. declare 410 generic {
  1430.     Tcl_DriverFlushProc * Tcl_ChannelFlushProc(Tcl_ChannelType *chanTypePtr)
  1431. }
  1432. declare 411 generic {
  1433.     Tcl_DriverHandlerProc * Tcl_ChannelHandlerProc(Tcl_ChannelType
  1434.     *chanTypePtr)
  1435. }
  1436. # Introduced in 8.4a2
  1437. declare 412 generic {
  1438.     int Tcl_JoinThread(Tcl_ThreadId threadId, int* result)
  1439. }
  1440. declare 413 generic {
  1441.     int Tcl_IsChannelShared(Tcl_Channel channel)
  1442. }
  1443. declare 414 generic {
  1444.     int Tcl_IsChannelRegistered(Tcl_Interp* interp, Tcl_Channel channel)
  1445. }
  1446. declare 415 generic {
  1447.     void Tcl_CutChannel(Tcl_Channel channel)
  1448. }
  1449. declare 416 generic {
  1450.     void Tcl_SpliceChannel(Tcl_Channel channel)
  1451. }
  1452. declare 417 generic {
  1453.     void Tcl_ClearChannelHandlers(Tcl_Channel channel)
  1454. }
  1455. declare 418 generic {
  1456.     int Tcl_IsChannelExisting(CONST char* channelName)
  1457. }
  1458. declare 419 generic {
  1459.     int Tcl_UniCharNcasecmp(CONST Tcl_UniChar *cs, CONST Tcl_UniChar *ct,
  1460.     unsigned long n)
  1461. }
  1462. declare 420 generic {
  1463.     int Tcl_UniCharCaseMatch(CONST Tcl_UniChar *ustr,
  1464.     CONST Tcl_UniChar *pattern, int nocase)
  1465. }
  1466. declare 421 generic {
  1467.     Tcl_HashEntry *Tcl_FindHashEntry(Tcl_HashTable *tablePtr, CONST char *key)
  1468. }
  1469. declare 422 generic {
  1470.     Tcl_HashEntry *Tcl_CreateHashEntry(Tcl_HashTable *tablePtr,
  1471.     CONST char *key, int *newPtr)
  1472. }
  1473. declare 423 generic {
  1474.     void Tcl_InitCustomHashTable(Tcl_HashTable *tablePtr, int keyType,
  1475.     Tcl_HashKeyType *typePtr)
  1476. }
  1477. declare 424 generic {
  1478.     void Tcl_InitObjHashTable(Tcl_HashTable *tablePtr)
  1479. }
  1480. declare 425 generic {
  1481.     ClientData Tcl_CommandTraceInfo(Tcl_Interp *interp, CONST char *varName,
  1482.     int flags, Tcl_CommandTraceProc *procPtr,
  1483.     ClientData prevClientData)
  1484. }
  1485. declare 426 generic {
  1486.     int Tcl_TraceCommand(Tcl_Interp *interp, CONST char *varName, int flags,
  1487.     Tcl_CommandTraceProc *proc, ClientData clientData)
  1488. }
  1489. declare 427 generic {
  1490.     void Tcl_UntraceCommand(Tcl_Interp *interp, CONST char *varName,
  1491.     int flags, Tcl_CommandTraceProc *proc, ClientData clientData)
  1492. }
  1493. declare 428 generic {
  1494.     char * Tcl_AttemptAlloc(unsigned int size)
  1495. }
  1496. declare 429 generic {
  1497.     char * Tcl_AttemptDbCkalloc(unsigned int size, CONST char *file, int line)
  1498. }
  1499. declare 430 generic {
  1500.     char * Tcl_AttemptRealloc(char *ptr, unsigned int size)
  1501. }
  1502. declare 431 generic {
  1503.     char * Tcl_AttemptDbCkrealloc(char *ptr, unsigned int size,
  1504.     CONST char *file, int line)
  1505. }
  1506. declare 432 generic {
  1507.     int Tcl_AttemptSetObjLength(Tcl_Obj *objPtr, int length)
  1508. }
  1509. declare 433 generic {
  1510.     Tcl_ThreadId Tcl_GetChannelThread(Tcl_Channel channel)
  1511. }
  1512. # introduced in 8.4a3
  1513. declare 434 generic {
  1514.     Tcl_UniChar * Tcl_GetUnicodeFromObj(Tcl_Obj *objPtr, int *lengthPtr)
  1515. }
  1516. declare 435 generic {
  1517.     int Tcl_GetMathFuncInfo(Tcl_Interp *interp, CONST char *name,
  1518.     int *numArgsPtr, Tcl_ValueType **argTypesPtr,
  1519.     Tcl_MathProc **procPtr, ClientData *clientDataPtr)
  1520. }
  1521. declare 436 generic {
  1522.     Tcl_Obj * Tcl_ListMathFuncs(Tcl_Interp *interp, CONST char *pattern)
  1523. }
  1524. declare 437 generic {
  1525.     Tcl_Obj * Tcl_SubstObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags)
  1526. }
  1527. declare 438 generic {
  1528.     int Tcl_DetachChannel(Tcl_Interp* interp, Tcl_Channel channel)
  1529. }
  1530. declare 439 generic {
  1531.     int Tcl_IsStandardChannel(Tcl_Channel channel)
  1532. }
  1533. # New functions due to TIP#17
  1534. declare 440 generic {
  1535.     int Tcl_FSCopyFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
  1536. }
  1537. declare 441 generic {
  1538.     int Tcl_FSCopyDirectory(Tcl_Obj *srcPathPtr,
  1539.     Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr)
  1540. }
  1541. declare 442 generic {
  1542.     int Tcl_FSCreateDirectory(Tcl_Obj *pathPtr)
  1543. }
  1544. declare 443 generic {
  1545.     int Tcl_FSDeleteFile(Tcl_Obj *pathPtr)
  1546. }
  1547. declare 444 generic {
  1548.     int Tcl_FSLoadFile(Tcl_Interp * interp,
  1549.     Tcl_Obj *pathPtr, CONST char * sym1, CONST char * sym2,
  1550.     Tcl_PackageInitProc ** proc1Ptr,
  1551.     Tcl_PackageInitProc ** proc2Ptr,
  1552.     Tcl_LoadHandle * handlePtr,
  1553.     Tcl_FSUnloadFileProc **unloadProcPtr)
  1554. }
  1555. declare 445 generic {
  1556.     int Tcl_FSMatchInDirectory(Tcl_Interp *interp, Tcl_Obj *result,
  1557.     Tcl_Obj *pathPtr, CONST char *pattern, Tcl_GlobTypeData *types)
  1558. }
  1559. declare 446 generic {
  1560.     Tcl_Obj * Tcl_FSLink(Tcl_Obj *pathPtr, Tcl_Obj *toPtr, int linkAction)
  1561. }
  1562. declare 447 generic {
  1563.     int Tcl_FSRemoveDirectory(Tcl_Obj *pathPtr,
  1564.     int recursive, Tcl_Obj **errorPtr)
  1565. }
  1566. declare 448 generic {
  1567.     int Tcl_FSRenameFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
  1568. }
  1569. declare 449 generic {
  1570.     int Tcl_FSLstat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf)
  1571. }
  1572. declare 450 generic {
  1573.     int Tcl_FSUtime(Tcl_Obj *pathPtr, struct utimbuf *tval)
  1574. }
  1575. declare 451 generic {
  1576.     int Tcl_FSFileAttrsGet(Tcl_Interp *interp,
  1577.     int index, Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)
  1578. }
  1579. declare 452 generic {
  1580.     int Tcl_FSFileAttrsSet(Tcl_Interp *interp,
  1581.     int index, Tcl_Obj *pathPtr, Tcl_Obj *objPtr)
  1582. }
  1583. declare 453 generic {
  1584.     CONST char ** Tcl_FSFileAttrStrings(Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)
  1585. }
  1586. declare 454 generic {
  1587.     int Tcl_FSStat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf)
  1588. }
  1589. declare 455 generic {
  1590.     int Tcl_FSAccess(Tcl_Obj *pathPtr, int mode)
  1591. }
  1592. declare 456 generic {
  1593.     Tcl_Channel Tcl_FSOpenFileChannel(Tcl_Interp *interp, Tcl_Obj *pathPtr,
  1594.     CONST char *modeString, int permissions)
  1595. }
  1596. declare 457 generic {
  1597.     Tcl_Obj*  Tcl_FSGetCwd(Tcl_Interp *interp)
  1598. }
  1599. declare 458 generic {
  1600.     int Tcl_FSChdir(Tcl_Obj *pathPtr)
  1601. }
  1602. declare 459 generic {
  1603.     int Tcl_FSConvertToPathType(Tcl_Interp *interp, Tcl_Obj *pathPtr)
  1604. }
  1605. declare 460 generic {
  1606.     Tcl_Obj* Tcl_FSJoinPath(Tcl_Obj *listObj, int elements)
  1607. }
  1608. declare 461 generic {
  1609.     Tcl_Obj* Tcl_FSSplitPath(Tcl_Obj* pathPtr, int *lenPtr)
  1610. }
  1611. declare 462 generic {
  1612.     int Tcl_FSEqualPaths(Tcl_Obj* firstPtr, Tcl_Obj* secondPtr)
  1613. }
  1614. declare 463 generic {
  1615.     Tcl_Obj* Tcl_FSGetNormalizedPath(Tcl_Interp *interp, Tcl_Obj* pathObjPtr)
  1616. }
  1617. declare 464 generic {
  1618.     Tcl_Obj* Tcl_FSJoinToPath(Tcl_Obj *basePtr, int objc,
  1619.     Tcl_Obj *CONST objv[])
  1620. }
  1621. declare 465 generic {
  1622.     ClientData Tcl_FSGetInternalRep(Tcl_Obj* pathObjPtr,
  1623.     Tcl_Filesystem *fsPtr)
  1624. }
  1625. declare 466 generic {
  1626.     Tcl_Obj* Tcl_FSGetTranslatedPath(Tcl_Interp *interp, Tcl_Obj* pathPtr)
  1627. }
  1628. declare 467 generic {
  1629.     int Tcl_FSEvalFile(Tcl_Interp *interp, Tcl_Obj *fileName)
  1630. }
  1631. declare 468 generic {
  1632.     Tcl_Obj* Tcl_FSNewNativePath(Tcl_Filesystem* fromFilesystem,
  1633.     ClientData clientData)
  1634. }
  1635. declare 469 generic {
  1636.     CONST char* Tcl_FSGetNativePath(Tcl_Obj* pathObjPtr)
  1637. }
  1638. declare 470 generic {
  1639.     Tcl_Obj* Tcl_FSFileSystemInfo(Tcl_Obj* pathObjPtr)
  1640. }
  1641. declare 471 generic {
  1642.     Tcl_Obj* Tcl_FSPathSeparator(Tcl_Obj* pathObjPtr)
  1643. }
  1644. declare 472 generic {
  1645.     Tcl_Obj* Tcl_FSListVolumes(void)
  1646. }
  1647. declare 473 generic {
  1648.     int Tcl_FSRegister(ClientData clientData, Tcl_Filesystem *fsPtr)
  1649. }
  1650. declare 474 generic {
  1651.     int Tcl_FSUnregister(Tcl_Filesystem *fsPtr)
  1652. }
  1653. declare 475 generic {
  1654.     ClientData Tcl_FSData(Tcl_Filesystem *fsPtr)
  1655. }
  1656. declare 476 generic {
  1657.     CONST char* Tcl_FSGetTranslatedStringPath(Tcl_Interp *interp,
  1658.     Tcl_Obj* pathPtr)
  1659. }
  1660. declare 477 generic {
  1661.     Tcl_Filesystem* Tcl_FSGetFileSystemForPath(Tcl_Obj* pathObjPtr)
  1662. }
  1663. declare 478 generic {
  1664.     Tcl_PathType Tcl_FSGetPathType(Tcl_Obj *pathObjPtr)
  1665. }
  1666. # New function due to TIP#49
  1667. declare 479 generic {
  1668.     int Tcl_OutputBuffered(Tcl_Channel chan)
  1669. }
  1670. declare 480 generic {
  1671.     void Tcl_FSMountsChanged(Tcl_Filesystem *fsPtr)
  1672. }   
  1673. # New function due to TIP#56
  1674. declare 481 generic {
  1675.     int Tcl_EvalTokensStandard(Tcl_Interp *interp, Tcl_Token *tokenPtr,
  1676.     int count)
  1677. }
  1678. # New export due to TIP#73 
  1679. declare 482 generic {
  1680.     void Tcl_GetTime(Tcl_Time* timeBuf)
  1681. }
  1682. # New exports due to TIP#32
  1683. declare 483 generic {
  1684.     Tcl_Trace Tcl_CreateObjTrace(Tcl_Interp* interp, int level, int flags,
  1685.     Tcl_CmdObjTraceProc* objProc, ClientData clientData,
  1686.     Tcl_CmdObjTraceDeleteProc* delProc)
  1687. }
  1688. declare 484 generic {
  1689.     int Tcl_GetCommandInfoFromToken(Tcl_Command token, Tcl_CmdInfo* infoPtr)
  1690. }
  1691. declare 485 generic {
  1692.     int Tcl_SetCommandInfoFromToken(Tcl_Command token,
  1693.     CONST Tcl_CmdInfo* infoPtr)
  1694. }
  1695. ### New functions on 64-bit dev branch ###
  1696. declare 486 generic {
  1697.     Tcl_Obj * Tcl_DbNewWideIntObj(Tcl_WideInt wideValue,
  1698.     CONST char *file, int line)
  1699. }
  1700. declare 487 generic {
  1701.     int Tcl_GetWideIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  1702.     Tcl_WideInt *widePtr)
  1703. }
  1704. declare 488 generic {
  1705.     Tcl_Obj * Tcl_NewWideIntObj(Tcl_WideInt wideValue)
  1706. }
  1707. declare 489 generic {
  1708.     void Tcl_SetWideIntObj(Tcl_Obj *objPtr, Tcl_WideInt wideValue)
  1709. }
  1710. declare 490 generic {
  1711.     Tcl_StatBuf * Tcl_AllocStatBuf(void)
  1712. }
  1713. declare 491 generic {
  1714.     Tcl_WideInt Tcl_Seek(Tcl_Channel chan, Tcl_WideInt offset, int mode)
  1715. }
  1716. declare 492 generic {
  1717.     Tcl_WideInt Tcl_Tell(Tcl_Channel chan)
  1718. }
  1719. # New export due to TIP#91
  1720. declare 493 generic {
  1721.     Tcl_DriverWideSeekProc * Tcl_ChannelWideSeekProc(
  1722.     Tcl_ChannelType *chanTypePtr)
  1723. }
  1724. # Slots 494 to 553 are taken already by 8.5
  1725. # #111 - Dicts            (494 ... 504)
  1726. #  #59 - Config           (505)
  1727. # #139 - Namespace API    (506 ... 517)
  1728. # #137 - source -encoding (518)
  1729. # #121 - ExitProc         (519)
  1730. # #121 - Resource Limits  (520 ... 534)
  1731. # #226 - S/R Interp State (535 ... 537)
  1732. # #227 - S/G Return Opts  (538 ... 539)
  1733. # #235 - Ensemble C API   (540 ... 551)
  1734. # #233 - Virtualized Time (552 ... 553)
  1735. # TIP#218 (Driver Thread Actions) davygrvy/akupries ChannelType ver 4
  1736. # These slots are used by 8.5 as well.
  1737. declare 554 generic {
  1738.     Tcl_DriverThreadActionProc *Tcl_ChannelThreadActionProc(Tcl_ChannelType *chanTypePtr)
  1739. }
  1740. # Slots 555 to 572 are taken already by 8.5
  1741. # TIP #237: Arbitrary-prec Integers (555 ... 559)
  1742. # TIP #208: 'chan' Command          (560 ... 561)
  1743. # TIP #219: Channel Reflection      (562 ... 565)
  1744. # TIP #237: Add. bignum support     (566)
  1745. # TIP #181: 'namespace unknown' Cmd (567 ... 568)
  1746. # TIP #258: Enhanced Encodings API  (569 ... 572)
  1747. # TIP#268: Extended version numbers and requirements.
  1748. #          The slot is present even if TCL_TIP268 is not activated.
  1749. declare 573 generic {
  1750.     int Tcl_PkgRequireProc(Tcl_Interp *interp, CONST char *name, 
  1751.     int objc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr)
  1752. }
  1753. ##############################################################################
  1754. # Define the platform specific public Tcl interface.  These functions are
  1755. # only available on the designated platform.
  1756. interface tclPlat
  1757. ######################
  1758. # Windows declarations
  1759. # Added in Tcl 8.1
  1760. declare 0 win {
  1761.     TCHAR * Tcl_WinUtfToTChar(CONST char *str, int len, Tcl_DString *dsPtr)
  1762. }
  1763. declare 1 win {
  1764.     char * Tcl_WinTCharToUtf(CONST TCHAR *str, int len, Tcl_DString *dsPtr)
  1765. }
  1766. ##################
  1767. # Mac declarations
  1768. # This is needed by the shells to handle Macintosh events.
  1769.  
  1770. declare 0 mac {
  1771.     void Tcl_MacSetEventProc(Tcl_MacConvertEventPtr procPtr)
  1772. }
  1773. # These routines are useful for handling using scripts from resources 
  1774. # in the application shell
  1775. declare 1 mac {
  1776.     char * Tcl_MacConvertTextResource(Handle resource)
  1777. }
  1778. declare 2 mac {
  1779.     int Tcl_MacEvalResource(Tcl_Interp *interp, CONST char *resourceName,
  1780.     int resourceNumber, CONST char *fileName)
  1781. }
  1782. declare 3 mac {
  1783.     Handle Tcl_MacFindResource(Tcl_Interp *interp, long resourceType,
  1784.     CONST char *resourceName, int resourceNumber,
  1785.     CONST char *resFileRef, int * releaseIt)
  1786. }
  1787. # These routines support the new OSType object type (i.e. the packed 4
  1788. # character type and creator codes).
  1789. declare 4 mac {
  1790.     int Tcl_GetOSTypeFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
  1791.     OSType *osTypePtr)
  1792. }
  1793. declare 5 mac {
  1794.     void Tcl_SetOSTypeObj(Tcl_Obj *objPtr, OSType osType)
  1795. }
  1796. declare 6 mac {
  1797.     Tcl_Obj * Tcl_NewOSTypeObj(OSType osType)
  1798. }
  1799. # These are not in MSL 2.1.2, so we need to export them from the
  1800. # Tcl shared library.  They are found in the compat directory.
  1801.  
  1802. declare 7 mac {
  1803.     int strncasecmp(CONST char *s1, CONST char *s2, size_t n)
  1804. }
  1805. declare 8 mac {
  1806.     int strcasecmp(CONST char *s1, CONST char *s2)
  1807. }
  1808. ##################
  1809. # Mac OS X declarations
  1810. #
  1811. declare 0 macosx {
  1812.     int Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp,
  1813.     CONST char *bundleName,
  1814.     int hasResourceFile,
  1815.     int maxPathLen,
  1816.     char *libraryPath)
  1817. }
  1818. declare 1 macosx {
  1819.     int Tcl_MacOSXOpenVersionedBundleResources(Tcl_Interp *interp,
  1820.     CONST char *bundleName,
  1821.     CONST char *bundleVersion,
  1822.     int hasResourceFile,
  1823.     int maxPathLen,
  1824.     char *libraryPath)
  1825. }