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# See the file "license.terms" for information on usage and redistribution
11# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
12# 
13# RCS: @(#) $Id: tcl.decls.orig,v 1.1 1999/05/07 18:50:58 aku Exp $
14
15library tcl
16
17# Define the tcl interface with several sub interfaces:
18#     tclPlat	 - platform specific public
19#     tclInt	 - generic private
20#     tclPlatInt - platform specific private
21
22interface tcl
23hooks {tclPlat tclInt tclIntPlat}
24
25# Declare each of the functions in the public Tcl interface.  Note that
26# the an index should never be reused for a different function in order
27# to preserve backwards compatibility.
28
29declare 0 generic {
30    int Tcl_PkgProvideEx(Tcl_Interp *interp, char *name, char *version, \
31	    ClientData clientData)
32}
33declare 1 generic {
34    char * Tcl_PkgRequireEx(Tcl_Interp *interp, char *name, char *version, \
35	    int exact, ClientData *clientDataPtr)
36}
37declare 2 generic {
38    void Tcl_Panic(char *format, ...)
39}
40declare 3 generic {
41    char * Tcl_Alloc(unsigned int size)
42}
43declare 4 generic {
44    void Tcl_Free(char *ptr)
45}
46declare 5 generic {
47    char * Tcl_Realloc(char *ptr, unsigned int size)
48}
49declare 6 generic {
50    char * Tcl_DbCkalloc(unsigned int size, char *file, int line)
51}
52declare 7 generic {
53    int Tcl_DbCkfree(char *ptr, char *file, int line)
54}
55declare 8 generic {
56    char * Tcl_DbCkrealloc(char *ptr, unsigned int size, char *file, int line)
57}
58
59# Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
60# but they are part of the old generic interface, so we include them here for
61# compatibility reasons.
62
63declare 9 unix {
64    void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc, \
65	    ClientData clientData)
66}
67declare 10 unix {
68    void Tcl_DeleteFileHandler(int fd)
69}
70
71declare 11 generic {
72    void Tcl_SetTimer(Tcl_Time *timePtr)
73}
74declare 12 generic {
75    void Tcl_Sleep(int ms)
76}
77declare 13 generic {
78    int Tcl_WaitForEvent(Tcl_Time *timePtr)
79}
80declare 14 generic {
81    int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr)
82}
83declare 15 generic {
84    void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
85}
86declare 16 generic {
87    void Tcl_AppendToObj(Tcl_Obj *objPtr, char *bytes, int length)
88}
89declare 17 generic {
90    Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
91}
92declare 18 generic {
93    int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \
94	    Tcl_ObjType *typePtr)
95}
96declare 19 generic {
97    void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, char *file, int line)
98}
99declare 20 generic {
100    void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, char *file, int line)
101}
102declare 21 generic {
103    int Tcl_DbIsShared(Tcl_Obj *objPtr, char *file, int line)
104}
105declare 22 generic {
106    Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, char *file, int line)
107}
108declare 23 generic {
109    Tcl_Obj * Tcl_DbNewByteArrayObj(unsigned char *bytes, int length, \
110	    char *file, int line)
111}
112declare 24 generic {
113    Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue, char *file, int line)
114}
115declare 25 generic {
116    Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST objv[], char *file, \
117	    int line)
118}
119declare 26 generic {
120    Tcl_Obj * Tcl_DbNewLongObj(long longValue, char *file, int line)
121}
122declare 27 generic {
123    Tcl_Obj * Tcl_DbNewObj(char *file, int line)
124}
125declare 28 generic {
126    Tcl_Obj * Tcl_DbNewStringObj(CONST char *bytes, int length, \
127	    char *file, int line)
128}
129declare 29 generic {
130    Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
131}
132declare 30 generic {
133    void TclFreeObj(Tcl_Obj *objPtr)
134}
135declare 31 generic {
136    int Tcl_GetBoolean(Tcl_Interp *interp, char *str, int *boolPtr)
137}
138declare 32 generic {
139    int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
140	    int *boolPtr)
141}
142declare 33 generic {
143    unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr)
144}
145declare 34 generic {
146    int Tcl_GetDouble(Tcl_Interp *interp, char *str, double *doublePtr)
147}
148declare 35 generic {
149    int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
150	    double *doublePtr)
151}
152declare 36 generic {
153    int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
154	    char **tablePtr, char *msg, int flags, int *indexPtr)
155}
156declare 37 generic {
157    int Tcl_GetInt(Tcl_Interp *interp, char *str, int *intPtr)
158}
159declare 38 generic {
160    int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr)
161}
162declare 39 generic {
163    int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr)
164}
165declare 40 generic {
166    Tcl_ObjType * Tcl_GetObjType(char *typeName)
167}
168declare 41 generic {
169    char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr)
170}
171declare 42 generic {
172    void Tcl_InvalidateStringRep(Tcl_Obj *objPtr)
173}
174declare 43 generic {
175    int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr, \
176	    Tcl_Obj *elemListPtr)
177}
178declare 44 generic {
179    int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr, \
180	    Tcl_Obj *objPtr)
181}
182declare 45 generic {
183    int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr, \
184	    int *objcPtr, Tcl_Obj ***objvPtr)
185}
186declare 46 generic {
187    int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index, \
188	    Tcl_Obj **objPtrPtr)
189}
190declare 47 generic {
191    int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr, int *intPtr)
192}
193declare 48 generic {
194    int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first, \
195	    int count, int objc, Tcl_Obj *CONST objv[])
196}
197declare 49 generic {
198    Tcl_Obj * Tcl_NewBooleanObj(int boolValue)
199}
200declare 50 generic {
201    Tcl_Obj * Tcl_NewByteArrayObj(unsigned char *bytes, int length)
202}
203declare 51 generic {
204    Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
205}
206declare 52 generic {
207    Tcl_Obj * Tcl_NewIntObj(int intValue)
208}
209declare 53 generic {
210    Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[])
211}
212declare 54 generic {
213    Tcl_Obj * Tcl_NewLongObj(long longValue)
214}
215declare 55 generic {
216    Tcl_Obj * Tcl_NewObj(void)
217}
218declare 56 generic {
219    Tcl_Obj *Tcl_NewStringObj(CONST char *bytes, int length)
220}
221declare 57 generic {
222    void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue)
223}
224declare 58 generic {
225    unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
226}
227declare 59 generic {
228    void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, unsigned char *bytes, int length)
229}
230declare 60 generic {
231    void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
232}
233declare 61 generic {
234    void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue)
235}
236declare 62 generic {
237    void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[])
238}
239declare 63 generic {
240    void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue)
241}
242declare 64 generic {
243    void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
244}
245declare 65 generic {
246    void Tcl_SetStringObj(Tcl_Obj *objPtr, char *bytes, int length)
247}
248declare 66 generic {
249    void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
250}
251declare 67 generic {
252    void Tcl_AddObjErrorInfo(Tcl_Interp *interp, CONST char *message, \
253	    int length)
254}
255declare 68 generic {
256    void Tcl_AllowExceptions(Tcl_Interp *interp)
257}
258declare 69 generic {
259    void Tcl_AppendElement(Tcl_Interp *interp, CONST char *string)
260}
261declare 70 generic {
262    void Tcl_AppendResult(Tcl_Interp *interp, ...)
263}
264declare 71 generic {
265    Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc, \
266	    ClientData clientData)
267}
268declare 72 generic {
269    void Tcl_AsyncDelete(Tcl_AsyncHandler async)
270}
271declare 73 generic {
272    int Tcl_AsyncInvoke(Tcl_Interp *interp, int code)
273}
274declare 74 generic {
275    void Tcl_AsyncMark(Tcl_AsyncHandler async)
276}
277declare 75 generic {
278    int Tcl_AsyncReady(void)
279}
280declare 76 generic {
281    void Tcl_BackgroundError(Tcl_Interp *interp)
282}
283declare 77 generic {
284    char Tcl_Backslash(CONST char *src, int *readPtr)
285}
286declare 78 generic {
287    int Tcl_BadChannelOption(Tcl_Interp *interp, char *optionName, \
288	    char *optionList)
289}
290declare 79 generic {
291    void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, \
292	    ClientData clientData)
293}
294declare 80 generic {
295    void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData)
296}
297declare 81 generic {
298    int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
299}
300declare 82 generic {
301    int Tcl_CommandComplete(char *cmd)
302}
303declare 83 generic {
304    char * Tcl_Concat(int argc, char **argv)
305}
306declare 84 generic {
307    int Tcl_ConvertElement(CONST char *src, char *dst, int flags)
308}
309declare 85 generic {
310    int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst, \
311	    int flags)
312}
313declare 86 generic {
314    int Tcl_CreateAlias(Tcl_Interp *slave, char *slaveCmd, \
315	    Tcl_Interp *target, char *targetCmd, int argc, char **argv)
316}
317declare 87 generic {
318    int Tcl_CreateAliasObj(Tcl_Interp *slave, char *slaveCmd, \
319	    Tcl_Interp *target, char *targetCmd, int objc, \
320	    Tcl_Obj *CONST objv[])
321}
322declare 88 generic {
323    Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr, char *chanName, \
324	    ClientData instanceData, int mask)
325}
326declare 89 generic {
327    void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask, \
328	    Tcl_ChannelProc *proc, ClientData clientData)
329}
330declare 90 generic {
331    void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \
332	    ClientData clientData)
333}
334declare 91 generic {
335    Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, char *cmdName, \
336	    Tcl_CmdProc *proc, ClientData clientData, \
337	    Tcl_CmdDeleteProc *deleteProc)
338}
339declare 92 generic {
340    void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc, \
341	    Tcl_EventCheckProc *checkProc, ClientData clientData)
342}
343declare 93 generic {
344    void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData)
345}
346declare 94 generic {
347    Tcl_Interp * Tcl_CreateInterp(void)
348}
349declare 95 generic {
350    void Tcl_CreateMathFunc(Tcl_Interp *interp, char *name, int numArgs, \
351	    Tcl_ValueType *argTypes, Tcl_MathProc *proc, ClientData clientData)
352}
353declare 96 generic {
354    Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp, char *cmdName, \
355	    Tcl_ObjCmdProc *proc, ClientData clientData, \
356	    Tcl_CmdDeleteProc *deleteProc)
357}
358declare 97 generic {
359    Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, char *slaveName, \
360	    int isSafe)
361}
362declare 98 generic {
363    Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds, \
364	    Tcl_TimerProc *proc, ClientData clientData)
365}
366declare 99 generic {
367    Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level, \
368	    Tcl_CmdTraceProc *proc, ClientData clientData)
369}
370declare 100 generic {
371    void Tcl_DeleteAssocData(Tcl_Interp *interp, char *name)
372}
373declare 101 generic {
374    void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc, \
375	    ClientData clientData)
376}
377declare 102 generic {
378    void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \
379	    ClientData clientData)
380}
381declare 103 generic {
382    int Tcl_DeleteCommand(Tcl_Interp *interp, char *cmdName)
383}
384declare 104 generic {
385    int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command)
386}
387declare 105 generic {
388    void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData)
389}
390declare 106 generic {
391    void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc, \
392	    Tcl_EventCheckProc *checkProc, ClientData clientData)
393}
394declare 107 generic {
395    void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData)
396}
397declare 108 generic {
398    void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr)
399}
400declare 109 generic {
401    void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr)
402}
403declare 110 generic {
404    void Tcl_DeleteInterp(Tcl_Interp *interp)
405}
406declare 111 generic {
407    void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr)
408}
409declare 112 generic {
410    void Tcl_DeleteTimerHandler(Tcl_TimerToken token)
411}
412declare 113 generic {
413    void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace)
414}
415declare 114 generic {
416    void Tcl_DontCallWhenDeleted(Tcl_Interp *interp, \
417	    Tcl_InterpDeleteProc *proc, ClientData clientData)
418}
419declare 115 generic {
420    int Tcl_DoOneEvent(int flags)
421}
422declare 116 generic {
423    void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData)
424}
425declare 117 generic {
426    char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *str, int length)
427}
428declare 118 generic {
429    char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string)
430}
431declare 119 generic {
432    void Tcl_DStringEndSublist(Tcl_DString *dsPtr)
433}
434declare 120 generic {
435    void Tcl_DStringFree(Tcl_DString *dsPtr)
436}
437declare 121 generic {
438    void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
439}
440declare 122 generic {
441    void Tcl_DStringInit(Tcl_DString *dsPtr)
442}
443declare 123 generic {
444    void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
445}
446declare 124 generic {
447    void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length)
448}
449declare 125 generic {
450    void Tcl_DStringStartSublist(Tcl_DString *dsPtr)
451}
452declare 126 generic {
453    int Tcl_Eof(Tcl_Channel chan)
454}
455declare 127 generic {
456    char * Tcl_ErrnoId(void)
457}
458declare 128 generic {
459    char * Tcl_ErrnoMsg(int err)
460}
461declare 129 generic {
462    int Tcl_Eval(Tcl_Interp *interp, char *string)
463}
464declare 130 generic {
465    int Tcl_EvalFile(Tcl_Interp *interp, char *fileName)
466}
467declare 131 generic {
468    int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
469}
470declare 132 generic {
471    void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc)
472}
473declare 133 generic {
474    void Tcl_Exit(int status)
475}
476declare 134 generic {
477    int Tcl_ExposeCommand(Tcl_Interp *interp, char *hiddenCmdToken, \
478	    char *cmdName)
479}
480declare 135 generic {
481    int Tcl_ExprBoolean(Tcl_Interp *interp, char *str, int *ptr)
482}
483declare 136 generic {
484    int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr)
485}
486declare 137 generic {
487    int Tcl_ExprDouble(Tcl_Interp *interp, char *str, double *ptr)
488}
489declare 138 generic {
490    int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr)
491}
492declare 139 generic {
493    int Tcl_ExprLong(Tcl_Interp *interp, char *str, long *ptr)
494}
495declare 140 generic {
496    int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr)
497}
498declare 141 generic {
499    int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
500	    Tcl_Obj **resultPtrPtr)
501}
502declare 142 generic {
503    int Tcl_ExprString(Tcl_Interp *interp, char *string)
504}
505declare 143 generic {
506    void Tcl_Finalize(void)
507}
508declare 144 generic {
509    void Tcl_FindExecutable(CONST char *argv0)
510}
511declare 145 generic {
512    Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr, \
513	    Tcl_HashSearch *searchPtr)
514}
515declare 146 generic {
516    int Tcl_Flush(Tcl_Channel chan)
517}
518declare 147 generic {
519    void Tcl_FreeResult(Tcl_Interp *interp)
520}
521declare 148 generic {
522    int Tcl_GetAlias(Tcl_Interp *interp, char *slaveCmd, \
523	    Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *argcPtr, \
524	    char ***argvPtr)
525}
526declare 149 generic {
527    int Tcl_GetAliasObj(Tcl_Interp *interp, char *slaveCmd, \
528	    Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *objcPtr, \
529	    Tcl_Obj ***objv)
530}
531declare 150 generic {
532    ClientData Tcl_GetAssocData(Tcl_Interp *interp, char *name, \
533	    Tcl_InterpDeleteProc **procPtr)
534}
535declare 151 generic {
536    Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, char *chanName, \
537	    int *modePtr)
538}
539declare 152 generic {
540    int Tcl_GetChannelBufferSize(Tcl_Channel chan)
541}
542declare 153 generic {
543    int Tcl_GetChannelHandle(Tcl_Channel chan, int direction, \
544	    ClientData *handlePtr)
545}
546declare 154 generic {
547    ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan)
548}
549declare 155 generic {
550    int Tcl_GetChannelMode(Tcl_Channel chan)
551}
552declare 156 generic {
553    char * Tcl_GetChannelName(Tcl_Channel chan)
554}
555declare 157 generic {
556    int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \
557	    char *optionName, Tcl_DString *dsPtr)
558}
559declare 158 generic {
560    Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan)
561}
562declare 159 generic {
563    int Tcl_GetCommandInfo(Tcl_Interp *interp, char *cmdName, \
564	    Tcl_CmdInfo *infoPtr)
565}
566declare 160 generic {
567    char * Tcl_GetCommandName(Tcl_Interp *interp, Tcl_Command command)
568}
569declare 161 generic {
570    int Tcl_GetErrno(void)
571}
572declare 162 generic {
573    char * Tcl_GetHostName(void)
574}
575declare 163 generic {
576    int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp)
577}
578declare 164 generic {
579    Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp)
580}
581declare 165 generic {
582    CONST char * Tcl_GetNameOfExecutable(void)
583}
584declare 166 generic {
585    Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp)
586}
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
591declare 167 unix {
592    int Tcl_GetOpenFile(Tcl_Interp *interp, char *str, int write, \
593	    int checkUsage, ClientData *filePtr)
594}
595
596declare 168 generic {
597    Tcl_PathType Tcl_GetPathType(char *path)
598}
599declare 169 generic {
600    int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr)
601}
602declare 170 generic {
603    int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr)
604}
605declare 171 generic {
606    int Tcl_GetServiceMode(void)
607}
608declare 172 generic {
609    Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, char *slaveName)
610}
611declare 173 generic {
612    Tcl_Channel Tcl_GetStdChannel(int type)
613}
614declare 174 generic {
615    char * Tcl_GetStringResult(Tcl_Interp *interp)
616}
617declare 175 generic {
618    char * Tcl_GetVar(Tcl_Interp *interp, char *varName, int flags)
619}
620declare 176 generic {
621    char * Tcl_GetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags)
622}
623declare 177 generic {
624    int Tcl_GlobalEval(Tcl_Interp *interp, char *command)
625}
626declare 178 generic {
627    int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
628}
629declare 179 generic {
630    int Tcl_HideCommand(Tcl_Interp *interp, char *cmdName, \
631	    char *hiddenCmdToken)
632}
633declare 180 generic {
634    int Tcl_Init(Tcl_Interp *interp)
635}
636declare 181 generic {
637    void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType)
638}
639declare 182 generic {
640    int Tcl_InputBlocked(Tcl_Channel chan)
641}
642declare 183 generic {
643    int Tcl_InputBuffered(Tcl_Channel chan)
644}
645declare 184 generic {
646    int Tcl_InterpDeleted(Tcl_Interp *interp)
647}
648declare 185 generic {
649    int Tcl_IsSafe(Tcl_Interp *interp)
650}
651declare 186 generic {
652    char * Tcl_JoinPath(int argc, char **argv, Tcl_DString *resultPtr)
653}
654declare 187 generic {
655    int Tcl_LinkVar(Tcl_Interp *interp, char *varName, char *addr, int type)
656}
657
658# This slot is reserved for use by the plus patch:
659#  declare 188 generic {
660#      Tcl_MainLoop
661#  }
662
663declare 189 generic {
664    Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode)
665}
666declare 190 generic {
667    int Tcl_MakeSafe(Tcl_Interp *interp)
668}
669declare 191 generic {
670    Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket)
671}
672declare 192 generic {
673    char * Tcl_Merge(int argc, char **argv)
674}
675declare 193 generic {
676    Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr)
677}
678declare 194 generic {
679    void Tcl_NotifyChannel(Tcl_Channel channel, int mask)
680}
681declare 195 generic {
682    Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \
683	    Tcl_Obj *part2Ptr, int flags)
684}
685declare 196 generic {
686    Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \
687	    Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags)
688}
689declare 197 generic {
690    Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc, \
691	    char **argv, int flags)
692}
693declare 198 generic {
694    Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, char *fileName, \
695	    char *modeString, int permissions)
696}
697declare 199 generic {
698    Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port, \
699	    char *address, char *myaddr, int myport, int async)
700}
701declare 200 generic {
702    Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port, char *host, \
703	    Tcl_TcpAcceptProc *acceptProc, ClientData callbackData)
704}
705declare 201 generic {
706    void Tcl_Preserve(ClientData data)
707}
708declare 202 generic {
709    void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst)
710}
711declare 203 generic {
712    int Tcl_PutEnv(CONST char *string)
713}
714declare 204 generic {
715    char * Tcl_PosixError(Tcl_Interp *interp)
716}
717declare 205 generic {
718    void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position)
719}
720declare 206 generic {
721    int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead)
722}
723declare 207 generic {
724    void Tcl_ReapDetachedProcs(void)
725}
726declare 208 generic {
727    int Tcl_RecordAndEval(Tcl_Interp *interp, char *cmd, int flags)
728}
729declare 209 generic {
730    int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags)
731}
732declare 210 generic {
733    void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
734}
735declare 211 generic {
736    void Tcl_RegisterObjType(Tcl_ObjType *typePtr)
737}
738declare 212 generic {
739    Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, char *string)
740}
741declare 213 generic {
742    int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp, \
743	    CONST char *str, CONST char *start)
744}
745declare 214 generic {
746    int Tcl_RegExpMatch(Tcl_Interp *interp, char *str, char *pattern)
747}
748declare 215 generic {
749    void Tcl_RegExpRange(Tcl_RegExp regexp, int index, char **startPtr, \
750	    char **endPtr)
751}
752declare 216 generic {
753    void Tcl_Release(ClientData clientData)
754}
755declare 217 generic {
756    void Tcl_ResetResult(Tcl_Interp *interp)
757}
758declare 218 generic {
759    int Tcl_ScanElement(CONST char *str, int *flagPtr)
760}
761declare 219 generic {
762    int Tcl_ScanCountedElement(CONST char *str, int length, int *flagPtr)
763}
764declare 220 generic {
765    int Tcl_Seek(Tcl_Channel chan, int offset, int mode)
766}
767declare 221 generic {
768    int Tcl_ServiceAll(void)
769}
770declare 222 generic {
771    int Tcl_ServiceEvent(int flags)
772}
773declare 223 generic {
774    void Tcl_SetAssocData(Tcl_Interp *interp, char *name, \
775	    Tcl_InterpDeleteProc *proc, ClientData clientData)
776}
777declare 224 generic {
778    void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz)
779}
780declare 225 generic {
781    int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \
782	    char *optionName, char *newValue)
783}
784declare 226 generic {
785    int Tcl_SetCommandInfo(Tcl_Interp *interp, char *cmdName, \
786	    Tcl_CmdInfo *infoPtr)
787}
788declare 227 generic {
789    void Tcl_SetErrno(int err)
790}
791declare 228 generic {
792    void Tcl_SetErrorCode(Tcl_Interp *interp, ...)
793}
794declare 229 generic {
795    void Tcl_SetMaxBlockTime(Tcl_Time *timePtr)
796}
797declare 230 generic {
798    void Tcl_SetPanicProc(Tcl_PanicProc *panicProc)
799}
800declare 231 generic {
801    int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth)
802}
803declare 232 generic {
804    void Tcl_SetResult(Tcl_Interp *interp, char *str, \
805	    Tcl_FreeProc *freeProc)
806}
807declare 233 generic {
808    int Tcl_SetServiceMode(int mode)
809}
810declare 234 generic {
811    void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr)
812}
813declare 235 generic {
814    void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr)
815}
816declare 236 generic {
817    void Tcl_SetStdChannel(Tcl_Channel channel, int type)
818}
819declare 237 generic {
820    char * Tcl_SetVar(Tcl_Interp *interp, char *varName, char *newValue, \
821	    int flags)
822}
823declare 238 generic {
824    char * Tcl_SetVar2(Tcl_Interp *interp, char *part1, char *part2, \
825	    char *newValue, int flags)
826}
827declare 239 generic {
828    char * Tcl_SignalId(int sig)
829}
830declare 240 generic {
831    char * Tcl_SignalMsg(int sig)
832}
833declare 241 generic {
834    void Tcl_SourceRCFile(Tcl_Interp *interp)
835}
836declare 242 generic {
837    int Tcl_SplitList(Tcl_Interp *interp, CONST char *listStr, int *argcPtr, \
838	    char ***argvPtr)
839}
840declare 243 generic {
841    void Tcl_SplitPath(CONST char *path, int *argcPtr, char ***argvPtr)
842}
843declare 244 generic {
844    void Tcl_StaticPackage(Tcl_Interp *interp, char *pkgName, \
845	    Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
846}
847declare 245 generic {
848    int Tcl_StringMatch(CONST char *str, CONST char *pattern)
849}
850declare 246 generic {
851    int Tcl_Tell(Tcl_Channel chan)
852}
853declare 247 generic {
854    int Tcl_TraceVar(Tcl_Interp *interp, char *varName, int flags, \
855	    Tcl_VarTraceProc *proc, ClientData clientData)
856}
857declare 248 generic {
858    int Tcl_TraceVar2(Tcl_Interp *interp, char *part1, char *part2, \
859	    int flags, Tcl_VarTraceProc *proc, ClientData clientData)
860}
861declare 249 generic {
862    char * Tcl_TranslateFileName(Tcl_Interp *interp, char *name, \
863	    Tcl_DString *bufferPtr)
864}
865declare 250 generic {
866    int Tcl_Ungets(Tcl_Channel chan, char *str, int len, int atHead)
867}
868declare 251 generic {
869    void Tcl_UnlinkVar(Tcl_Interp *interp, char *varName)
870}
871declare 252 generic {
872    int Tcl_UnregisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
873}
874declare 253 generic {
875    int Tcl_UnsetVar(Tcl_Interp *interp, char *varName, int flags)
876}
877declare 254 generic {
878    int Tcl_UnsetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags)
879}
880declare 255 generic {
881    void Tcl_UntraceVar(Tcl_Interp *interp, char *varName, int flags, \
882	    Tcl_VarTraceProc *proc, ClientData clientData)
883}
884declare 256 generic {
885    void Tcl_UntraceVar2(Tcl_Interp *interp, char *part1, char *part2, \
886	    int flags, Tcl_VarTraceProc *proc, ClientData clientData)
887}
888declare 257 generic {
889    void Tcl_UpdateLinkedVar(Tcl_Interp *interp, char *varName)
890}
891declare 258 generic {
892    int Tcl_UpVar(Tcl_Interp *interp, char *frameName, char *varName, \
893	    char *localName, int flags)
894}
895declare 259 generic {
896    int Tcl_UpVar2(Tcl_Interp *interp, char *frameName, char *part1, \
897	    char *part2, char *localName, int flags)
898}
899declare 260 generic {
900    int Tcl_VarEval(Tcl_Interp *interp, ...)
901}
902declare 261 generic {
903    ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, char *varName, \
904	    int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)
905}
906declare 262 generic {
907    ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, char *part1, \
908	    char *part2, int flags, Tcl_VarTraceProc *procPtr, \
909	    ClientData prevClientData)
910}
911declare 263 generic {
912    int Tcl_Write(Tcl_Channel chan, char *s, int slen)
913}
914declare 264 generic {
915    void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \
916	    Tcl_Obj *CONST objv[], char *message)
917}
918declare 265 generic {
919    int Tcl_DumpActiveMemory(char *fileName)
920}
921declare 266 generic {
922    void Tcl_ValidateAllMemory(char *file, int line)
923}
924declare 267 generic {
925    void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
926}
927declare 268 generic {
928    void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList)
929}
930declare 269 generic {
931    char * Tcl_HashStats(Tcl_HashTable *tablePtr)
932}
933declare 270 generic {
934    char * Tcl_ParseVar(Tcl_Interp *interp, char *str, char **termPtr)
935}
936declare 271 generic {
937    char * Tcl_PkgPresent(Tcl_Interp *interp, char *name, char *version, \
938	    int exact)
939}
940declare 272 generic {
941    char * Tcl_PkgPresentEx(Tcl_Interp *interp, char *name, char *version, \
942	    int exact, ClientData *clientDataPtr)
943}
944declare 273 generic {
945    int Tcl_PkgProvide(Tcl_Interp *interp, char *name, char *version)
946}
947declare 274 generic {
948    char * Tcl_PkgRequire(Tcl_Interp *interp, char *name, char *version, \
949	    int exact)
950}
951declare 275 generic {
952    void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
953}
954declare 276 generic {
955    int  Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList)
956}
957declare 277 generic {
958    Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options)
959}
960declare 278 generic {
961    void Tcl_PanicVA(char *format, va_list argList)
962}
963declare 279 generic {
964    void Tcl_GetVersion(int *major, int *minor, int *patchLevel, int *type)
965}
966declare 280 generic {
967    void Tcl_InitMemory(Tcl_Interp *interp)
968}
969
970# Reserved for future use (8.0.x vs. 8.1)
971#  declare 281 generic {
972#  }
973#  declare 282 generic {
974#  }
975#  declare 283 generic {
976#  }
977#  declare 284 generic {
978#  }
979#  declare 285 generic {
980#  }
981
982
983# Added in 8.1:
984
985declare 286 generic {
986    void Tcl_AppendObjToObj(Tcl_Obj *objPtr, Tcl_Obj *appendObjPtr)
987}
988declare 287 generic {
989    Tcl_Encoding Tcl_CreateEncoding(Tcl_EncodingType *typePtr)
990}
991declare 288 generic {
992    void Tcl_CreateThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
993}
994declare 289 generic {
995    void Tcl_DeleteThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
996}
997declare 290 generic {
998    void Tcl_DiscardResult(Tcl_SavedResult *statePtr)
999}
1000declare 291 generic {
1001    int Tcl_EvalEx(Tcl_Interp *interp, char *script, int numBytes, int flags)
1002}
1003declare 292 generic {
1004    int Tcl_EvalObjv(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], \
1005	    int flags)
1006}
1007declare 293 generic {
1008    int Tcl_EvalObjEx(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags)
1009}
1010declare 294 generic {
1011    void Tcl_ExitThread(int status)
1012}
1013declare 295 generic {
1014    int Tcl_ExternalToUtf(Tcl_Interp *interp, Tcl_Encoding encoding, \
1015	    CONST char *src, int srcLen, int flags, \
1016	    Tcl_EncodingState *statePtr, char *dst, int dstLen, \
1017	    int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
1018}
1019declare 296 generic {
1020    char * Tcl_ExternalToUtfDString(Tcl_Encoding encoding, CONST char *src, \
1021	    int srcLen, Tcl_DString *dsPtr)
1022}
1023declare 297 generic {
1024    void Tcl_FinalizeThread(void)
1025}
1026declare 298 generic {
1027    void Tcl_FinalizeNotifier(ClientData clientData)
1028}
1029declare 299 generic {
1030    void Tcl_FreeEncoding(Tcl_Encoding encoding)
1031}
1032declare 300 generic {
1033    Tcl_ThreadId Tcl_GetCurrentThread(void)
1034}
1035declare 301 generic {
1036    Tcl_Encoding Tcl_GetEncoding(Tcl_Interp *interp, CONST char *name)
1037}
1038declare 302 generic {
1039    char * Tcl_GetEncodingName(Tcl_Encoding encoding)
1040}
1041declare 303 generic {
1042    void Tcl_GetEncodingNames(Tcl_Interp *interp)
1043}
1044declare 304 generic {
1045    int Tcl_GetIndexFromObjStruct(Tcl_Interp *interp, Tcl_Obj *objPtr, \
1046	    char **tablePtr, int offset, char *msg, int flags, int *indexPtr)
1047}
1048declare 305 generic {
1049    VOID * Tcl_GetThreadData(Tcl_ThreadDataKey *keyPtr, int size)
1050}
1051declare 306 generic {
1052    Tcl_Obj * Tcl_GetVar2Ex(Tcl_Interp *interp, char *part1, char *part2, \
1053	    int flags)
1054}
1055declare 307 generic {
1056    ClientData Tcl_InitNotifier(void)
1057}
1058declare 308 generic {
1059    void Tcl_MutexLock(Tcl_Mutex *mutexPtr)
1060}
1061declare 309 generic {
1062    void Tcl_MutexUnlock(Tcl_Mutex *mutexPtr)
1063}
1064declare 310 generic {
1065    void Tcl_ConditionNotify(Tcl_Condition *condPtr)
1066}
1067declare 311 generic {
1068    void Tcl_ConditionWait(Tcl_Condition *condPtr, Tcl_Mutex *mutexPtr, \
1069	    Tcl_Time *timePtr)
1070}
1071declare 312 generic {
1072    int Tcl_NumUtfChars(CONST char *src, int len)
1073}
1074declare 313 generic {
1075    int Tcl_ReadChars(Tcl_Channel channel, Tcl_Obj *objPtr, int charsToRead, \
1076	    int appendFlag)
1077}
1078declare 314 generic {
1079    void Tcl_RestoreResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
1080}
1081declare 315 generic {
1082    void Tcl_SaveResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
1083}
1084declare 316 generic {
1085    int Tcl_SetSystemEncoding(Tcl_Interp *interp, CONST char *name)
1086}
1087declare 317 generic {
1088    Tcl_Obj * Tcl_SetVar2Ex(Tcl_Interp *interp, char *part1, char *part2, \
1089	    Tcl_Obj *newValuePtr, int flags)
1090}
1091declare 318 generic {
1092    void Tcl_ThreadAlert(Tcl_ThreadId threadId)
1093}
1094declare 319 generic {
1095    void Tcl_ThreadQueueEvent(Tcl_ThreadId threadId, Tcl_Event* evPtr, \
1096	    Tcl_QueuePosition position)
1097}
1098declare 320 generic {
1099    Tcl_UniChar Tcl_UniCharAtIndex(CONST char *src, int index)
1100}
1101declare 321 generic {
1102    Tcl_UniChar Tcl_UniCharToLower(int ch)
1103}
1104declare 322 generic {
1105    Tcl_UniChar Tcl_UniCharToTitle(int ch)
1106}
1107declare 323 generic {
1108    Tcl_UniChar Tcl_UniCharToUpper(int ch)
1109}
1110declare 324 generic {
1111    int Tcl_UniCharToUtf(int ch, char *buf)
1112}
1113declare 325 generic {
1114    char * Tcl_UtfAtIndex(CONST char *src, int index)
1115}
1116declare 326 generic {
1117    int Tcl_UtfCharComplete(CONST char *src, int len)
1118}
1119declare 327 generic {
1120    int Tcl_UtfBackslash(CONST char *src, int *readPtr, char *dst)
1121}
1122declare 328 generic {
1123    char * Tcl_UtfFindFirst(CONST char *src, int ch)
1124}
1125declare 329 generic {
1126    char * Tcl_UtfFindLast(CONST char *src, int ch)
1127}
1128declare 330 generic {
1129    char * Tcl_UtfNext(CONST char *src)
1130}
1131declare 331 generic {
1132    char * Tcl_UtfPrev(CONST char *src, CONST char *start)
1133}
1134declare 332 generic {
1135    int Tcl_UtfToExternal(Tcl_Interp *interp, Tcl_Encoding encoding, \
1136	    CONST char *src, int srcLen, int flags, \
1137	    Tcl_EncodingState *statePtr, char *dst, int dstLen, \
1138	    int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
1139}
1140declare 333 generic {
1141    char * Tcl_UtfToExternalDString(Tcl_Encoding encoding, CONST char *src, \
1142	    int srcLen, Tcl_DString *dsPtr)
1143}
1144declare 334 generic {
1145    int Tcl_UtfToLower(char *src)
1146}
1147declare 335 generic {
1148    int Tcl_UtfToTitle(char *src)
1149}
1150declare 336 generic {
1151    int Tcl_UtfToUniChar(CONST char *src, Tcl_UniChar *chPtr)
1152}
1153declare 337 generic {
1154    int Tcl_UtfToUpper(char *src)
1155}
1156declare 338 generic {
1157    int Tcl_WriteChars(Tcl_Channel chan, CONST char *src, int srcLen)
1158}
1159declare 339 generic {
1160    int Tcl_WriteObj(Tcl_Channel chan, Tcl_Obj *objPtr)
1161}
1162declare 340 generic {
1163    char * Tcl_GetString(Tcl_Obj *objPtr)
1164}
1165declare 341 generic {
1166    char * Tcl_GetDefaultEncodingDir(void)
1167}
1168declare 342 generic {
1169    void Tcl_SetDefaultEncodingDir(char *path)
1170}
1171declare 343 generic {
1172    void Tcl_AlertNotifier(ClientData clientData)
1173}
1174declare 344 generic {
1175    void Tcl_ServiceModeHook(int mode)
1176}
1177declare 345 generic {
1178    int Tcl_UniCharIsAlnum(int ch)
1179}
1180declare 346 generic {
1181    int Tcl_UniCharIsAlpha(int ch)
1182}
1183declare 347 generic {
1184    int Tcl_UniCharIsDigit(int ch)
1185}
1186declare 348 generic {
1187    int Tcl_UniCharIsLower(int ch)
1188}
1189declare 349 generic {
1190    int Tcl_UniCharIsSpace(int ch)
1191}
1192declare 350 generic {
1193    int Tcl_UniCharIsUpper(int ch)
1194}
1195declare 351 generic {
1196    int Tcl_UniCharIsWordChar(int ch)
1197}
1198declare 352 generic {
1199    int Tcl_UniCharLen(Tcl_UniChar *str)
1200}
1201declare 353 generic {
1202    int Tcl_UniCharNcmp(const Tcl_UniChar *cs, const Tcl_UniChar *ct, size_t n)
1203}
1204declare 354 generic {
1205    char * Tcl_UniCharToUtfDString(CONST Tcl_UniChar *string, int numChars, \
1206 	    Tcl_DString *dsPtr)
1207}
1208declare 355 generic {
1209    Tcl_UniChar * Tcl_UtfToUniCharDString(CONST char *string, int length, \
1210	    Tcl_DString *dsPtr)
1211}
1212declare 356 generic {
1213    Tcl_RegExp	Tcl_GetRegExpFromObj(Tcl_Interp *interp, Tcl_Obj *patObj, int flags)
1214}
1215
1216declare 357 generic {
1217    Tcl_Obj *Tcl_EvalTokens (Tcl_Interp *interp, Tcl_Token *tokenPtr, \
1218	    int count)
1219}
1220declare 358 generic {
1221    void Tcl_FreeParse (Tcl_Parse *parsePtr)
1222}
1223declare 359 generic {
1224    void Tcl_LogCommandInfo (Tcl_Interp *interp, char *script, \
1225	    char *command, int length)
1226}
1227declare 360 generic {
1228    int Tcl_ParseBraces (Tcl_Interp *interp, char *string, \
1229	    int numBytes, Tcl_Parse *parsePtr,int append, char **termPtr)
1230}
1231declare 361 generic {
1232    int Tcl_ParseCommand (Tcl_Interp *interp, char *string, int numBytes, \
1233	    int nested, Tcl_Parse *parsePtr)
1234}
1235declare 362 generic {
1236    int Tcl_ParseExpr(Tcl_Interp *interp, char *string, int numBytes, \
1237	    Tcl_Parse *parsePtr)	 
1238}
1239declare 363 generic {
1240    int Tcl_ParseQuotedString(Tcl_Interp *interp, char *string, int numBytes, \
1241	    Tcl_Parse *parsePtr, int append, char **termPtr)
1242}
1243declare 364 generic {
1244    int Tcl_ParseVarName (Tcl_Interp *interp, char *string, \
1245	    int numBytes, Tcl_Parse *parsePtr, int append)
1246}
1247declare 365 generic {
1248    char *Tcl_GetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
1249}
1250declare 366 generic {
1251   int Tcl_Chdir(CONST char *dirName)
1252}
1253declare 367 generic {
1254   int Tcl_Access(CONST char *path, int mode)
1255}
1256declare 368 generic {
1257    int Tcl_Stat(CONST char *path, struct stat *bufPtr)
1258}
1259
1260##############################################################################
1261
1262# Define the platform specific public Tcl interface.  These functions are
1263# only available on the designated platform.
1264
1265interface tclPlat
1266
1267######################
1268# Windows declarations
1269
1270# Added in Tcl 8.1
1271
1272declare 0 win {
1273    TCHAR * Tcl_WinUtfToTChar(CONST char *str, int len, Tcl_DString *dsPtr)
1274}
1275declare 1 win {
1276    char * Tcl_WinTCharToUtf(CONST TCHAR *str, int len, Tcl_DString *dsPtr)
1277}
1278
1279##################
1280# Mac declarations
1281
1282# This is needed by the shells to handle Macintosh events.
1283 
1284declare 0 mac {
1285    void Tcl_MacSetEventProc(Tcl_MacConvertEventPtr procPtr)
1286}
1287
1288# These routines are useful for handling using scripts from resources 
1289# in the application shell
1290
1291declare 1 mac {
1292    char * Tcl_MacConvertTextResource(Handle resource)
1293}
1294declare 2 mac {
1295    int Tcl_MacEvalResource(Tcl_Interp *interp, char *resourceName, \
1296	    int resourceNumber, char *fileName)
1297}
1298declare 3 mac {
1299    Handle Tcl_MacFindResource(Tcl_Interp *interp, long resourceType, \
1300	    char *resourceName, int resourceNumber, char *resFileRef, \
1301	    int * releaseIt)
1302}
1303
1304# These routines support the new OSType object type (i.e. the packed 4
1305# character type and creator codes).
1306
1307declare 4 mac {
1308    int Tcl_GetOSTypeFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
1309	    OSType *osTypePtr)
1310}
1311declare 5 mac {
1312    void Tcl_SetOSTypeObj(Tcl_Obj *objPtr, OSType osType)
1313}
1314declare 6 mac {
1315    Tcl_Obj * Tcl_NewOSTypeObj(OSType osType)
1316}
1317
1318# These are not in MSL 2.1.2, so we need to export them from the
1319# Tcl shared library.  They are found in the compat directory
1320# except the panic routine which is found in tclMacPanic.h.
1321 
1322declare 7 mac {
1323    int strncasecmp(CONST char *s1, CONST char *s2, size_t n)
1324}
1325declare 8 mac {
1326    int strcasecmp(CONST char *s1, CONST char *s2)
1327}
1328