1 /**
2  * D bindings to Tcl/Tk
3  *
4  * License:
5  *     MIT. See LICENSE for full details.
6  */
7 module tcltk.tcldecls;
8 
9 import core.stdc.config;
10 import core.stdc.stdarg;
11 import tcltk.tcl;
12 
13 /*
14  * Exported function declarations:
15  */
16 extern(C) int Tcl_PkgProvideEx(Tcl_Interp* interp, const(char)* name, const(char)* version_, ClientData clientData) nothrow;
17 extern(C) const(char)* Tcl_PkgRequireEx(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact, ClientData* clientDataPtr) nothrow;
18 extern(C) void Tcl_Panic(const(char)* format, ...) nothrow;
19 extern(C) const(char)* Tcl_Alloc(uint size) nothrow;
20 extern(C) void Tcl_Free(const(char)* ptr) nothrow;
21 extern(C) const(char)* Tcl_Realloc(const(char)* ptr, uint size) nothrow;
22 extern(C) const(char)* Tcl_DbCkalloc(uint size, const(char)* file, int line) nothrow;
23 extern(C) int Tcl_DbCkfree(const(char)* ptr, const(char)* file, int line) nothrow;
24 extern(C) const(char)* Tcl_DbCkrealloc(const(char)* ptr, uint size, const(char)* file, int line) nothrow;
25 
26 version(Posix)
27 {
28 	extern(C) void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc proc, ClientData clientData) nothrow;
29 }
30 
31 version(Posix)
32 {
33 	extern(C) void Tcl_DeleteFileHandler(int fd) nothrow;
34 }
35 
36 extern(C) void Tcl_SetTimer(Tcl_Time* timePtr) nothrow;
37 extern(C) void Tcl_Sleep(int ms) nothrow;
38 extern(C) int Tcl_WaitForEvent(Tcl_Time* timePtr) nothrow;
39 extern(C) int Tcl_AppendAllObjTypes(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow;
40 extern(C) void Tcl_AppendStringsToObj(Tcl_Obj* objPtr, ...) nothrow;
41 extern(C) void Tcl_AppendToObj(Tcl_Obj* objPtr, const(char)* bytes, int length) nothrow;
42 extern(C) Tcl_Obj* Tcl_ConcatObj(int objc, const(Tcl_Obj*)* objv) nothrow;
43 extern(C) int Tcl_ConvertToType(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_ObjType* typePtr) nothrow;
44 extern(C) void Tcl_DbDecrRefCount(Tcl_Obj* objPtr, const(char)* file, int line) nothrow;
45 extern(C) void Tcl_DbIncrRefCount(Tcl_Obj* objPtr, const(char)* file, int line) nothrow;
46 extern(C) int Tcl_DbIsShared(Tcl_Obj* objPtr, const(char)* file, int line) nothrow;
47 extern(C) Tcl_Obj* Tcl_DbNewBooleanObj(int boolValue, const(char)* file, int line) nothrow;
48 extern(C) Tcl_Obj* Tcl_DbNewByteArrayObj(const(ubyte)* bytes, int length, const(char)* file, int line) nothrow;
49 extern(C) Tcl_Obj* Tcl_DbNewDoubleObj(double doubleValue, const(char)* file, int line) nothrow;
50 extern(C) Tcl_Obj* Tcl_DbNewListObj(int objc, const(Tcl_Obj*)* objv, const(char)* file, int line) nothrow;
51 extern(C) Tcl_Obj* Tcl_DbNewLongObj(c_long longValue, const(char)* file, int line) nothrow;
52 extern(C) Tcl_Obj* Tcl_DbNewObj(const(char)* file, int line) nothrow;
53 extern(C) Tcl_Obj* Tcl_DbNewStringObj(const(char)* bytes, int length, const(char)* file, int line) nothrow;
54 extern(C) Tcl_Obj* Tcl_DuplicateObj(Tcl_Obj* objPtr) nothrow;
55 extern(C) void TclFreeObj(Tcl_Obj* objPtr) nothrow;
56 extern(C) int Tcl_GetBoolean(Tcl_Interp* interp, const(char)* src, int* boolPtr) nothrow;
57 extern(C) int Tcl_GetBooleanFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, int* boolPtr) nothrow;
58 extern(C) byte* Tcl_GetByteArrayFromObj(Tcl_Obj* objPtr, int* lengthPtr) nothrow;
59 extern(C) int Tcl_GetDouble(Tcl_Interp* interp, const(char)* src, double* doublePtr) nothrow;
60 extern(C) int Tcl_GetDoubleFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, double* doublePtr) nothrow;
61 extern(C) int Tcl_GetIndexFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, const(char)** tablePtr, const(char)* msg, int flags, int* indexPtr) nothrow;
62 extern(C) int Tcl_GetInt(Tcl_Interp* interp, const(char)* src, int* intPtr) nothrow;
63 extern(C) int Tcl_GetIntFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, int* intPtr) nothrow;
64 extern(C) int Tcl_GetLongFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, c_long* longPtr) nothrow;
65 extern(C) Tcl_ObjType* Tcl_GetObjType(const(char)* typeName) nothrow;
66 extern(C) const(char)* Tcl_GetStringFromObj(Tcl_Obj* objPtr, int* lengthPtr) nothrow;
67 extern(C) void Tcl_InvalidateStringRep(Tcl_Obj* objPtr) nothrow;
68 extern(C) int Tcl_ListObjAppendList(Tcl_Interp* interp, Tcl_Obj* listPtr, Tcl_Obj* elemListPtr) nothrow;
69 extern(C) int Tcl_ListObjAppendElement(Tcl_Interp* interp, Tcl_Obj* listPtr, Tcl_Obj* objPtr) nothrow;
70 extern(C) int Tcl_ListObjGetElements(Tcl_Interp* interp, Tcl_Obj* listPtr, int* objcPtr, Tcl_Obj*** objvPtr) nothrow;
71 extern(C) int Tcl_ListObjIndex(Tcl_Interp* interp, Tcl_Obj* listPtr, int index, Tcl_Obj** objPtrPtr) nothrow;
72 extern(C) int Tcl_ListObjLength(Tcl_Interp* interp, Tcl_Obj* listPtr, int* lengthPtr) nothrow;
73 extern(C) int Tcl_ListObjReplace(Tcl_Interp* interp, Tcl_Obj* listPtr, int first, int count, int objc, const(Tcl_Obj*)* objv) nothrow;
74 extern(C) Tcl_Obj* Tcl_NewBooleanObj(int boolValue) nothrow;
75 extern(C) Tcl_Obj* Tcl_NewByteArrayObj(const(ubyte)* bytes, int length) nothrow;
76 extern(C) Tcl_Obj* Tcl_NewDoubleObj(double doubleValue) nothrow;
77 extern(C) Tcl_Obj* Tcl_NewIntObj(int intValue) nothrow;
78 extern(C) Tcl_Obj* Tcl_NewListObj(int objc, const(Tcl_Obj*)* objv) nothrow;
79 extern(C) Tcl_Obj* Tcl_NewLongObj(c_long longValue) nothrow;
80 extern(C) Tcl_Obj* Tcl_NewObj() nothrow;
81 extern(C) Tcl_Obj* Tcl_NewStringObj(const(char)* bytes, int length) nothrow;
82 extern(C) void Tcl_SetBooleanObj(Tcl_Obj* objPtr, int boolValue) nothrow;
83 extern(C) byte* Tcl_SetByteArrayLength(Tcl_Obj* objPtr, int length) nothrow;
84 extern(C) void Tcl_SetByteArrayObj(Tcl_Obj* objPtr, const(ubyte)* bytes, int length) nothrow;
85 extern(C) void Tcl_SetDoubleObj(Tcl_Obj* objPtr, double doubleValue) nothrow;
86 extern(C) void Tcl_SetIntObj(Tcl_Obj* objPtr, int intValue) nothrow;
87 extern(C) void Tcl_SetListObj(Tcl_Obj* objPtr, int objc, const(Tcl_Obj*)* objv) nothrow;
88 extern(C) void Tcl_SetLongObj(Tcl_Obj* objPtr, c_long longValue) nothrow;
89 extern(C) void Tcl_SetObjLength(Tcl_Obj* objPtr, int length) nothrow;
90 extern(C) void Tcl_SetStringObj(Tcl_Obj* objPtr, const(char)* bytes, int length) nothrow;
91 extern(C) void Tcl_AddErrorInfo(Tcl_Interp* interp, const(char)* message) nothrow;
92 extern(C) void Tcl_AddObjErrorInfo(Tcl_Interp* interp, const(char)* message, int length) nothrow;
93 extern(C) void Tcl_AllowExceptions(Tcl_Interp* interp) nothrow;
94 extern(C) void Tcl_AppendElement(Tcl_Interp* interp, const(char)* element) nothrow;
95 extern(C) void Tcl_AppendResult(Tcl_Interp* interp, ...) nothrow;
96 extern(C) Tcl_AsyncHandler  Tcl_AsyncCreate(Tcl_AsyncProc proc, ClientData clientData) nothrow;
97 extern(C) void Tcl_AsyncDelete(Tcl_AsyncHandler async) nothrow;
98 extern(C) int Tcl_AsyncInvoke(Tcl_Interp* interp, int code) nothrow;
99 extern(C) void Tcl_AsyncMark(Tcl_AsyncHandler async) nothrow;
100 extern(C) int Tcl_AsyncReady() nothrow;
101 extern(C) void Tcl_BackgroundError(Tcl_Interp* interp) nothrow;
102 extern(C) char Tcl_Backslash(const(char)* src, int* readPtr) nothrow;
103 extern(C) int Tcl_BadChannelOption(Tcl_Interp* interp, const(char)* optionName, const(char)* optionList) nothrow;
104 extern(C) void Tcl_CallWhenDeleted(Tcl_Interp* interp, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow;
105 extern(C) void Tcl_CancelIdleCall(Tcl_IdleProc idleProc, ClientData clientData) nothrow;
106 extern(C) int Tcl_Close(Tcl_Interp* interp, Tcl_Channel chan) nothrow;
107 extern(C) int Tcl_CommandComplete(const(char)* cmd) nothrow;
108 extern(C) const(char)* Tcl_Concat(int argc, const(char)** argv) nothrow;
109 extern(C) int Tcl_ConvertElement(const(char)* src, const(char)* dst, int flags) nothrow;
110 extern(C) int Tcl_ConvertCountedElement(const(char)* src, int length, const(char)* dst, int flags) nothrow;
111 extern(C) int Tcl_CreateAlias(Tcl_Interp* slave, const(char)* slaveCmd, Tcl_Interp* target, const(char)* targetCmd, int argc, const(char)** argv) nothrow;
112 extern(C) int Tcl_CreateAliasObj(Tcl_Interp* slave, const(char)* slaveCmd, Tcl_Interp* target, const(char)* targetCmd, int objc, const(Tcl_Obj*)* objv) nothrow;
113 extern(C) Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType* typePtr, const(char)* chanName, ClientData instanceData, int mask) nothrow;
114 extern(C) void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask, Tcl_ChannelProc proc, ClientData clientData) nothrow;
115 extern(C) void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc proc, ClientData clientData) nothrow;
116 extern(C) Tcl_Command Tcl_CreateCommand(Tcl_Interp* interp, const(char)* cmdName, Tcl_CmdProc proc, ClientData clientData, Tcl_CmdDeleteProc deleteProc) nothrow;
117 extern(C) void Tcl_CreateEventSource(Tcl_EventSetupProc setupProc, Tcl_EventCheckProc checkProc, ClientData clientData) nothrow;
118 extern(C) void Tcl_CreateExitHandler(Tcl_ExitProc proc, ClientData clientData) nothrow;
119 extern(C) Tcl_Interp* Tcl_CreateInterp() nothrow;
120 extern(C) void Tcl_CreateMathFunc(Tcl_Interp* interp, const(char)* name, int numArgs, Tcl_ValueType* argTypes, Tcl_MathProc proc, ClientData clientData) nothrow;
121 extern(C) Tcl_Command Tcl_CreateObjCommand(Tcl_Interp* interp, const(char)* cmdName, Tcl_ObjCmdProc proc, ClientData clientData, Tcl_CmdDeleteProc deleteProc) nothrow;
122 extern(C) Tcl_Interp* Tcl_CreateSlave(Tcl_Interp* interp, const(char)* slaveName, int isSafe) nothrow;
123 extern(C) Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds, Tcl_TimerProc proc, ClientData clientData) nothrow;
124 extern(C) Tcl_Trace Tcl_CreateTrace(Tcl_Interp* interp, int level, Tcl_CmdTraceProc proc, ClientData clientData) nothrow;
125 extern(C) void Tcl_DeleteAssocData(Tcl_Interp* interp, const(char)* name) nothrow;
126 extern(C) void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc proc, ClientData clientData) nothrow;
127 extern(C) void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc proc, ClientData clientData) nothrow;
128 extern(C) int Tcl_DeleteCommand(Tcl_Interp* interp, const(char)* cmdName) nothrow;
129 extern(C) int Tcl_DeleteCommandFromToken(Tcl_Interp* interp, Tcl_Command command) nothrow;
130 extern(C) void Tcl_DeleteEvents(Tcl_EventDeleteProc proc, ClientData clientData) nothrow;
131 extern(C) void Tcl_DeleteEventSource(Tcl_EventSetupProc setupProc, Tcl_EventCheckProc checkProc, ClientData clientData) nothrow;
132 extern(C) void Tcl_DeleteExitHandler(Tcl_ExitProc proc, ClientData clientData) nothrow;
133 extern(C) void Tcl_DeleteHashEntry(Tcl_HashEntry* entryPtr) nothrow;
134 extern(C) void Tcl_DeleteHashTable(Tcl_HashTable* tablePtr) nothrow;
135 extern(C) void Tcl_DeleteInterp(Tcl_Interp* interp) nothrow;
136 extern(C) void Tcl_DetachPids(int numPids, Tcl_Pid* pidPtr) nothrow;
137 extern(C) void Tcl_DeleteTimerHandler(Tcl_TimerToken token) nothrow;
138 extern(C) void Tcl_DeleteTrace(Tcl_Interp* interp, Tcl_Trace trace) nothrow;
139 extern(C) void Tcl_DontCallWhenDeleted(Tcl_Interp* interp, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow;
140 extern(C) int Tcl_DoOneEvent(int flags) nothrow;
141 extern(C) void Tcl_DoWhenIdle(Tcl_IdleProc proc, ClientData clientData) nothrow;
142 extern(C) const(char)* Tcl_DStringAppend(Tcl_DString* dsPtr, const(char)* bytes, int length) nothrow;
143 extern(C) const(char)* Tcl_DStringAppendElement(Tcl_DString* dsPtr, const(char)* element) nothrow;
144 extern(C) void Tcl_DStringEndSublist(Tcl_DString* dsPtr) nothrow;
145 extern(C) void Tcl_DStringFree(Tcl_DString* dsPtr) nothrow;
146 extern(C) void Tcl_DStringGetResult(Tcl_Interp* interp, Tcl_DString* dsPtr) nothrow;
147 extern(C) void Tcl_DStringInit(Tcl_DString* dsPtr) nothrow;
148 extern(C) void Tcl_DStringResult(Tcl_Interp* interp, Tcl_DString* dsPtr) nothrow;
149 extern(C) void Tcl_DStringSetLength(Tcl_DString* dsPtr, int length) nothrow;
150 extern(C) void Tcl_DStringStartSublist(Tcl_DString* dsPtr) nothrow;
151 extern(C) int Tcl_Eof(Tcl_Channel chan) nothrow;
152 extern(C) const(char)* Tcl_ErrnoId() nothrow;
153 extern(C) const(char)* Tcl_ErrnoMsg(int err) nothrow;
154 extern(C) int Tcl_Eval(Tcl_Interp* interp, const(char)* script) nothrow;
155 extern(C) int Tcl_EvalFile(Tcl_Interp* interp, const(char)* fileName) nothrow;
156 extern(C) int Tcl_EvalObj(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow;
157 extern(C) void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc freeProc) nothrow;
158 extern(C) void Tcl_Exit(int status) nothrow;
159 extern(C) int Tcl_ExposeCommand(Tcl_Interp* interp, const(char)* hiddenCmdToken, const(char)* cmdName) nothrow;
160 extern(C) int Tcl_ExprBoolean(Tcl_Interp* interp, const(char)* expr, int* ptr) nothrow;
161 extern(C) int Tcl_ExprBooleanObj(Tcl_Interp* interp, Tcl_Obj* objPtr, int* ptr) nothrow;
162 extern(C) int Tcl_ExprDouble(Tcl_Interp* interp, const(char)* expr, double* ptr) nothrow;
163 extern(C) int Tcl_ExprDoubleObj(Tcl_Interp* interp, Tcl_Obj* objPtr, double* ptr) nothrow;
164 extern(C) int Tcl_ExprLong(Tcl_Interp* interp, const(char)* expr, c_long* ptr) nothrow;
165 extern(C) int Tcl_ExprLongObj(Tcl_Interp* interp, Tcl_Obj* objPtr, c_long* ptr) nothrow;
166 extern(C) int Tcl_ExprObj(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_Obj** resultPtrPtr) nothrow;
167 extern(C) int Tcl_ExprString(Tcl_Interp* interp, const(char)* expr) nothrow;
168 extern(C) void Tcl_Finalize() nothrow;
169 extern(C) void Tcl_FindExecutable(const(char)* argv0) nothrow;
170 extern(C) Tcl_HashEntry* Tcl_FirstHashEntry(Tcl_HashTable* tablePtr, Tcl_HashSearch* searchPtr) nothrow;
171 extern(C) int Tcl_Flush(Tcl_Channel chan) nothrow;
172 extern(C) void Tcl_FreeResult(Tcl_Interp* interp) nothrow;
173 extern(C) int Tcl_GetAlias(Tcl_Interp* interp, const(char)* slaveCmd, Tcl_Interp** targetInterpPtr, const(char)** targetCmdPtr, int* argcPtr, const(char)*** argvPtr) nothrow;
174 extern(C) int Tcl_GetAliasObj(Tcl_Interp* interp, const(char)* slaveCmd, Tcl_Interp** targetInterpPtr, const(char)** targetCmdPtr, int* objcPtr, Tcl_Obj*** objv) nothrow;
175 extern(C) ClientData Tcl_GetAssocData(Tcl_Interp* interp, const(char)* name, Tcl_InterpDeleteProc* procPtr) nothrow;
176 extern(C) Tcl_Channel Tcl_GetChannel(Tcl_Interp* interp, const(char)* chanName, int* modePtr) nothrow;
177 extern(C) int Tcl_GetChannelBufferSize(Tcl_Channel chan) nothrow;
178 extern(C) int Tcl_GetChannelHandle(Tcl_Channel chan, int direction, ClientData* handlePtr) nothrow;
179 extern(C) ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan) nothrow;
180 extern(C) int Tcl_GetChannelMode(Tcl_Channel chan) nothrow;
181 extern(C) const(char)* Tcl_GetChannelName(Tcl_Channel chan) nothrow;
182 extern(C) int Tcl_GetChannelOption(Tcl_Interp* interp, Tcl_Channel chan, const(char)* optionName, Tcl_DString* dsPtr) nothrow;
183 extern(C) Tcl_ChannelType* Tcl_GetChannelType(Tcl_Channel chan) nothrow;
184 extern(C) int Tcl_GetCommandInfo(Tcl_Interp* interp, const(char)* cmdName, Tcl_CmdInfo* infoPtr) nothrow;
185 extern(C) const(char)* Tcl_GetCommandName(Tcl_Interp* interp, Tcl_Command command) nothrow;
186 extern(C) int Tcl_GetErrno() nothrow;
187 extern(C) const(char)* Tcl_GetHostName() nothrow;
188 extern(C) int Tcl_GetInterpPath(Tcl_Interp* askInterp, Tcl_Interp* slaveInterp) nothrow;
189 extern(C) Tcl_Interp* Tcl_GetMaster(Tcl_Interp* interp) nothrow;
190 extern(C) const(char)* Tcl_GetNameOfExecutable() nothrow;
191 extern(C) Tcl_Obj* Tcl_GetObjResult(Tcl_Interp* interp) nothrow;
192 
193 version(Posix)
194 {
195 	extern(C) int Tcl_GetOpenFile(Tcl_Interp* interp, const(char)* chanID, int forWriting, int checkUsage, ClientData* filePtr) nothrow;
196 }
197 
198 extern(C) Tcl_PathType Tcl_GetPathType(const(char)* path) nothrow;
199 extern(C) int Tcl_Gets(Tcl_Channel chan, Tcl_DString* dsPtr) nothrow;
200 extern(C) int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj* objPtr) nothrow;
201 extern(C) int Tcl_GetServiceMode() nothrow;
202 extern(C) Tcl_Interp* Tcl_GetSlave(Tcl_Interp* interp, const(char)* slaveName) nothrow;
203 extern(C) Tcl_Channel Tcl_GetStdChannel(int type) nothrow;
204 extern(C) const(char)* Tcl_GetStringResult(Tcl_Interp* interp) nothrow;
205 extern(C) const(char)* Tcl_GetVar(Tcl_Interp* interp, const(char)* varName, int flags) nothrow;
206 extern(C) const(char)* Tcl_GetVar2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow;
207 extern(C) int Tcl_GlobalEval(Tcl_Interp* interp, const(char)* command) nothrow;
208 extern(C) int Tcl_GlobalEvalObj(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow;
209 extern(C) int Tcl_HideCommand(Tcl_Interp* interp, const(char)* cmdName, const(char)* hiddenCmdToken) nothrow;
210 extern(C) int Tcl_Init(Tcl_Interp* interp) nothrow;
211 extern(C) void Tcl_InitHashTable(Tcl_HashTable* tablePtr, int keyType) nothrow;
212 extern(C) int Tcl_InputBlocked(Tcl_Channel chan) nothrow;
213 extern(C) int Tcl_InputBuffered(Tcl_Channel chan) nothrow;
214 extern(C) int Tcl_InterpDeleted(Tcl_Interp* interp) nothrow;
215 extern(C) int Tcl_IsSafe(Tcl_Interp* interp) nothrow;
216 extern(C) const(char)* Tcl_JoinPath(int argc, const(char)** argv, Tcl_DString* resultPtr) nothrow;
217 extern(C) int Tcl_LinkVar(Tcl_Interp* interp, const(char)* varName, const(char)* addr, int type) nothrow;
218 extern(C) Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode) nothrow;
219 extern(C) int Tcl_MakeSafe(Tcl_Interp* interp) nothrow;
220 extern(C) Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket) nothrow;
221 extern(C) const(char)* Tcl_Merge(int argc, const(char)** argv) nothrow;
222 extern(C) Tcl_HashEntry* Tcl_NextHashEntry(Tcl_HashSearch* searchPtr) nothrow;
223 extern(C) void Tcl_NotifyChannel(Tcl_Channel channel, int mask) nothrow;
224 extern(C) Tcl_Obj* Tcl_ObjGetVar2(Tcl_Interp* interp, Tcl_Obj* part1Ptr, Tcl_Obj* part2Ptr, int flags) nothrow;
225 extern(C) Tcl_Obj* Tcl_ObjSetVar2(Tcl_Interp* interp, Tcl_Obj* part1Ptr, Tcl_Obj* part2Ptr, Tcl_Obj* newValuePtr, int flags) nothrow;
226 extern(C) Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp* interp, int argc, const(char)** argv, int flags) nothrow;
227 extern(C) Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp* interp, const(char)* fileName, const(char)* modeString, int permissions) nothrow;
228 extern(C) Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp* interp, int port, const(char)* address, const(char)* myaddr, int myport, int async) nothrow;
229 extern(C) Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp* interp, int port, const(char)* host, Tcl_TcpAcceptProc acceptProc, ClientData callbackData) nothrow;
230 extern(C) void Tcl_Preserve(ClientData data) nothrow;
231 extern(C) void Tcl_PrintDouble(Tcl_Interp* interp, double value, const(char)* dst) nothrow;
232 extern(C) int Tcl_PutEnv(const(char)* assignment) nothrow;
233 extern(C) const(char)* Tcl_PosixError(Tcl_Interp* interp) nothrow;
234 extern(C) void Tcl_QueueEvent(Tcl_Event* evPtr, Tcl_QueuePosition position) nothrow;
235 extern(C) int Tcl_Read(Tcl_Channel chan, const(char)* bufPtr, int toRead) nothrow;
236 extern(C) void Tcl_ReapDetachedProcs() nothrow;
237 extern(C) int Tcl_RecordAndEval(Tcl_Interp* interp, const(char)* cmd, int flags) nothrow;
238 extern(C) int Tcl_RecordAndEvalObj(Tcl_Interp* interp, Tcl_Obj* cmdPtr, int flags) nothrow;
239 extern(C) void Tcl_RegisterChannel(Tcl_Interp* interp, Tcl_Channel chan) nothrow;
240 extern(C) void Tcl_RegisterObjType(Tcl_ObjType* typePtr) nothrow;
241 extern(C) Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp* interp, const(char)* pattern) nothrow;
242 extern(C) int Tcl_RegExpExec(Tcl_Interp* interp, Tcl_RegExp regexp, const(char)* text, const(char)* start) nothrow;
243 extern(C) int Tcl_RegExpMatch(Tcl_Interp* interp, const(char)* text, const(char)* pattern) nothrow;
244 extern(C) void Tcl_RegExpRange(Tcl_RegExp regexp, int index, const(char)** startPtr, const(char)** endPtr) nothrow;
245 extern(C) void Tcl_Release(ClientData clientData) nothrow;
246 extern(C) void Tcl_ResetResult(Tcl_Interp* interp) nothrow;
247 extern(C) int Tcl_ScanElement(const(char)* src, int* flagPtr) nothrow;
248 extern(C) int Tcl_ScanCountedElement(const(char)* src, int length, int* flagPtr) nothrow;
249 extern(C) int Tcl_SeekOld(Tcl_Channel chan, int offset, int mode) nothrow;
250 extern(C) int Tcl_ServiceAll() nothrow;
251 extern(C) int Tcl_ServiceEvent(int flags) nothrow;
252 extern(C) void Tcl_SetAssocData(Tcl_Interp* interp, const(char)* name, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow;
253 extern(C) void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz) nothrow;
254 extern(C) int Tcl_SetChannelOption(Tcl_Interp* interp, Tcl_Channel chan, const(char)* optionName, const(char)* newValue) nothrow;
255 extern(C) int Tcl_SetCommandInfo(Tcl_Interp* interp, const(char)* cmdName, const(Tcl_CmdInfo)* infoPtr) nothrow;
256 extern(C) void Tcl_SetErrno(int err) nothrow;
257 extern(C) void Tcl_SetErrorCode(Tcl_Interp* interp, ...) nothrow;
258 extern(C) void Tcl_SetMaxBlockTime(Tcl_Time* timePtr) nothrow;
259 extern(C) void Tcl_SetPanicProc(Tcl_PanicProc panicProc) nothrow;
260 extern(C) int Tcl_SetRecursionLimit(Tcl_Interp* interp, int depth) nothrow;
261 extern(C) void Tcl_SetResult(Tcl_Interp* interp, const(char)* result, Tcl_FreeProc freeProc) nothrow;
262 extern(C) int Tcl_SetServiceMode(int mode) nothrow;
263 extern(C) void Tcl_SetObjErrorCode(Tcl_Interp* interp, Tcl_Obj* errorObjPtr) nothrow;
264 extern(C) void Tcl_SetObjResult(Tcl_Interp* interp, Tcl_Obj* resultObjPtr) nothrow;
265 extern(C) void Tcl_SetStdChannel(Tcl_Channel channel, int type) nothrow;
266 extern(C) const(char)* Tcl_SetVar(Tcl_Interp* interp, const(char)* varName, const(char)* newValue, int flags) nothrow;
267 extern(C) const(char)* Tcl_SetVar2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, const(char)* newValue, int flags) nothrow;
268 extern(C) const(char)* Tcl_SignalId(int sig) nothrow;
269 extern(C) const(char)* Tcl_SignalMsg(int sig) nothrow;
270 extern(C) void Tcl_SourceRCFile(Tcl_Interp* interp) nothrow;
271 extern(C) int Tcl_SplitList(Tcl_Interp* interp, const(char)* listStr, int* argcPtr, const(char)*** argvPtr) nothrow;
272 extern(C) void Tcl_SplitPath(const(char)* path, int* argcPtr, const(char)*** argvPtr) nothrow;
273 extern(C) void Tcl_StaticPackage(Tcl_Interp* interp, const(char)* pkgName, Tcl_PackageInitProc initProc, Tcl_PackageInitProc safeInitProc) nothrow;
274 extern(C) int Tcl_StringMatch(const(char)* str, const(char)* pattern) nothrow;
275 extern(C) int Tcl_TellOld(Tcl_Channel chan) nothrow;
276 extern(C) int Tcl_TraceVar(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow;
277 extern(C) int Tcl_TraceVar2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow;
278 extern(C) const(char)* Tcl_TranslateFileName(Tcl_Interp* interp, const(char)* name, Tcl_DString* bufferPtr) nothrow;
279 extern(C) int Tcl_Ungets(Tcl_Channel chan, const(char)* str, int len, int atHead) nothrow;
280 extern(C) void Tcl_UnlinkVar(Tcl_Interp* interp, const(char)* varName) nothrow;
281 extern(C) int Tcl_UnregisterChannel(Tcl_Interp* interp, Tcl_Channel chan) nothrow;
282 extern(C) int Tcl_UnsetVar(Tcl_Interp* interp, const(char)* varName, int flags) nothrow;
283 extern(C) int Tcl_UnsetVar2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow;
284 extern(C) void Tcl_UntraceVar(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow;
285 extern(C) void Tcl_UntraceVar2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow;
286 extern(C) void Tcl_UpdateLinkedVar(Tcl_Interp* interp, const(char)* varName) nothrow;
287 extern(C) int Tcl_UpVar(Tcl_Interp* interp, const(char)* frameName, const(char)* varName, const(char)* localName, int flags) nothrow;
288 extern(C) int Tcl_UpVar2(Tcl_Interp* interp, const(char)* frameName, const(char)* part1, const(char)* part2, const(char)* localName, int flags) nothrow;
289 extern(C) int Tcl_VarEval(Tcl_Interp* interp, ...) nothrow;
290 extern(C) ClientData Tcl_VarTraceInfo(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc procPtr, ClientData prevClientData) nothrow;
291 extern(C) ClientData Tcl_VarTraceInfo2(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc procPtr, ClientData prevClientData) nothrow;
292 extern(C) int Tcl_Write(Tcl_Channel chan, const(char)* s, int slen) nothrow;
293 extern(C) void Tcl_WrongNumArgs(Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv, const(char)* message) nothrow;
294 extern(C) int Tcl_DumpActiveMemory(const(char)* fileName) nothrow;
295 extern(C) void Tcl_ValidateAllMemory(const(char)* file, int line) nothrow;
296 extern(C) void Tcl_AppendResultVA(Tcl_Interp* interp, va_list argList) nothrow;
297 extern(C) void Tcl_AppendStringsToObjVA(Tcl_Obj* objPtr, va_list argList) nothrow;
298 extern(C) const(char)* Tcl_HashStats(Tcl_HashTable* tablePtr) nothrow;
299 extern(C) const(char)* Tcl_ParseVar(Tcl_Interp* interp, const(char)* start, const(char)** termPtr) nothrow;
300 extern(C) const(char)* Tcl_PkgPresent(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact) nothrow;
301 extern(C) const(char)* Tcl_PkgPresentEx(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact, ClientData* clientDataPtr) nothrow;
302 extern(C) int Tcl_PkgProvide(Tcl_Interp* interp, const(char)* name, const(char)* version_) nothrow;
303 extern(C) const(char)* Tcl_PkgRequire(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact) nothrow;
304 extern(C) void Tcl_SetErrorCodeVA(Tcl_Interp* interp, va_list argList) nothrow;
305 extern(C) int Tcl_VarEvalVA(Tcl_Interp* interp, va_list argList) nothrow;
306 extern(C) Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int* statPtr, int options) nothrow;
307 extern(C) void Tcl_PanicVA(const(char)* format, va_list argList) nothrow;
308 extern(C) void Tcl_GetVersion(int* major, int* minor, int* patchLevel, int* type) nothrow;
309 extern(C) void Tcl_InitMemory(Tcl_Interp* interp) nothrow;
310 extern(C) Tcl_Channel Tcl_StackChannel(Tcl_Interp* interp, Tcl_ChannelType* typePtr, ClientData instanceData, int mask, Tcl_Channel prevChan) nothrow;
311 extern(C) int Tcl_UnstackChannel(Tcl_Interp* interp, Tcl_Channel chan) nothrow;
312 extern(C) Tcl_Channel Tcl_GetStackedChannel(Tcl_Channel chan) nothrow;
313 extern(C) void Tcl_SetMainLoop(Tcl_MainLoopProc proc) nothrow;
314 extern(C) void Tcl_AppendObjToObj(Tcl_Obj* objPtr, Tcl_Obj* appendObjPtr) nothrow;
315 extern(C) Tcl_Encoding Tcl_CreateEncoding(const(Tcl_EncodingType)* typePtr) nothrow;
316 extern(C) void Tcl_CreateThreadExitHandler(Tcl_ExitProc proc, ClientData clientData) nothrow;
317 extern(C) void Tcl_DeleteThreadExitHandler(Tcl_ExitProc proc, ClientData clientData) nothrow;
318 extern(C) void Tcl_DiscardResult(Tcl_SavedResult* statePtr) nothrow;
319 extern(C) int Tcl_EvalEx(Tcl_Interp* interp, const(char)* script, int numBytes, int flags) nothrow;
320 extern(C) int Tcl_EvalObjv(Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv, int flags) nothrow;
321 extern(C) int Tcl_EvalObjEx(Tcl_Interp* interp, Tcl_Obj* objPtr, int flags) nothrow;
322 extern(C) void Tcl_ExitThread(int status) nothrow;
323 extern(C) int Tcl_ExternalToUtf(Tcl_Interp* interp, Tcl_Encoding encoding, const(char)* src, int srcLen, int flags, Tcl_EncodingState* statePtr, const(char)* dst, int dstLen, int* srcReadPtr, int* dstWrotePtr, int* dstCharsPtr) nothrow;
324 extern(C) const(char)* Tcl_ExternalToUtfDString(Tcl_Encoding encoding, const(char)* src, int srcLen, Tcl_DString* dsPtr) nothrow;
325 extern(C) void Tcl_FinalizeThread() nothrow;
326 extern(C) void Tcl_FinalizeNotifier(ClientData clientData) nothrow;
327 extern(C) void Tcl_FreeEncoding(Tcl_Encoding encoding) nothrow;
328 extern(C) Tcl_ThreadId Tcl_GetCurrentThread() nothrow;
329 extern(C) Tcl_Encoding Tcl_GetEncoding(Tcl_Interp* interp, const(char)* name) nothrow;
330 extern(C) const(char)* Tcl_GetEncodingName(Tcl_Encoding encoding) nothrow;
331 extern(C) void Tcl_GetEncodingNames(Tcl_Interp* interp) nothrow;
332 extern(C) int Tcl_GetIndexFromObjStruct(Tcl_Interp* interp, Tcl_Obj* objPtr, const(void)* tablePtr, int offset, const(char)* msg, int flags, int* indexPtr) nothrow;
333 extern(C) void* Tcl_GetThreadData(Tcl_ThreadDataKey* keyPtr, int size) nothrow;
334 extern(C) Tcl_Obj* Tcl_GetVar2Ex(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow;
335 extern(C) ClientData Tcl_InitNotifier() nothrow;
336 extern(C) void Tcl_MutexLock(Tcl_Mutex* mutexPtr) nothrow;
337 extern(C) void Tcl_MutexUnlock(Tcl_Mutex* mutexPtr) nothrow;
338 extern(C) void Tcl_ConditionNotify(Tcl_Condition* condPtr) nothrow;
339 extern(C) void Tcl_ConditionWait(Tcl_Condition* condPtr, Tcl_Mutex* mutexPtr, Tcl_Time* timePtr) nothrow;
340 extern(C) int Tcl_NumUtfChars(const(char)* src, int length) nothrow;
341 extern(C) int Tcl_ReadChars(Tcl_Channel channel, Tcl_Obj* objPtr, int charsToRead, int appendFlag) nothrow;
342 extern(C) void Tcl_RestoreResult(Tcl_Interp* interp, Tcl_SavedResult* statePtr) nothrow;
343 extern(C) void Tcl_SaveResult(Tcl_Interp* interp, Tcl_SavedResult* statePtr) nothrow;
344 extern(C) int Tcl_SetSystemEncoding(Tcl_Interp* interp, const(char)* name) nothrow;
345 extern(C) Tcl_Obj* Tcl_SetVar2Ex(Tcl_Interp* interp, const(char)* part1, const(char)* part2, Tcl_Obj* newValuePtr, int flags) nothrow;
346 extern(C) void Tcl_ThreadAlert(Tcl_ThreadId threadId) nothrow;
347 extern(C) void Tcl_ThreadQueueEvent(Tcl_ThreadId threadId, Tcl_Event* evPtr, Tcl_QueuePosition position) nothrow;
348 extern(C) Tcl_UniChar Tcl_UniCharAtIndex(const(char)* src, int index) nothrow;
349 extern(C) Tcl_UniChar Tcl_UniCharToLower(int ch) nothrow;
350 extern(C) Tcl_UniChar Tcl_UniCharToTitle(int ch) nothrow;
351 extern(C) Tcl_UniChar Tcl_UniCharToUpper(int ch) nothrow;
352 extern(C) int Tcl_UniCharToUtf(int ch, const(char)* buf) nothrow;
353 extern(C) const(char)* Tcl_UtfAtIndex(const(char)* src, int index) nothrow;
354 extern(C) int Tcl_UtfCharComplete(const(char)* src, int length) nothrow;
355 extern(C) int Tcl_UtfBackslash(const(char)* src, int* readPtr, const(char)* dst) nothrow;
356 extern(C) const(char)* Tcl_UtfFindFirst(const(char)* src, int ch) nothrow;
357 extern(C) const(char)* Tcl_UtfFindLast(const(char)* src, int ch) nothrow;
358 extern(C) const(char)* Tcl_UtfNext(const(char)* src) nothrow;
359 extern(C) const(char)* Tcl_UtfPrev(const(char)* src, const(char)* start) nothrow;
360 extern(C) int Tcl_UtfToExternal(Tcl_Interp* interp, Tcl_Encoding encoding, const(char)* src, int srcLen, int flags, Tcl_EncodingState* statePtr, const(char)* dst, int dstLen, int* srcReadPtr, int* dstWrotePtr, int* dstCharsPtr) nothrow;
361 extern(C) const(char)* Tcl_UtfToExternalDString(Tcl_Encoding encoding, const(char)* src, int srcLen, Tcl_DString* dsPtr) nothrow;
362 extern(C) int Tcl_UtfToLower(const(char)* src) nothrow;
363 extern(C) int Tcl_UtfToTitle(const(char)* src) nothrow;
364 extern(C) int Tcl_UtfToUniChar(const(char)* src, Tcl_UniChar* chPtr) nothrow;
365 extern(C) int Tcl_UtfToUpper(const(char)* src) nothrow;
366 extern(C) int Tcl_WriteChars(Tcl_Channel chan, const(char)* src, int srcLen) nothrow;
367 extern(C) int Tcl_WriteObj(Tcl_Channel chan, Tcl_Obj* objPtr) nothrow;
368 extern(C) const(char)* Tcl_GetString(Tcl_Obj* objPtr) nothrow;
369 extern(C) const(char)* Tcl_GetDefaultEncodingDir() nothrow;
370 extern(C) void Tcl_SetDefaultEncodingDir(const(char)* path) nothrow;
371 extern(C) void Tcl_AlertNotifier(ClientData clientData) nothrow;
372 extern(C) void Tcl_ServiceModeHook(int mode) nothrow;
373 extern(C) int Tcl_UniCharIsAlnum(int ch) nothrow;
374 extern(C) int Tcl_UniCharIsAlpha(int ch) nothrow;
375 extern(C) int Tcl_UniCharIsDigit(int ch) nothrow;
376 extern(C) int Tcl_UniCharIsLower(int ch) nothrow;
377 extern(C) int Tcl_UniCharIsSpace(int ch) nothrow;
378 extern(C) int Tcl_UniCharIsUpper(int ch) nothrow;
379 extern(C) int Tcl_UniCharIsWordChar(int ch) nothrow;
380 extern(C) int Tcl_UniCharLen(const(Tcl_UniChar)* uniStr) nothrow;
381 extern(C) int Tcl_UniCharNcmp(const(Tcl_UniChar)* ucs, const(Tcl_UniChar)* uct, c_ulong numChars) nothrow;
382 extern(C) const(char)* Tcl_UniCharToUtfDString(const(Tcl_UniChar)* uniStr, int uniLength, Tcl_DString* dsPtr) nothrow;
383 extern(C) Tcl_UniChar* Tcl_UtfToUniCharDString(const(char)* src, int length, Tcl_DString* dsPtr) nothrow;
384 extern(C) Tcl_RegExp Tcl_GetRegExpFromObj(Tcl_Interp* interp, Tcl_Obj* patObj, int flags) nothrow;
385 extern(C) Tcl_Obj* Tcl_EvalTokens(Tcl_Interp* interp, Tcl_Token* tokenPtr, int count) nothrow;
386 extern(C) void Tcl_FreeParse(Tcl_Parse* parsePtr) nothrow;
387 extern(C) void Tcl_LogCommandInfo(Tcl_Interp* interp, const(char)* script, const(char)* command, int length) nothrow;
388 extern(C) int Tcl_ParseBraces(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append, const(char)** termPtr) nothrow;
389 extern(C) int Tcl_ParseCommand(Tcl_Interp* interp, const(char)* start, int numBytes, int nested, Tcl_Parse* parsePtr) nothrow;
390 extern(C) int Tcl_ParseExpr(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr) nothrow;
391 extern(C) int Tcl_ParseQuotedString(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append, const(char)** termPtr) nothrow;
392 extern(C) int Tcl_ParseVarName(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append) nothrow;
393 extern(C) const(char)* Tcl_GetCwd(Tcl_Interp* interp, Tcl_DString* cwdPtr) nothrow;
394 extern(C) int Tcl_Chdir(const(char)* dirName) nothrow;
395 extern(C) int Tcl_Access(const(char)* path, int mode) nothrow;
396 extern(C) int Tcl_Stat(const(char)* path, Tcl_StatBuf* bufPtr) nothrow;
397 extern(C) int Tcl_UtfNcmp(const(char)* s1, const(char)* s2, c_ulong n) nothrow;
398 extern(C) int Tcl_UtfNcasecmp(const(char)* s1, const(char)* s2, c_ulong n) nothrow;
399 extern(C) int Tcl_StringCaseMatch(const(char)* str, const(char)* pattern, int nocase) nothrow;
400 extern(C) int Tcl_UniCharIsControl(int ch) nothrow;
401 extern(C) int Tcl_UniCharIsGraph(int ch) nothrow;
402 extern(C) int Tcl_UniCharIsPrint(int ch) nothrow;
403 extern(C) int Tcl_UniCharIsPunct(int ch) nothrow;
404 extern(C) int Tcl_RegExpExecObj(Tcl_Interp* interp, Tcl_RegExp regexp, Tcl_Obj* textObj, int offset, int nmatches, int flags) nothrow;
405 extern(C) void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo* infoPtr) nothrow;
406 extern(C) Tcl_Obj* Tcl_NewUnicodeObj(const(Tcl_UniChar)* unicode, int numChars) nothrow;
407 extern(C) void Tcl_SetUnicodeObj(Tcl_Obj* objPtr, const(Tcl_UniChar)* unicode, int numChars) nothrow;
408 extern(C) int Tcl_GetCharLength(Tcl_Obj* objPtr) nothrow;
409 extern(C) Tcl_UniChar Tcl_GetUniChar(Tcl_Obj* objPtr, int index) nothrow;
410 extern(C) Tcl_UniChar* Tcl_GetUnicode(Tcl_Obj* objPtr) nothrow;
411 extern(C) Tcl_Obj* Tcl_GetRange(Tcl_Obj* objPtr, int first, int last) nothrow;
412 extern(C) void Tcl_AppendUnicodeToObj(Tcl_Obj* objPtr, const(Tcl_UniChar)* unicode, int length) nothrow;
413 extern(C) int Tcl_RegExpMatchObj(Tcl_Interp* interp, Tcl_Obj* textObj, Tcl_Obj* patternObj) nothrow;
414 extern(C) void Tcl_SetNotifier(Tcl_NotifierProcs notifierProcPtr) nothrow;
415 extern(C) Tcl_Mutex* Tcl_GetAllocMutex() nothrow;
416 extern(C) int Tcl_GetChannelNames(Tcl_Interp* interp) nothrow;
417 extern(C) int Tcl_GetChannelNamesEx(Tcl_Interp* interp, const(char)* pattern) nothrow;
418 extern(C) int Tcl_ProcObjCmd(ClientData clientData, Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv) nothrow;
419 extern(C) void Tcl_ConditionFinalize(Tcl_Condition* condPtr) nothrow;
420 extern(C) void Tcl_MutexFinalize(Tcl_Mutex* mutex) nothrow;
421 extern(C) int Tcl_CreateThread(Tcl_ThreadId* idPtr, Tcl_ThreadCreateProc proc, ClientData clientData, int stackSize, int flags) nothrow;
422 extern(C) int Tcl_ReadRaw(Tcl_Channel chan, const(char)* dst, int bytesToRead) nothrow;
423 extern(C) int Tcl_WriteRaw(Tcl_Channel chan, const(char)* src, int srcLen) nothrow;
424 extern(C) Tcl_Channel Tcl_GetTopChannel(Tcl_Channel chan) nothrow;
425 extern(C) int Tcl_ChannelBuffered(Tcl_Channel chan) nothrow;
426 extern(C) const(char)* Tcl_ChannelName(const(Tcl_ChannelType)* chanTypePtr) nothrow;
427 extern(C) Tcl_ChannelTypeVersion Tcl_ChannelVersion(const(Tcl_ChannelType)* chanTypePtr) nothrow;
428 extern(C) Tcl_DriverBlockModeProc Tcl_ChannelBlockModeProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
429 extern(C) Tcl_DriverCloseProc Tcl_ChannelCloseProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
430 extern(C) Tcl_DriverClose2Proc Tcl_ChannelClose2Proc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
431 extern(C) Tcl_DriverInputProc Tcl_ChannelInputProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
432 extern(C) Tcl_DriverOutputProc Tcl_ChannelOutputProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
433 extern(C) Tcl_DriverSeekProc Tcl_ChannelSeekProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
434 extern(C) Tcl_DriverSetOptionProc Tcl_ChannelSetOptionProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
435 extern(C) Tcl_DriverGetOptionProc Tcl_ChannelGetOptionProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
436 extern(C) Tcl_DriverWatchProc Tcl_ChannelWatchProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
437 extern(C) Tcl_DriverGetHandleProc Tcl_ChannelGetHandleProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
438 extern(C) Tcl_DriverFlushProc Tcl_ChannelFlushProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
439 extern(C) Tcl_DriverHandlerProc Tcl_ChannelHandlerProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
440 extern(C) int Tcl_JoinThread(Tcl_ThreadId threadId, int* result) nothrow;
441 extern(C) int Tcl_IsChannelShared(Tcl_Channel channel) nothrow;
442 extern(C) int Tcl_IsChannelRegistered(Tcl_Interp* interp, Tcl_Channel channel) nothrow;
443 extern(C) void Tcl_CutChannel(Tcl_Channel channel) nothrow;
444 extern(C) void Tcl_SpliceChannel(Tcl_Channel channel) nothrow;
445 extern(C) void Tcl_ClearChannelHandlers(Tcl_Channel channel) nothrow;
446 extern(C) int Tcl_IsChannelExisting(const(char)* channelName) nothrow;
447 extern(C) int Tcl_UniCharNcasecmp(const(Tcl_UniChar)* ucs, const(Tcl_UniChar)* uct, c_ulong numChars) nothrow;
448 extern(C) int Tcl_UniCharCaseMatch(const(Tcl_UniChar)* uniStr, const(Tcl_UniChar)* uniPattern, int nocase) nothrow;
449 extern(C) Tcl_HashEntry* Tcl_FindHashEntry(Tcl_HashTable* tablePtr, const(char)* key) nothrow;
450 extern(C) Tcl_HashEntry* Tcl_CreateHashEntry(Tcl_HashTable* tablePtr, const(char)* key, int* newPtr) nothrow;
451 extern(C) void Tcl_InitCustomHashTable(Tcl_HashTable* tablePtr, int keyType, Tcl_HashKeyType* typePtr) nothrow;
452 extern(C) void Tcl_InitObjHashTable(Tcl_HashTable* tablePtr) nothrow;
453 extern(C) ClientData Tcl_CommandTraceInfo(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc procPtr, ClientData prevClientData) nothrow;
454 extern(C) int Tcl_TraceCommand(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc proc, ClientData clientData) nothrow;
455 extern(C) void Tcl_UntraceCommand(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc proc, ClientData clientData) nothrow;
456 extern(C) const(char)* Tcl_AttemptAlloc(uint size) nothrow;
457 extern(C) const(char)* Tcl_AttemptDbCkalloc(uint size, const(char)* file, int line) nothrow;
458 extern(C) const(char)* Tcl_AttemptRealloc(const(char)* ptr, uint size) nothrow;
459 extern(C) const(char)* Tcl_AttemptDbCkrealloc(const(char)* ptr, uint size, const(char)* file, int line) nothrow;
460 extern(C) int Tcl_AttemptSetObjLength(Tcl_Obj* objPtr, int length) nothrow;
461 extern(C) Tcl_ThreadId Tcl_GetChannelThread(Tcl_Channel channel) nothrow;
462 extern(C) Tcl_UniChar* Tcl_GetUnicodeFromObj(Tcl_Obj* objPtr, int* lengthPtr) nothrow;
463 extern(C) int Tcl_GetMathFuncInfo(Tcl_Interp* interp, const(char)* name, int* numArgsPtr, Tcl_ValueType** argTypesPtr, Tcl_MathProc* procPtr, ClientData* clientDataPtr) nothrow;
464 extern(C) Tcl_Obj* Tcl_ListMathFuncs(Tcl_Interp* interp, const(char)* pattern) nothrow;
465 extern(C) Tcl_Obj* Tcl_SubstObj(Tcl_Interp* interp, Tcl_Obj* objPtr, int flags) nothrow;
466 extern(C) int Tcl_DetachChannel(Tcl_Interp* interp, Tcl_Channel channel) nothrow;
467 extern(C) int Tcl_IsStandardChannel(Tcl_Channel channel) nothrow;
468 extern(C) int Tcl_FSCopyFile(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr) nothrow;
469 extern(C) int Tcl_FSCopyDirectory(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr, Tcl_Obj** errorPtr) nothrow;
470 extern(C) int Tcl_FSCreateDirectory(Tcl_Obj* pathPtr) nothrow;
471 extern(C) int Tcl_FSDeleteFile(Tcl_Obj* pathPtr) nothrow;
472 extern(C) int Tcl_FSLoadFile(Tcl_Interp* interp, Tcl_Obj* pathPtr, const(char)* sym1, const(char)* sym2, Tcl_PackageInitProc* proc1Ptr, Tcl_PackageInitProc* proc2Ptr, Tcl_LoadHandle* handlePtr, Tcl_FSUnloadFileProc* unloadProcPtr) nothrow;
473 extern(C) int Tcl_FSMatchInDirectory(Tcl_Interp* interp, Tcl_Obj* result, Tcl_Obj* pathPtr, const(char)* pattern, Tcl_GlobTypeData* types) nothrow;
474 extern(C) Tcl_Obj* Tcl_FSLink(Tcl_Obj* pathPtr, Tcl_Obj* toPtr, int linkAction) nothrow;
475 extern(C) int Tcl_FSRemoveDirectory(Tcl_Obj* pathPtr, int recursive, Tcl_Obj** errorPtr) nothrow;
476 extern(C) int Tcl_FSRenameFile(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr) nothrow;
477 extern(C) int Tcl_FSLstat(Tcl_Obj* pathPtr, Tcl_StatBuf* buf) nothrow;
478 extern(C) int Tcl_FSUtime(Tcl_Obj* pathPtr, utimbuf* tval) nothrow;
479 extern(C) int Tcl_FSFileAttrsGet(Tcl_Interp* interp, int index, Tcl_Obj* pathPtr, Tcl_Obj** objPtrRef) nothrow;
480 extern(C) int Tcl_FSFileAttrsSet(Tcl_Interp* interp, int index, Tcl_Obj* pathPtr, Tcl_Obj* objPtr) nothrow;
481 extern(C) const(char)** Tcl_FSFileAttrStrings(Tcl_Obj* pathPtr, Tcl_Obj** objPtrRef) nothrow;
482 extern(C) int Tcl_FSStat(Tcl_Obj* pathPtr, Tcl_StatBuf* buf) nothrow;
483 extern(C) int Tcl_FSAccess(Tcl_Obj* pathPtr, int mode) nothrow;
484 extern(C) Tcl_Channel Tcl_FSOpenFileChannel(Tcl_Interp* interp, Tcl_Obj* pathPtr, const(char)* modeString, int permissions) nothrow;
485 extern(C) Tcl_Obj* Tcl_FSGetCwd(Tcl_Interp* interp) nothrow;
486 extern(C) int Tcl_FSChdir(Tcl_Obj* pathPtr) nothrow;
487 extern(C) int Tcl_FSConvertToPathType(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow;
488 extern(C) Tcl_Obj* Tcl_FSJoinPath(Tcl_Obj* listObj, int elements) nothrow;
489 extern(C) Tcl_Obj* Tcl_FSSplitPath(Tcl_Obj* pathPtr, int* lenPtr) nothrow;
490 extern(C) int Tcl_FSEqualPaths(Tcl_Obj* firstPtr, Tcl_Obj* secondPtr) nothrow;
491 extern(C) Tcl_Obj* Tcl_FSGetNormalizedPath(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow;
492 extern(C) Tcl_Obj* Tcl_FSJoinToPath(Tcl_Obj* pathPtr, int objc, const(Tcl_Obj*)* objv) nothrow;
493 extern(C) ClientData Tcl_FSGetInternalRep(Tcl_Obj* pathPtr, Tcl_Filesystem* fsPtr) nothrow;
494 extern(C) Tcl_Obj* Tcl_FSGetTranslatedPath(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow;
495 extern(C) int Tcl_FSEvalFile(Tcl_Interp* interp, Tcl_Obj* fileName) nothrow;
496 extern(C) Tcl_Obj* Tcl_FSNewNativePath(Tcl_Filesystem* fromFilesystem, ClientData clientData) nothrow;
497 extern(C) const(char)* Tcl_FSGetNativePath(Tcl_Obj* pathPtr) nothrow;
498 extern(C) Tcl_Obj* Tcl_FSFileSystemInfo(Tcl_Obj* pathPtr) nothrow;
499 extern(C) Tcl_Obj* Tcl_FSPathSeparator(Tcl_Obj* pathPtr) nothrow;
500 extern(C) Tcl_Obj* Tcl_FSListVolumes() nothrow;
501 extern(C) int Tcl_FSRegister(ClientData clientData, Tcl_Filesystem* fsPtr) nothrow;
502 extern(C) int Tcl_FSUnregister(Tcl_Filesystem* fsPtr) nothrow;
503 extern(C) ClientData Tcl_FSData(Tcl_Filesystem* fsPtr) nothrow;
504 extern(C) const(char)* Tcl_FSGetTranslatedStringPath(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow;
505 extern(C) Tcl_Filesystem*  Tcl_FSGetFileSystemForPath(Tcl_Obj* pathPtr) nothrow;
506 extern(C) Tcl_PathType Tcl_FSGetPathType(Tcl_Obj* pathPtr) nothrow;
507 extern(C) int Tcl_OutputBuffered(Tcl_Channel chan) nothrow;
508 extern(C) void Tcl_FSMountsChanged(Tcl_Filesystem* fsPtr) nothrow;
509 extern(C) int Tcl_EvalTokensStandard(Tcl_Interp* interp, Tcl_Token* tokenPtr, int count) nothrow;
510 extern(C) void Tcl_GetTime(Tcl_Time* timeBuf) nothrow;
511 extern(C) Tcl_Trace Tcl_CreateObjTrace(Tcl_Interp* interp, int level, int flags, Tcl_CmdObjTraceProc objProc, ClientData clientData, Tcl_CmdObjTraceDeleteProc delProc) nothrow;
512 extern(C) int Tcl_GetCommandInfoFromToken(Tcl_Command token, Tcl_CmdInfo* infoPtr) nothrow;
513 extern(C) int Tcl_SetCommandInfoFromToken(Tcl_Command token, const(Tcl_CmdInfo)* infoPtr) nothrow;
514 extern(C) Tcl_Obj* Tcl_DbNewWideIntObj(Tcl_WideInt wideValue, const(char)* file, int line) nothrow;
515 extern(C) int Tcl_GetWideIntFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_WideInt* widePtr) nothrow;
516 extern(C) Tcl_Obj* Tcl_NewWideIntObj(Tcl_WideInt wideValue) nothrow;
517 extern(C) void Tcl_SetWideIntObj(Tcl_Obj* objPtr, Tcl_WideInt wideValue) nothrow;
518 extern(C) Tcl_StatBuf* Tcl_AllocStatBuf() nothrow;
519 extern(C) Tcl_WideInt Tcl_Seek(Tcl_Channel chan, Tcl_WideInt offset, int mode) nothrow;
520 extern(C) Tcl_WideInt Tcl_Tell(Tcl_Channel chan) nothrow;
521 extern(C) Tcl_DriverWideSeekProc Tcl_ChannelWideSeekProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
522 extern(C) int Tcl_DictObjPut(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr, Tcl_Obj* valuePtr) nothrow;
523 extern(C) int Tcl_DictObjGet(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr, Tcl_Obj** valuePtrPtr) nothrow;
524 extern(C) int Tcl_DictObjRemove(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr) nothrow;
525 extern(C) int Tcl_DictObjSize(Tcl_Interp* interp, Tcl_Obj* dictPtr, int* sizePtr) nothrow;
526 extern(C) int Tcl_DictObjFirst(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_DictSearch* searchPtr, Tcl_Obj** keyPtrPtr, Tcl_Obj** valuePtrPtr, int* donePtr) nothrow;
527 extern(C) void Tcl_DictObjNext(Tcl_DictSearch* searchPtr, Tcl_Obj** keyPtrPtr, Tcl_Obj** valuePtrPtr, int* donePtr) nothrow;
528 extern(C) void Tcl_DictObjDone(Tcl_DictSearch* searchPtr) nothrow;
529 extern(C) int Tcl_DictObjPutKeyList(Tcl_Interp* interp, Tcl_Obj* dictPtr, int keyc, const(Tcl_Obj*)* keyv, Tcl_Obj* valuePtr) nothrow;
530 extern(C) int Tcl_DictObjRemoveKeyList(Tcl_Interp* interp, Tcl_Obj* dictPtr, int keyc, const(Tcl_Obj*)* keyv) nothrow;
531 extern(C) Tcl_Obj* Tcl_NewDictObj() nothrow;
532 extern(C) Tcl_Obj* Tcl_DbNewDictObj(const(char)* file, int line) nothrow;
533 extern(C) void Tcl_RegisterConfig(Tcl_Interp* interp, const(char)* pkgName, Tcl_Config* configuration, const(char)* valEncoding) nothrow;
534 extern(C) Tcl_Namespace* Tcl_CreateNamespace(Tcl_Interp* interp, const(char)* name, ClientData clientData, Tcl_NamespaceDeleteProc deleteProc) nothrow;
535 extern(C) void Tcl_DeleteNamespace(Tcl_Namespace* nsPtr) nothrow;
536 extern(C) int Tcl_AppendExportList(Tcl_Interp* interp, Tcl_Namespace* nsPtr, Tcl_Obj* objPtr) nothrow;
537 extern(C) int Tcl_Export(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern, int resetListFirst) nothrow;
538 extern(C) int Tcl_Import(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern, int allowOverwrite) nothrow;
539 extern(C) int Tcl_ForgetImport(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern) nothrow;
540 extern(C) Tcl_Namespace* Tcl_GetCurrentNamespace(Tcl_Interp* interp) nothrow;
541 extern(C) Tcl_Namespace* Tcl_GetGlobalNamespace(Tcl_Interp* interp) nothrow;
542 extern(C) Tcl_Namespace* Tcl_FindNamespace(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* contextNsPtr, int flags) nothrow;
543 extern(C) Tcl_Command Tcl_FindCommand(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* contextNsPtr, int flags) nothrow;
544 extern(C) Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow;
545 extern(C) void Tcl_GetCommandFullName(Tcl_Interp* interp, Tcl_Command command, Tcl_Obj* objPtr) nothrow;
546 extern(C) int Tcl_FSEvalFileEx(Tcl_Interp* interp, Tcl_Obj* fileName, const(char)* encodingName) nothrow;
547 extern(C) Tcl_ExitProc Tcl_SetExitProc(Tcl_ExitProc proc) nothrow;
548 extern(C) void Tcl_LimitAddHandler(Tcl_Interp* interp, int type, Tcl_LimitHandlerProc handlerProc, ClientData clientData, Tcl_LimitHandlerDeleteProc deleteProc) nothrow;
549 extern(C) void Tcl_LimitRemoveHandler(Tcl_Interp* interp, int type, Tcl_LimitHandlerProc handlerProc, ClientData clientData) nothrow;
550 extern(C) int Tcl_LimitReady(Tcl_Interp* interp) nothrow;
551 extern(C) int Tcl_LimitCheck(Tcl_Interp* interp) nothrow;
552 extern(C) int Tcl_LimitExceeded(Tcl_Interp* interp) nothrow;
553 extern(C) void Tcl_LimitSetCommands(Tcl_Interp* interp, int commandLimit) nothrow;
554 extern(C) void Tcl_LimitSetTime(Tcl_Interp* interp, Tcl_Time* timeLimitPtr) nothrow;
555 extern(C) void Tcl_LimitSetGranularity(Tcl_Interp* interp, int type, int granularity) nothrow;
556 extern(C) int Tcl_LimitTypeEnabled(Tcl_Interp* interp, int type) nothrow;
557 extern(C) int Tcl_LimitTypeExceeded(Tcl_Interp* interp, int type) nothrow;
558 extern(C) void Tcl_LimitTypeSet(Tcl_Interp* interp, int type) nothrow;
559 extern(C) void Tcl_LimitTypeReset(Tcl_Interp* interp, int type) nothrow;
560 extern(C) int Tcl_LimitGetCommands(Tcl_Interp* interp) nothrow;
561 extern(C) void Tcl_LimitGetTime(Tcl_Interp* interp, Tcl_Time* timeLimitPtr) nothrow;
562 extern(C) int Tcl_LimitGetGranularity(Tcl_Interp* interp, int type) nothrow;
563 extern(C) Tcl_InterpState Tcl_SaveInterpState(Tcl_Interp* interp, int status) nothrow;
564 extern(C) int Tcl_RestoreInterpState(Tcl_Interp* interp, Tcl_InterpState state) nothrow;
565 extern(C) void Tcl_DiscardInterpState(Tcl_InterpState state) nothrow;
566 extern(C) int Tcl_SetReturnOptions(Tcl_Interp* interp, Tcl_Obj* options) nothrow;
567 extern(C) Tcl_Obj* Tcl_GetReturnOptions(Tcl_Interp* interp, int result) nothrow;
568 extern(C) int Tcl_IsEnsemble(Tcl_Command token) nothrow;
569 extern(C) Tcl_Command Tcl_CreateEnsemble(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* namespacePtr, int flags) nothrow;
570 extern(C) Tcl_Command Tcl_FindEnsemble(Tcl_Interp* interp, Tcl_Obj* cmdNameObj, int flags) nothrow;
571 extern(C) int Tcl_SetEnsembleSubcommandList(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* subcmdList) nothrow;
572 extern(C) int Tcl_SetEnsembleMappingDict(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* mapDict) nothrow;
573 extern(C) int Tcl_SetEnsembleUnknownHandler(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* unknownList) nothrow;
574 extern(C) int Tcl_SetEnsembleFlags(Tcl_Interp* interp, Tcl_Command token, int flags) nothrow;
575 extern(C) int Tcl_GetEnsembleSubcommandList(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** subcmdListPtr) nothrow;
576 extern(C) int Tcl_GetEnsembleMappingDict(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** mapDictPtr) nothrow;
577 extern(C) int Tcl_GetEnsembleUnknownHandler(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** unknownListPtr) nothrow;
578 extern(C) int Tcl_GetEnsembleFlags(Tcl_Interp* interp, Tcl_Command token, int* flagsPtr) nothrow;
579 extern(C) int Tcl_GetEnsembleNamespace(Tcl_Interp* interp, Tcl_Command token, Tcl_Namespace** namespacePtrPtr) nothrow;
580 extern(C) void Tcl_SetTimeProc(Tcl_GetTimeProc getProc, Tcl_ScaleTimeProc scaleProc, ClientData clientData) nothrow;
581 extern(C) void Tcl_QueryTimeProc(Tcl_GetTimeProc* getProc, Tcl_ScaleTimeProc* scaleProc, ClientData* clientData) nothrow;
582 extern(C) Tcl_DriverThreadActionProc Tcl_ChannelThreadActionProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
583 extern(C) Tcl_Obj* Tcl_NewBignumObj(mp_int* value) nothrow;
584 extern(C) Tcl_Obj* Tcl_DbNewBignumObj(mp_int* value, const(char)* file, int line) nothrow;
585 extern(C) void Tcl_SetBignumObj(Tcl_Obj* obj, mp_int* value) nothrow;
586 extern(C) int Tcl_GetBignumFromObj(Tcl_Interp* interp, Tcl_Obj* obj, mp_int* value) nothrow;
587 extern(C) int Tcl_TakeBignumFromObj(Tcl_Interp* interp, Tcl_Obj* obj, mp_int* value) nothrow;
588 extern(C) int Tcl_TruncateChannel(Tcl_Channel chan, Tcl_WideInt length) nothrow;
589 extern(C) Tcl_DriverTruncateProc Tcl_ChannelTruncateProc(const(Tcl_ChannelType)* chanTypePtr) nothrow;
590 extern(C) void Tcl_SetChannelErrorInterp(Tcl_Interp* interp, Tcl_Obj* msg) nothrow;
591 extern(C) void Tcl_GetChannelErrorInterp(Tcl_Interp* interp, Tcl_Obj** msg) nothrow;
592 extern(C) void Tcl_SetChannelError(Tcl_Channel chan, Tcl_Obj* msg) nothrow;
593 extern(C) void Tcl_GetChannelError(Tcl_Channel chan, Tcl_Obj** msg) nothrow;
594 extern(C) int Tcl_InitBignumFromDouble(Tcl_Interp* interp, double initval, mp_int* toInit) nothrow;
595 extern(C) Tcl_Obj* Tcl_GetNamespaceUnknownHandler(Tcl_Interp* interp, Tcl_Namespace* nsPtr) nothrow;
596 extern(C) int Tcl_SetNamespaceUnknownHandler(Tcl_Interp* interp, Tcl_Namespace* nsPtr, Tcl_Obj* handlerPtr) nothrow;
597 extern(C) int Tcl_GetEncodingFromObj(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_Encoding* encodingPtr) nothrow;
598 extern(C) Tcl_Obj* Tcl_GetEncodingSearchPath() nothrow;
599 extern(C) int Tcl_SetEncodingSearchPath(Tcl_Obj* searchPath) nothrow;
600 extern(C) const(char)* Tcl_GetEncodingNameFromEnvironment(Tcl_DString* bufPtr) nothrow;
601 extern(C) int Tcl_PkgRequireProc(Tcl_Interp* interp, const(char)* name, int objc, const(Tcl_Obj*)* objv, ClientData* clientDataPtr) nothrow;
602 extern(C) void Tcl_AppendObjToErrorInfo(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow;
603 extern(C) void Tcl_AppendLimitedToObj(Tcl_Obj* objPtr, const(char)* bytes, int length, int limit, const(char)* ellipsis) nothrow;
604 extern(C) Tcl_Obj* Tcl_Format(Tcl_Interp* interp, const(char)* format, int objc, const(Tcl_Obj*)* objv) nothrow;
605 extern(C) int Tcl_AppendFormatToObj(Tcl_Interp* interp, Tcl_Obj* objPtr, const(char)* format, int objc, const(Tcl_Obj*)* objv) nothrow;
606 extern(C) Tcl_Obj* Tcl_ObjPrintf(const(char)* format, ...) nothrow;
607 extern(C) void Tcl_AppendPrintfToObj(Tcl_Obj* objPtr, const(char)* format, ...) nothrow;
608 
609 struct TclPlatStubs;
610 struct TclIntStubs;
611 struct TclIntPlatStubs;
612 
613 struct TclStubHooks
614 {
615     TclPlatStubs* tclPlatStubs;
616     TclIntStubs* tclIntStubs;
617     TclIntPlatStubs* tclIntPlatStubs;
618 }
619 
620 struct TclStubs
621 {
622 	int magic;
623 	TclStubHooks* hooks;
624 
625 	extern(C) int function(Tcl_Interp* interp, const(char)* name, const(char)* version_, ClientData clientData) nothrow tcl_PkgProvideEx;
626 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact, ClientData* clientDataPtr) nothrow tcl_PkgRequireEx;
627 	extern(C) void function(const(char)* format, ...) nothrow tcl_Panic;
628 	extern(C) const(char)* function(uint size) nothrow tcl_Alloc;
629 	extern(C) void function(const(char)* ptr) nothrow tcl_Free;
630 	extern(C) const(char)* function(const(char)* ptr, uint size) nothrow tcl_Realloc;
631 	extern(C) const(char)* function(uint size, const(char)* file, int line) nothrow tcl_DbCkalloc;
632 	extern(C) int function(const(char)* ptr, const(char)* file, int line) nothrow tcl_DbCkfree;
633 	extern(C) const(char)* function(const(char)* ptr, uint size, const(char)* file, int line) nothrow tcl_DbCkrealloc;
634 
635 	version(Posix)
636 	{
637 		extern(C) void function(int fd, int mask, Tcl_FileProc proc, ClientData clientData) nothrow tcl_CreateFileHandler;
638 	}
639 	else
640 	{
641 		void* reserved9;
642 	}
643 
644 	version(Posix)
645 	{
646 		extern(C) void function(int fd) nothrow tcl_DeleteFileHandler;
647 	}
648 	else
649 	{
650 		void* reserved10;
651 	}
652 
653 	extern(C) void function(Tcl_Time* timePtr) nothrow tcl_SetTimer;
654 	extern(C) void function(int ms) nothrow tcl_Sleep;
655 	extern(C) int function(Tcl_Time* timePtr) nothrow tcl_WaitForEvent;
656 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow tcl_AppendAllObjTypes;
657 	extern(C) void function(Tcl_Obj* objPtr, ...) nothrow tcl_AppendStringsToObj;
658 	extern(C) void function(Tcl_Obj* objPtr, const(char)* bytes, int length) nothrow tcl_AppendToObj;
659 	extern(C) Tcl_Obj* function(int objc, const(Tcl_Obj*)* objv) nothrow tcl_ConcatObj;
660 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_ObjType* typePtr) nothrow tcl_ConvertToType;
661 	extern(C) void function(Tcl_Obj* objPtr, const(char)* file, int line) nothrow tcl_DbDecrRefCount;
662 	extern(C) void function(Tcl_Obj* objPtr, const(char)* file, int line) nothrow tcl_DbIncrRefCount;
663 	extern(C) int function(Tcl_Obj* objPtr, const(char)* file, int line) nothrow tcl_DbIsShared;
664 	extern(C) Tcl_Obj* function(int boolValue, const(char)* file, int line) nothrow tcl_DbNewBooleanObj;
665 	extern(C) Tcl_Obj* function(const(ubyte)* bytes, int length, const(char)* file, int line) nothrow tcl_DbNewByteArrayObj;
666 	extern(C) Tcl_Obj* function(double doubleValue, const(char)* file, int line) nothrow tcl_DbNewDoubleObj;
667 	extern(C) Tcl_Obj* function(int objc, const(Tcl_Obj*)* objv, const(char)* file, int line) nothrow tcl_DbNewListObj;
668 	extern(C) Tcl_Obj* function(c_long longValue, const(char)* file, int line) nothrow tcl_DbNewLongObj;
669 	extern(C) Tcl_Obj* function(const(char)* file, int line) nothrow tcl_DbNewObj;
670 	extern(C) Tcl_Obj* function(const(char)* bytes, int length, const(char)* file, int line) nothrow tcl_DbNewStringObj;
671 	extern(C) Tcl_Obj* function(Tcl_Obj* objPtr) nothrow tcl_DuplicateObj;
672 	extern(C) void function(Tcl_Obj* objPtr) nothrow tclFreeObj;
673 	extern(C) int function(Tcl_Interp* interp, const(char)* src, int* boolPtr) nothrow tcl_GetBoolean;
674 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, int* boolPtr) nothrow tcl_GetBooleanFromObj;
675 	extern(C) ubyte* function(Tcl_Obj* objPtr, int* lengthPtr) nothrow tcl_GetByteArrayFromObj;
676 	extern(C) int function(Tcl_Interp* interp, const(char)* src, double* doublePtr) nothrow tcl_GetDouble;
677 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, double* doublePtr) nothrow tcl_GetDoubleFromObj;
678 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, const(char)** tablePtr, const(char)* msg, int flags, int* indexPtr) nothrow tcl_GetIndexFromObj;
679 	extern(C) int function(Tcl_Interp* interp, const(char)* src, int* intPtr) nothrow tcl_GetInt;
680 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, int* intPtr) nothrow tcl_GetIntFromObj;
681 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, c_long* longPtr) nothrow tcl_GetLongFromObj;
682 	extern(C) Tcl_ObjType* function(const(char)* typeName) nothrow tcl_GetObjType;
683 	extern(C) const(char)* function(Tcl_Obj* objPtr, int* lengthPtr) nothrow tcl_GetStringFromObj;
684 	extern(C) void function(Tcl_Obj* objPtr) nothrow tcl_InvalidateStringRep;
685 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, Tcl_Obj* elemListPtr) nothrow tcl_ListObjAppendList;
686 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, Tcl_Obj* objPtr) nothrow tcl_ListObjAppendElement;
687 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, int* objcPtr, Tcl_Obj*** objvPtr) nothrow tcl_ListObjGetElements;
688 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, int index, Tcl_Obj** objPtrPtr) nothrow tcl_ListObjIndex;
689 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, int* lengthPtr) nothrow tcl_ListObjLength;
690 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* listPtr, int first, int count, int objc, const(Tcl_Obj*)* objv) nothrow tcl_ListObjReplace;
691 	extern(C) Tcl_Obj* function(int boolValue) nothrow tcl_NewBooleanObj;
692 	extern(C) Tcl_Obj* function(const(ubyte)* bytes, int length) nothrow tcl_NewByteArrayObj;
693 	extern(C) Tcl_Obj* function(double doubleValue) nothrow tcl_NewDoubleObj;
694 	extern(C) Tcl_Obj* function(int intValue) nothrow tcl_NewIntObj;
695 	extern(C) Tcl_Obj* function(int objc, const(Tcl_Obj*)* objv) nothrow tcl_NewListObj;
696 	extern(C) Tcl_Obj* function(c_long longValue) nothrow tcl_NewLongObj;
697 	extern(C) Tcl_Obj* function() nothrow tcl_NewObj;
698 	extern(C) Tcl_Obj* function(const(char)* bytes, int length) nothrow tcl_NewStringObj;
699 	extern(C) void function(Tcl_Obj* objPtr, int boolValue) nothrow tcl_SetBooleanObj;
700 	extern(C) ubyte* function(Tcl_Obj* objPtr, int length) nothrow tcl_SetByteArrayLength;
701 	extern(C) void function(Tcl_Obj* objPtr, const(ubyte)* bytes, int length) nothrow tcl_SetByteArrayObj;
702 	extern(C) void function(Tcl_Obj* objPtr, double doubleValue) nothrow tcl_SetDoubleObj;
703 	extern(C) void function(Tcl_Obj* objPtr, int intValue) nothrow tcl_SetIntObj;
704 	extern(C) void function(Tcl_Obj* objPtr, int objc, const(Tcl_Obj*)* objv) nothrow tcl_SetListObj;
705 	extern(C) void function(Tcl_Obj* objPtr, c_long longValue) nothrow tcl_SetLongObj;
706 	extern(C) void function(Tcl_Obj* objPtr, int length) nothrow tcl_SetObjLength;
707 	extern(C) void function(Tcl_Obj* objPtr, const(char)* bytes, int length) nothrow tcl_SetStringObj;
708 	extern(C) void function(Tcl_Interp* interp, const(char)* message) nothrow tcl_AddErrorInfo;
709 	extern(C) void function(Tcl_Interp* interp, const(char)* message, int length) nothrow tcl_AddObjErrorInfo;
710 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_AllowExceptions;
711 	extern(C) void function(Tcl_Interp* interp, const(char)* element) nothrow tcl_AppendElement;
712 	extern(C) void function(Tcl_Interp* interp, ...) nothrow tcl_AppendResult;
713 	extern(C) Tcl_AsyncHandler function(Tcl_AsyncProc proc, ClientData clientData) nothrow tcl_AsyncCreate;
714 	extern(C) void function(Tcl_AsyncHandler async) nothrow tcl_AsyncDelete;
715 	extern(C) int function(Tcl_Interp* interp, int code) nothrow tcl_AsyncInvoke;
716 	extern(C) void function(Tcl_AsyncHandler async) nothrow tcl_AsyncMark;
717 	extern(C) int function() nothrow tcl_AsyncReady;
718 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_BackgroundError;
719 	extern(C) char function(const(char)* src, int* readPtr) nothrow tcl_Backslash;
720 	extern(C) int function(Tcl_Interp* interp, const(char)* optionName, const(char)* optionList) nothrow tcl_BadChannelOption;
721 	extern(C) void function(Tcl_Interp* interp, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow tcl_CallWhenDeleted;
722 	extern(C) void function(Tcl_IdleProc idleProc, ClientData clientData) nothrow tcl_CancelIdleCall;
723 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel chan) nothrow tcl_Close;
724 	extern(C) int function(const(char)* cmd) nothrow tcl_CommandComplete;
725 	extern(C) const(char)* function(int argc, const(char)** argv) nothrow tcl_Concat;
726 	extern(C) int function(const(char)* src, const(char)* dst, int flags) nothrow tcl_ConvertElement;
727 	extern(C) int function(const(char)* src, int length, const(char)* dst, int flags) nothrow tcl_ConvertCountedElement;
728 	extern(C) int function(Tcl_Interp* slave, const(char)* slaveCmd, Tcl_Interp* target, const(char)* targetCmd, int argc, const(char)** argv) nothrow tcl_CreateAlias;
729 	extern(C) int function(Tcl_Interp* slave, const(char)* slaveCmd, Tcl_Interp* target, const(char)* targetCmd, int objc, const(Tcl_Obj*)* objv) nothrow tcl_CreateAliasObj;
730 	extern(C) Tcl_Channel function(Tcl_ChannelType* typePtr, const(char)* chanName, ClientData instanceData, int mask) nothrow tcl_CreateChannel;
731 	extern(C) void function(Tcl_Channel chan, int mask, Tcl_ChannelProc proc, ClientData clientData) nothrow tcl_CreateChannelHandler;
732 	extern(C) void function(Tcl_Channel chan, Tcl_CloseProc proc, ClientData clientData) nothrow tcl_CreateCloseHandler;
733 	extern(C) Tcl_Command function(Tcl_Interp* interp, const(char)* cmdName, Tcl_CmdProc proc, ClientData clientData, Tcl_CmdDeleteProc deleteProc) nothrow tcl_CreateCommand;
734 	extern(C) void function(Tcl_EventSetupProc setupProc, Tcl_EventCheckProc checkProc, ClientData clientData) nothrow tcl_CreateEventSource;
735 	extern(C) void function(Tcl_ExitProc proc, ClientData clientData) nothrow tcl_CreateExitHandler;
736 	extern(C) Tcl_Interp* function() nothrow tcl_CreateInterp;
737 	extern(C) void function(Tcl_Interp* interp, const(char)* name, int numArgs, Tcl_ValueType* argTypes, Tcl_MathProc proc, ClientData clientData) nothrow tcl_CreateMathFunc;
738 	extern(C) Tcl_Command function(Tcl_Interp* interp, const(char)* cmdName, Tcl_ObjCmdProc proc, ClientData clientData, Tcl_CmdDeleteProc deleteProc) nothrow tcl_CreateObjCommand;
739 	extern(C) Tcl_Interp* function(Tcl_Interp* interp, const(char)* slaveName, int isSafe) nothrow tcl_CreateSlave;
740 	extern(C) Tcl_TimerToken function(int milliseconds, Tcl_TimerProc proc, ClientData clientData) nothrow tcl_CreateTimerHandler;
741 	extern(C) Tcl_Trace function(Tcl_Interp* interp, int level, Tcl_CmdTraceProc proc, ClientData clientData) nothrow tcl_CreateTrace;
742 	extern(C) void function(Tcl_Interp* interp, const(char)* name) nothrow tcl_DeleteAssocData;
743 	extern(C) void function(Tcl_Channel chan, Tcl_ChannelProc proc, ClientData clientData) nothrow tcl_DeleteChannelHandler;
744 	extern(C) void function(Tcl_Channel chan, Tcl_CloseProc proc, ClientData clientData) nothrow tcl_DeleteCloseHandler;
745 	extern(C) int function(Tcl_Interp* interp, const(char)* cmdName) nothrow tcl_DeleteCommand;
746 	extern(C) int function(Tcl_Interp* interp, Tcl_Command command) nothrow tcl_DeleteCommandFromToken;
747 	extern(C) void function(Tcl_EventDeleteProc proc, ClientData clientData) nothrow tcl_DeleteEvents;
748 	extern(C) void function(Tcl_EventSetupProc setupProc, Tcl_EventCheckProc checkProc, ClientData clientData) nothrow tcl_DeleteEventSource;
749 	extern(C) void function(Tcl_ExitProc proc, ClientData clientData) nothrow tcl_DeleteExitHandler;
750 	extern(C) void function(Tcl_HashEntry* entryPtr) nothrow tcl_DeleteHashEntry;
751 	extern(C) void function(Tcl_HashTable* tablePtr) nothrow tcl_DeleteHashTable;
752 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_DeleteInterp;
753 	extern(C) void function(int numPids, Tcl_Pid* pidPtr) nothrow tcl_DetachPids;
754 	extern(C) void function(Tcl_TimerToken token) nothrow tcl_DeleteTimerHandler;
755 	extern(C) void function(Tcl_Interp* interp, Tcl_Trace trace) nothrow tcl_DeleteTrace;
756 	extern(C) void function(Tcl_Interp* interp, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow tcl_DontCallWhenDeleted;
757 	extern(C) int function(int flags) nothrow tcl_DoOneEvent;
758 	extern(C) void function(Tcl_IdleProc proc, ClientData clientData) nothrow tcl_DoWhenIdle;
759 	extern(C) const(char)* function(Tcl_DString* dsPtr, const(char)* bytes, int length) nothrow tcl_DStringAppend;
760 	extern(C) const(char)* function(Tcl_DString* dsPtr, const(char)* element) nothrow tcl_DStringAppendElement;
761 	extern(C) void function(Tcl_DString* dsPtr) nothrow tcl_DStringEndSublist;
762 	extern(C) void function(Tcl_DString* dsPtr) nothrow tcl_DStringFree;
763 	extern(C) void function(Tcl_Interp* interp, Tcl_DString* dsPtr) nothrow tcl_DStringGetResult;
764 	extern(C) void function(Tcl_DString* dsPtr) nothrow tcl_DStringInit;
765 	extern(C) void function(Tcl_Interp* interp, Tcl_DString* dsPtr) nothrow tcl_DStringResult;
766 	extern(C) void function(Tcl_DString* dsPtr, int length) nothrow tcl_DStringSetLength;
767 	extern(C) void function(Tcl_DString* dsPtr) nothrow tcl_DStringStartSublist;
768 	extern(C) int function(Tcl_Channel chan) nothrow tcl_Eof;
769 	extern(C) const(char)* function() nothrow tcl_ErrnoId;
770 	extern(C) const(char)* function(int err) nothrow tcl_ErrnoMsg;
771 	extern(C) int function(Tcl_Interp* interp, const(char)* script) nothrow tcl_Eval;
772 	extern(C) int function(Tcl_Interp* interp, const(char)* fileName) nothrow tcl_EvalFile;
773 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow tcl_EvalObj;
774 	extern(C) void function(ClientData clientData, Tcl_FreeProc freeProc) nothrow tcl_EventuallyFree;
775 	extern(C) void function(int status) nothrow tcl_Exit;
776 	extern(C) int function(Tcl_Interp* interp, const(char)* hiddenCmdToken, const(char)* cmdName) nothrow tcl_ExposeCommand;
777 	extern(C) int function(Tcl_Interp* interp, const(char)* expr, int* ptr) nothrow tcl_ExprBoolean;
778 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, int* ptr) nothrow tcl_ExprBooleanObj;
779 	extern(C) int function(Tcl_Interp* interp, const(char)* expr, double* ptr) nothrow tcl_ExprDouble;
780 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, double* ptr) nothrow tcl_ExprDoubleObj;
781 	extern(C) int function(Tcl_Interp* interp, const(char)* expr, c_long* ptr) nothrow tcl_ExprLong;
782 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, c_long* ptr) nothrow tcl_ExprLongObj;
783 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_Obj** resultPtrPtr) nothrow tcl_ExprObj;
784 	extern(C) int function(Tcl_Interp* interp, const(char)* expr) nothrow tcl_ExprString;
785 	extern(C) void function() nothrow tcl_Finalize;
786 	extern(C) void function(const(char)* argv0) nothrow tcl_FindExecutable;
787 	extern(C) Tcl_HashEntry* function(Tcl_HashTable* tablePtr, Tcl_HashSearch* searchPtr) nothrow tcl_FirstHashEntry;
788 	extern(C) int function(Tcl_Channel chan) nothrow tcl_Flush;
789 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_FreeResult;
790 	extern(C) int function(Tcl_Interp* interp, const(char)* slaveCmd, Tcl_Interp** targetInterpPtr, const(char)** targetCmdPtr, int* argcPtr, const(char)*** argvPtr) nothrow tcl_GetAlias;
791 	extern(C) int function(Tcl_Interp* interp, const(char)* slaveCmd, Tcl_Interp** targetInterpPtr, const(char)** targetCmdPtr, int* objcPtr, Tcl_Obj*** objv) nothrow tcl_GetAliasObj;
792 	extern(C) ClientData function(Tcl_Interp* interp, const(char)* name, Tcl_InterpDeleteProc* procPtr) nothrow tcl_GetAssocData;
793 	extern(C) Tcl_Channel function(Tcl_Interp* interp, const(char)* chanName, int* modePtr) nothrow tcl_GetChannel;
794 	extern(C) int function(Tcl_Channel chan) nothrow tcl_GetChannelBufferSize;
795 	extern(C) int function(Tcl_Channel chan, int direction, ClientData* handlePtr) nothrow tcl_GetChannelHandle;
796 	extern(C) ClientData function(Tcl_Channel chan) nothrow tcl_GetChannelInstanceData;
797 	extern(C) int function(Tcl_Channel chan) nothrow tcl_GetChannelMode;
798 	extern(C) const(char)* function(Tcl_Channel chan) nothrow tcl_GetChannelName;
799 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel chan, const(char)* optionName, Tcl_DString* dsPtr) nothrow tcl_GetChannelOption;
800 	extern(C) Tcl_ChannelType* function(Tcl_Channel chan) nothrow tcl_GetChannelType;
801 	extern(C) int function(Tcl_Interp* interp, const(char)* cmdName, Tcl_CmdInfo* infoPtr) nothrow tcl_GetCommandInfo;
802 	extern(C) const(char)* function(Tcl_Interp* interp, Tcl_Command command) nothrow tcl_GetCommandName;
803 	extern(C) int function() nothrow tcl_GetErrno;
804 	extern(C) const(char)* function() nothrow tcl_GetHostName;
805 	extern(C) int function(Tcl_Interp* askInterp, Tcl_Interp* slaveInterp) nothrow tcl_GetInterpPath;
806 	extern(C) Tcl_Interp* function(Tcl_Interp* interp) nothrow tcl_GetMaster;
807 	extern(C) const(char)* function() nothrow tcl_GetNameOfExecutable;
808 	extern(C) Tcl_Obj* function(Tcl_Interp* interp) nothrow tcl_GetObjResult;
809 
810 	version(Posix)
811 	{
812 		extern(C) int function(Tcl_Interp* interp, const(char)* chanID, int forWriting, int checkUsage, ClientData* filePtr) nothrow tcl_GetOpenFile;
813 	}
814 	else
815 	{
816 		void* reserved167;
817 	}
818 
819 	extern(C) Tcl_PathType function(const(char)* path) nothrow tcl_GetPathType;
820 	extern(C) int function(Tcl_Channel chan, Tcl_DString* dsPtr) nothrow tcl_Gets;
821 	extern(C) int function(Tcl_Channel chan, Tcl_Obj* objPtr) nothrow tcl_GetsObj;
822 	extern(C) int function() nothrow tcl_GetServiceMode;
823 	extern(C) Tcl_Interp* function(Tcl_Interp* interp, const(char)* slaveName) nothrow tcl_GetSlave;
824 	extern(C) Tcl_Channel function(int type) nothrow tcl_GetStdChannel;
825 	extern(C) const(char)* function(Tcl_Interp* interp) nothrow tcl_GetStringResult;
826 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* varName, int flags) nothrow tcl_GetVar;
827 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow tcl_GetVar2;
828 	extern(C) int function(Tcl_Interp* interp, const(char)* command) nothrow tcl_GlobalEval;
829 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow tcl_GlobalEvalObj;
830 	extern(C) int function(Tcl_Interp* interp, const(char)* cmdName, const(char)* hiddenCmdToken) nothrow tcl_HideCommand;
831 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_Init;
832 	extern(C) void function(Tcl_HashTable* tablePtr, int keyType) nothrow tcl_InitHashTable;
833 	extern(C) int function(Tcl_Channel chan) nothrow tcl_InputBlocked;
834 	extern(C) int function(Tcl_Channel chan) nothrow tcl_InputBuffered;
835 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_InterpDeleted;
836 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_IsSafe;
837 	extern(C) const(char)* function(int argc, const(char)** argv, Tcl_DString* resultPtr) nothrow tcl_JoinPath;
838 	extern(C) int function(Tcl_Interp* interp, const(char)* varName, const(char)* addr, int type) nothrow tcl_LinkVar;
839 	void* reserved188;
840 	extern(C) Tcl_Channel function(ClientData handle, int mode) nothrow tcl_MakeFileChannel;
841 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_MakeSafe;
842 	extern(C) Tcl_Channel function(ClientData tcpSocket) nothrow tcl_MakeTcpClientChannel;
843 	extern(C) const(char)* function(int argc, const(char)** argv) nothrow tcl_Merge;
844 	extern(C) Tcl_HashEntry* function(Tcl_HashSearch* searchPtr) nothrow tcl_NextHashEntry;
845 	extern(C) void function(Tcl_Channel channel, int mask) nothrow tcl_NotifyChannel;
846 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Obj* part1Ptr, Tcl_Obj* part2Ptr, int flags) nothrow tcl_ObjGetVar2;
847 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Obj* part1Ptr, Tcl_Obj* part2Ptr, Tcl_Obj* newValuePtr, int flags) nothrow tcl_ObjSetVar2;
848 	extern(C) Tcl_Channel function(Tcl_Interp* interp, int argc, const(char)** argv, int flags) nothrow tcl_OpenCommandChannel;
849 	extern(C) Tcl_Channel function(Tcl_Interp* interp, const(char)* fileName, const(char)* modeString, int permissions) nothrow tcl_OpenFileChannel;
850 	extern(C) Tcl_Channel function(Tcl_Interp* interp, int port, const(char)* address, const(char)* myaddr, int myport, int async) nothrow tcl_OpenTcpClient;
851 	extern(C) Tcl_Channel function(Tcl_Interp* interp, int port, const(char)* host, Tcl_TcpAcceptProc acceptProc, ClientData callbackData) nothrow tcl_OpenTcpServer;
852 	extern(C) void function(ClientData data) nothrow tcl_Preserve;
853 	extern(C) void function(Tcl_Interp* interp, double value, const(char)* dst) nothrow tcl_PrintDouble;
854 	extern(C) int function(const(char)* assignment) nothrow tcl_PutEnv;
855 	extern(C) const(char)* function(Tcl_Interp* interp) nothrow tcl_PosixError;
856 	extern(C) void function(Tcl_Event* evPtr, Tcl_QueuePosition position) nothrow tcl_QueueEvent;
857 	extern(C) int function(Tcl_Channel chan, const(char)* bufPtr, int toRead) nothrow tcl_Read;
858 	extern(C) void function() nothrow tcl_ReapDetachedProcs;
859 	extern(C) int function(Tcl_Interp* interp, const(char)* cmd, int flags) nothrow tcl_RecordAndEval;
860 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* cmdPtr, int flags) nothrow tcl_RecordAndEvalObj;
861 	extern(C) void function(Tcl_Interp* interp, Tcl_Channel chan) nothrow tcl_RegisterChannel;
862 	extern(C) void function(Tcl_ObjType* typePtr) nothrow tcl_RegisterObjType;
863 	extern(C) Tcl_RegExp function(Tcl_Interp* interp, const(char)* pattern) nothrow tcl_RegExpCompile;
864 	extern(C) int function(Tcl_Interp* interp, Tcl_RegExp regexp, const(char)* text, const(char)* start) nothrow tcl_RegExpExec;
865 	extern(C) int function(Tcl_Interp* interp, const(char)* text, const(char)* pattern) nothrow tcl_RegExpMatch;
866 	extern(C) void function(Tcl_RegExp regexp, int index, const(char)** startPtr, const(char)** endPtr) nothrow tcl_RegExpRange;
867 	extern(C) void function(ClientData clientData) nothrow tcl_Release;
868 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_ResetResult;
869 	extern(C) int function(const(char)* src, int* flagPtr) nothrow tcl_ScanElement;
870 	extern(C) int function(const(char)* src, int length, int* flagPtr) nothrow tcl_ScanCountedElement;
871 	extern(C) int function(Tcl_Channel chan, int offset, int mode) nothrow tcl_SeekOld;
872 	extern(C) int function() nothrow tcl_ServiceAll;
873 	extern(C) int function(int flags) nothrow tcl_ServiceEvent;
874 	extern(C) void function(Tcl_Interp* interp, const(char)* name, Tcl_InterpDeleteProc proc, ClientData clientData) nothrow tcl_SetAssocData;
875 	extern(C) void function(Tcl_Channel chan, int sz) nothrow tcl_SetChannelBufferSize;
876 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel chan, const(char)* optionName, const(char)* newValue) nothrow tcl_SetChannelOption;
877 	extern(C) int function(Tcl_Interp* interp, const(char)* cmdName, const(Tcl_CmdInfo)* infoPtr) nothrow tcl_SetCommandInfo;
878 	extern(C) void function(int err) nothrow tcl_SetErrno;
879 	extern(C) void function(Tcl_Interp* interp, ...) nothrow tcl_SetErrorCode;
880 	extern(C) void function(Tcl_Time* timePtr) nothrow tcl_SetMaxBlockTime;
881 	extern(C) void function(Tcl_PanicProc panicProc) nothrow tcl_SetPanicProc;
882 	extern(C) int function(Tcl_Interp* interp, int depth) nothrow tcl_SetRecursionLimit;
883 	extern(C) void function(Tcl_Interp* interp, const(char)* result, Tcl_FreeProc freeProc) nothrow tcl_SetResult;
884 	extern(C) int function(int mode) nothrow tcl_SetServiceMode;
885 	extern(C) void function(Tcl_Interp* interp, Tcl_Obj* errorObjPtr) nothrow tcl_SetObjErrorCode;
886 	extern(C) void function(Tcl_Interp* interp, Tcl_Obj* resultObjPtr) nothrow tcl_SetObjResult;
887 	extern(C) void function(Tcl_Channel channel, int type) nothrow tcl_SetStdChannel;
888 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* varName, const(char)* newValue, int flags) nothrow tcl_SetVar;
889 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, const(char)* newValue, int flags) nothrow tcl_SetVar2;
890 	extern(C) const(char)* function(int sig) nothrow tcl_SignalId;
891 	extern(C) const(char)* function(int sig) nothrow tcl_SignalMsg;
892 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_SourceRCFile;
893 	extern(C) int function(Tcl_Interp* interp, const(char)* listStr, int* argcPtr, const(char)*** argvPtr) nothrow tcl_SplitList;
894 	extern(C) void function(const(char)* path, int* argcPtr, const(char)*** argvPtr) nothrow tcl_SplitPath;
895 	extern(C) void function(Tcl_Interp* interp, const(char)* pkgName, Tcl_PackageInitProc initProc, Tcl_PackageInitProc safeInitProc) nothrow tcl_StaticPackage;
896 	extern(C) int function(const(char)* str, const(char)* pattern) nothrow tcl_StringMatch;
897 	extern(C) int function(Tcl_Channel chan) nothrow tcl_TellOld;
898 	extern(C) int function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow tcl_TraceVar;
899 	extern(C) int function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow tcl_TraceVar2;
900 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* name, Tcl_DString* bufferPtr) nothrow tcl_TranslateFileName;
901 	extern(C) int function(Tcl_Channel chan, const(char)* str, int len, int atHead) nothrow tcl_Ungets;
902 	extern(C) void function(Tcl_Interp* interp, const(char)* varName) nothrow tcl_UnlinkVar;
903 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel chan) nothrow tcl_UnregisterChannel;
904 	extern(C) int function(Tcl_Interp* interp, const(char)* varName, int flags) nothrow tcl_UnsetVar;
905 	extern(C) int function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow tcl_UnsetVar2;
906 	extern(C) void function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow tcl_UntraceVar;
907 	extern(C) void function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc proc, ClientData clientData) nothrow tcl_UntraceVar2;
908 	extern(C) void function(Tcl_Interp* interp, const(char)* varName) nothrow tcl_UpdateLinkedVar;
909 	extern(C) int function(Tcl_Interp* interp, const(char)* frameName, const(char)* varName, const(char)* localName, int flags) nothrow tcl_UpVar;
910 	extern(C) int function(Tcl_Interp* interp, const(char)* frameName, const(char)* part1, const(char)* part2, const(char)* localName, int flags) nothrow tcl_UpVar2;
911 	extern(C) int function(Tcl_Interp* interp, ...) nothrow tcl_VarEval;
912 	extern(C) ClientData function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_VarTraceProc procPtr, ClientData prevClientData) nothrow tcl_VarTraceInfo;
913 	extern(C) ClientData function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags, Tcl_VarTraceProc procPtr, ClientData prevClientData) nothrow tcl_VarTraceInfo2;
914 	extern(C) int function(Tcl_Channel chan, const(char)* s, int slen) nothrow tcl_Write;
915 	extern(C) void function(Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv, const(char)* message) nothrow tcl_WrongNumArgs;
916 	extern(C) int function(const(char)* fileName) nothrow tcl_DumpActiveMemory;
917 	extern(C) void function(const(char)* file, int line) nothrow tcl_ValidateAllMemory;
918 	extern(C) void function(Tcl_Interp* interp, va_list argList) nothrow tcl_AppendResultVA;
919 	extern(C) void function(Tcl_Obj* objPtr, va_list argList) nothrow tcl_AppendStringsToObjVA;
920 	extern(C) const(char)* function(Tcl_HashTable* tablePtr) nothrow tcl_HashStats;
921 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* start, const(char)** termPtr) nothrow tcl_ParseVar;
922 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact) nothrow tcl_PkgPresent;
923 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact, ClientData* clientDataPtr) nothrow tcl_PkgPresentEx;
924 	extern(C) int function(Tcl_Interp* interp, const(char)* name, const(char)* version_) nothrow tcl_PkgProvide;
925 	extern(C) const(char)* function(Tcl_Interp* interp, const(char)* name, const(char)* version_, int exact) nothrow tcl_PkgRequire;
926 	extern(C) void function(Tcl_Interp* interp, va_list argList) nothrow tcl_SetErrorCodeVA;
927 	extern(C) int function(Tcl_Interp* interp, va_list argList) nothrow tcl_VarEvalVA;
928 	extern(C) Tcl_Pid function(Tcl_Pid pid, int* statPtr, int options) nothrow tcl_WaitPid;
929 	extern(C) void function(const(char)* format, va_list argList) nothrow tcl_PanicVA;
930 	extern(C) void function(int* major, int* minor, int* patchLevel, int* type) nothrow tcl_GetVersion;
931 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_InitMemory;
932 	extern(C) Tcl_Channel function(Tcl_Interp* interp, Tcl_ChannelType* typePtr, ClientData instanceData, int mask, Tcl_Channel prevChan) nothrow tcl_StackChannel;
933 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel chan) nothrow tcl_UnstackChannel;
934 	extern(C) Tcl_Channel function(Tcl_Channel chan) nothrow tcl_GetStackedChannel;
935 	extern(C) void function(Tcl_MainLoopProc proc) nothrow tcl_SetMainLoop;
936 	void* reserved285;
937 	extern(C) void function(Tcl_Obj* objPtr, Tcl_Obj* appendObjPtr) nothrow tcl_AppendObjToObj;
938 	extern(C) Tcl_Encoding function(const(Tcl_EncodingType)* typePtr) nothrow tcl_CreateEncoding;
939 	extern(C) void function(Tcl_ExitProc proc, ClientData clientData) nothrow tcl_CreateThreadExitHandler;
940 	extern(C) void function(Tcl_ExitProc proc, ClientData clientData) nothrow tcl_DeleteThreadExitHandler;
941 	extern(C) void function(Tcl_SavedResult* statePtr) nothrow tcl_DiscardResult;
942 	extern(C) int function(Tcl_Interp* interp, const(char)* script, int numBytes, int flags) nothrow tcl_EvalEx;
943 	extern(C) int function(Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv, int flags) nothrow tcl_EvalObjv;
944 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, int flags) nothrow tcl_EvalObjEx;
945 	extern(C) void function(int status) nothrow tcl_ExitThread;
946 	extern(C) int function(Tcl_Interp* interp, Tcl_Encoding encoding, const(char)* src, int srcLen, int flags, Tcl_EncodingState* statePtr, const(char)* dst, int dstLen, int* srcReadPtr, int* dstWrotePtr, int* dstCharsPtr) nothrow tcl_ExternalToUtf;
947 	extern(C) const(char)* function(Tcl_Encoding encoding, const(char)* src, int srcLen, Tcl_DString* dsPtr) nothrow tcl_ExternalToUtfDString;
948 	extern(C) void function() nothrow tcl_FinalizeThread;
949 	extern(C) void function(ClientData clientData) nothrow tcl_FinalizeNotifier;
950 	extern(C) void function(Tcl_Encoding encoding) nothrow tcl_FreeEncoding;
951 	extern(C) Tcl_ThreadId function() nothrow tcl_GetCurrentThread;
952 	extern(C) Tcl_Encoding function(Tcl_Interp* interp, const(char)* name) nothrow tcl_GetEncoding;
953 	extern(C) const(char)* function(Tcl_Encoding encoding) nothrow tcl_GetEncodingName;
954 	extern(C) void function(Tcl_Interp* interp) nothrow tcl_GetEncodingNames;
955 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, const(void)* tablePtr, int offset, const(char)* msg, int flags, int* indexPtr) nothrow tcl_GetIndexFromObjStruct;
956 	extern(C) void* function(Tcl_ThreadDataKey* keyPtr, int size) nothrow tcl_GetThreadData;
957 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, int flags) nothrow tcl_GetVar2Ex;
958 	extern(C) ClientData function() nothrow tcl_InitNotifier;
959 	extern(C) void function(Tcl_Mutex* mutexPtr) nothrow tcl_MutexLock;
960 	extern(C) void function(Tcl_Mutex* mutexPtr) nothrow tcl_MutexUnlock;
961 	extern(C) void function(Tcl_Condition* condPtr) nothrow tcl_ConditionNotify;
962 	extern(C) void function(Tcl_Condition* condPtr, Tcl_Mutex* mutexPtr, Tcl_Time* timePtr) nothrow tcl_ConditionWait;
963 	extern(C) int function(const(char)* src, int length) nothrow tcl_NumUtfChars;
964 	extern(C) int function(Tcl_Channel channel, Tcl_Obj* objPtr, int charsToRead, int appendFlag) nothrow tcl_ReadChars;
965 	extern(C) void function(Tcl_Interp* interp, Tcl_SavedResult* statePtr) nothrow tcl_RestoreResult;
966 	extern(C) void function(Tcl_Interp* interp, Tcl_SavedResult* statePtr) nothrow tcl_SaveResult;
967 	extern(C) int function(Tcl_Interp* interp, const(char)* name) nothrow tcl_SetSystemEncoding;
968 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, const(char)* part1, const(char)* part2, Tcl_Obj* newValuePtr, int flags) nothrow tcl_SetVar2Ex;
969 	extern(C) void function(Tcl_ThreadId threadId) nothrow tcl_ThreadAlert;
970 	extern(C) void function(Tcl_ThreadId threadId, Tcl_Event* evPtr, Tcl_QueuePosition position) nothrow tcl_ThreadQueueEvent;
971 	extern(C) Tcl_UniChar function(const(char)* src, int index) nothrow tcl_UniCharAtIndex;
972 	extern(C) Tcl_UniChar function(int ch) nothrow tcl_UniCharToLower;
973 	extern(C) Tcl_UniChar function(int ch) nothrow tcl_UniCharToTitle;
974 	extern(C) Tcl_UniChar function(int ch) nothrow tcl_UniCharToUpper;
975 	extern(C) int function(int ch, const(char)* buf) nothrow tcl_UniCharToUtf;
976 	extern(C) const(char)* function(const(char)* src, int index) nothrow tcl_UtfAtIndex;
977 	extern(C) int function(const(char)* src, int length) nothrow tcl_UtfCharComplete;
978 	extern(C) int function(const(char)* src, int* readPtr, const(char)* dst) nothrow tcl_UtfBackslash;
979 	extern(C) const(char)* function(const(char)* src, int ch) nothrow tcl_UtfFindFirst;
980 	extern(C) const(char)* function(const(char)* src, int ch) nothrow tcl_UtfFindLast;
981 	extern(C) const(char)* function(const(char)* src) nothrow tcl_UtfNext;
982 	extern(C) const(char)* function(const(char)* src, const(char)* start) nothrow tcl_UtfPrev;
983 	extern(C) int function(Tcl_Interp* interp, Tcl_Encoding encoding, const(char)* src, int srcLen, int flags, Tcl_EncodingState* statePtr, const(char)* dst, int dstLen, int* srcReadPtr, int* dstWrotePtr, int* dstCharsPtr) nothrow tcl_UtfToExternal;
984 	extern(C) const(char)* function(Tcl_Encoding encoding, const(char)* src, int srcLen, Tcl_DString* dsPtr) nothrow tcl_UtfToExternalDString;
985 	extern(C) int function(const(char)* src) nothrow tcl_UtfToLower;
986 	extern(C) int function(const(char)* src) nothrow tcl_UtfToTitle;
987 	extern(C) int function(const(char)* src, Tcl_UniChar* chPtr) nothrow tcl_UtfToUniChar;
988 	extern(C) int function(const(char)* src) nothrow tcl_UtfToUpper;
989 	extern(C) int function(Tcl_Channel chan, const(char)* src, int srcLen) nothrow tcl_WriteChars;
990 	extern(C) int function(Tcl_Channel chan, Tcl_Obj* objPtr) nothrow tcl_WriteObj;
991 	extern(C) const(char)* function(Tcl_Obj* objPtr) nothrow tcl_GetString;
992 	extern(C) const(char)* function() nothrow tcl_GetDefaultEncodingDir;
993 	extern(C) void function(const(char)* path) nothrow tcl_SetDefaultEncodingDir;
994 	extern(C) void function(ClientData clientData) nothrow tcl_AlertNotifier;
995 	extern(C) void function(int mode) nothrow tcl_ServiceModeHook;
996 	extern(C) int function(int ch) nothrow tcl_UniCharIsAlnum;
997 	extern(C) int function(int ch) nothrow tcl_UniCharIsAlpha;
998 	extern(C) int function(int ch) nothrow tcl_UniCharIsDigit;
999 	extern(C) int function(int ch) nothrow tcl_UniCharIsLower;
1000 	extern(C) int function(int ch) nothrow tcl_UniCharIsSpace;
1001 	extern(C) int function(int ch) nothrow tcl_UniCharIsUpper;
1002 	extern(C) int function(int ch) nothrow tcl_UniCharIsWordChar;
1003 	extern(C) int function(const(Tcl_UniChar)* uniStr) nothrow tcl_UniCharLen;
1004 	extern(C) int function(const(Tcl_UniChar)* ucs, const(Tcl_UniChar)* uct, c_ulong numChars) nothrow tcl_UniCharNcmp;
1005 	extern(C) const(char)* function(const(Tcl_UniChar)* uniStr, int uniLength, Tcl_DString* dsPtr) nothrow tcl_UniCharToUtfDString;
1006 	extern(C) Tcl_UniChar* function(const(char)* src, int length, Tcl_DString* dsPtr) nothrow tcl_UtfToUniCharDString;
1007 	extern(C) Tcl_RegExp function(Tcl_Interp* interp, Tcl_Obj* patObj, int flags) nothrow tcl_GetRegExpFromObj;
1008 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Token* tokenPtr, int count) nothrow tcl_EvalTokens;
1009 	extern(C) void function(Tcl_Parse* parsePtr) nothrow tcl_FreeParse;
1010 	extern(C) void function(Tcl_Interp* interp, const(char)* script, const(char)* command, int length) nothrow tcl_LogCommandInfo;
1011 	extern(C) int function(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append, const(char)** termPtr) nothrow tcl_ParseBraces;
1012 	extern(C) int function(Tcl_Interp* interp, const(char)* start, int numBytes, int nested, Tcl_Parse* parsePtr) nothrow tcl_ParseCommand;
1013 	extern(C) int function(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr) nothrow tcl_ParseExpr;
1014 	extern(C) int function(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append, const(char)** termPtr) nothrow tcl_ParseQuotedString;
1015 	extern(C) int function(Tcl_Interp* interp, const(char)* start, int numBytes, Tcl_Parse* parsePtr, int append) nothrow tcl_ParseVarName;
1016 	extern(C) const(char)* function(Tcl_Interp* interp, Tcl_DString* cwdPtr) nothrow tcl_GetCwd;
1017 	extern(C) int function(const(char)* dirName) nothrow tcl_Chdir;
1018 	extern(C) int function(const(char)* path, int mode) nothrow tcl_Access;
1019 	extern(C) int function(const(char)* path, Tcl_StatBuf* bufPtr) nothrow tcl_Stat;
1020 	extern(C) int function(const(char)* s1, const(char)* s2, c_ulong n) nothrow tcl_UtfNcmp;
1021 	extern(C) int function(const(char)* s1, const(char)* s2, c_ulong n) nothrow tcl_UtfNcasecmp;
1022 	extern(C) int function(const(char)* str, const(char)* pattern, int nocase) nothrow tcl_StringCaseMatch;
1023 	extern(C) int function(int ch) nothrow tcl_UniCharIsControl;
1024 	extern(C) int function(int ch) nothrow tcl_UniCharIsGraph;
1025 	extern(C) int function(int ch) nothrow tcl_UniCharIsPrint;
1026 	extern(C) int function(int ch) nothrow tcl_UniCharIsPunct;
1027 	extern(C) int function(Tcl_Interp* interp, Tcl_RegExp regexp, Tcl_Obj* textObj, int offset, int nmatches, int flags) nothrow tcl_RegExpExecObj;
1028 	extern(C) void function(Tcl_RegExp regexp, Tcl_RegExpInfo* infoPtr) nothrow tcl_RegExpGetInfo;
1029 	extern(C) Tcl_Obj* function(const(Tcl_UniChar)* unicode, int numChars) nothrow tcl_NewUnicodeObj;
1030 	extern(C) void function(Tcl_Obj* objPtr, const(Tcl_UniChar)* unicode, int numChars) nothrow tcl_SetUnicodeObj;
1031 	extern(C) int function(Tcl_Obj* objPtr) nothrow tcl_GetCharLength;
1032 	extern(C) Tcl_UniChar function(Tcl_Obj* objPtr, int index) nothrow tcl_GetUniChar;
1033 	extern(C) Tcl_UniChar* function(Tcl_Obj* objPtr) nothrow tcl_GetUnicode;
1034 	extern(C) Tcl_Obj* function(Tcl_Obj* objPtr, int first, int last) nothrow tcl_GetRange;
1035 	extern(C) void function(Tcl_Obj* objPtr, const(Tcl_UniChar)* unicode, int length) nothrow tcl_AppendUnicodeToObj;
1036 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* textObj, Tcl_Obj* patternObj) nothrow tcl_RegExpMatchObj;
1037 	extern(C) void function(Tcl_NotifierProcs notifierProcPtr) nothrow tcl_SetNotifier;
1038 	extern(C) Tcl_Mutex* function() nothrow tcl_GetAllocMutex;
1039 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_GetChannelNames;
1040 	extern(C) int function(Tcl_Interp* interp, const(char)* pattern) nothrow tcl_GetChannelNamesEx;
1041 	extern(C) int function(ClientData clientData, Tcl_Interp* interp, int objc, const(Tcl_Obj*)* objv) nothrow tcl_ProcObjCmd;
1042 	extern(C) void function(Tcl_Condition* condPtr) nothrow tcl_ConditionFinalize;
1043 	extern(C) void function(Tcl_Mutex* mutex) nothrow tcl_MutexFinalize;
1044 	extern(C) int function(Tcl_ThreadId* idPtr, Tcl_ThreadCreateProc proc, ClientData clientData, int stackSize, int flags) nothrow tcl_CreateThread;
1045 	extern(C) int function(Tcl_Channel chan, const(char)* dst, int bytesToRead) nothrow tcl_ReadRaw;
1046 	extern(C) int function(Tcl_Channel chan, const(char)* src, int srcLen) nothrow tcl_WriteRaw;
1047 	extern(C) Tcl_Channel function(Tcl_Channel chan) nothrow tcl_GetTopChannel;
1048 	extern(C) int function(Tcl_Channel chan) nothrow tcl_ChannelBuffered;
1049 	extern(C) const(char)* function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelName;
1050 	extern(C) Tcl_ChannelTypeVersion function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelVersion;
1051 	extern(C) Tcl_DriverBlockModeProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelBlockModeProc;
1052 	extern(C) Tcl_DriverCloseProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelCloseProc;
1053 	extern(C) Tcl_DriverClose2Proc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelClose2Proc;
1054 	extern(C) Tcl_DriverInputProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelInputProc;
1055 	extern(C) Tcl_DriverOutputProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelOutputProc;
1056 	extern(C) Tcl_DriverSeekProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelSeekProc;
1057 	extern(C) Tcl_DriverSetOptionProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelSetOptionProc;
1058 	extern(C) Tcl_DriverGetOptionProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelGetOptionProc;
1059 	extern(C) Tcl_DriverWatchProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelWatchProc;
1060 	extern(C) Tcl_DriverGetHandleProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelGetHandleProc;
1061 	extern(C) Tcl_DriverFlushProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelFlushProc;
1062 	extern(C) Tcl_DriverHandlerProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelHandlerProc;
1063 	extern(C) int function(Tcl_ThreadId threadId, int* result) nothrow tcl_JoinThread;
1064 	extern(C) int function(Tcl_Channel channel) nothrow tcl_IsChannelShared;
1065 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel channel) nothrow tcl_IsChannelRegistered;
1066 	extern(C) void function(Tcl_Channel channel) nothrow tcl_CutChannel;
1067 	extern(C) void function(Tcl_Channel channel) nothrow tcl_SpliceChannel;
1068 	extern(C) void function(Tcl_Channel channel) nothrow tcl_ClearChannelHandlers;
1069 	extern(C) int function(const(char)* channelName) nothrow tcl_IsChannelExisting;
1070 	extern(C) int function(const(Tcl_UniChar)* ucs, const(Tcl_UniChar)* uct, c_ulong numChars) nothrow tcl_UniCharNcasecmp;
1071 	extern(C) int function(const(Tcl_UniChar)* uniStr, const(Tcl_UniChar)* uniPattern, int nocase) nothrow tcl_UniCharCaseMatch;
1072 	extern(C) Tcl_HashEntry* function(Tcl_HashTable* tablePtr, const(char)* key) nothrow tcl_FindHashEntry;
1073 	extern(C) Tcl_HashEntry* function(Tcl_HashTable* tablePtr, const(char)* key, int* newPtr) nothrow tcl_CreateHashEntry;
1074 	extern(C) void function(Tcl_HashTable* tablePtr, int keyType, Tcl_HashKeyType* typePtr) nothrow tcl_InitCustomHashTable;
1075 	extern(C) void function(Tcl_HashTable* tablePtr) nothrow tcl_InitObjHashTable;
1076 	extern(C) ClientData function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc procPtr, ClientData prevClientData) nothrow tcl_CommandTraceInfo;
1077 	extern(C) int function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc proc, ClientData clientData) nothrow tcl_TraceCommand;
1078 	extern(C) void function(Tcl_Interp* interp, const(char)* varName, int flags, Tcl_CommandTraceProc proc, ClientData clientData) nothrow tcl_UntraceCommand;
1079 	extern(C) const(char)* function(uint size) nothrow tcl_AttemptAlloc;
1080 	extern(C) const(char)* function(uint size, const(char)* file, int line) nothrow tcl_AttemptDbCkalloc;
1081 	extern(C) const(char)* function(const(char)* ptr, uint size) nothrow tcl_AttemptRealloc;
1082 	extern(C) const(char)* function(const(char)* ptr, uint size, const(char)* file, int line) nothrow tcl_AttemptDbCkrealloc;
1083 	extern(C) int function(Tcl_Obj* objPtr, int length) nothrow tcl_AttemptSetObjLength;
1084 	extern(C) Tcl_ThreadId function(Tcl_Channel channel) nothrow tcl_GetChannelThread;
1085 	extern(C) Tcl_UniChar* function(Tcl_Obj* objPtr, int* lengthPtr) nothrow tcl_GetUnicodeFromObj;
1086 	extern(C) int function(Tcl_Interp* interp, const(char)* name, int* numArgsPtr, Tcl_ValueType** argTypesPtr, Tcl_MathProc* procPtr, ClientData* clientDataPtr) nothrow tcl_GetMathFuncInfo;
1087 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, const(char)* pattern) nothrow tcl_ListMathFuncs;
1088 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Obj* objPtr, int flags) nothrow tcl_SubstObj;
1089 	extern(C) int function(Tcl_Interp* interp, Tcl_Channel channel) nothrow tcl_DetachChannel;
1090 	extern(C) int function(Tcl_Channel channel) nothrow tcl_IsStandardChannel;
1091 	extern(C) int function(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr) nothrow tcl_FSCopyFile;
1092 	extern(C) int function(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr, Tcl_Obj** errorPtr) nothrow tcl_FSCopyDirectory;
1093 	extern(C) int function(Tcl_Obj* pathPtr) nothrow tcl_FSCreateDirectory;
1094 	extern(C) int function(Tcl_Obj* pathPtr) nothrow tcl_FSDeleteFile;
1095 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* pathPtr, const(char)* sym1, const(char)* sym2, Tcl_PackageInitProc* proc1Ptr, Tcl_PackageInitProc* proc2Ptr, Tcl_LoadHandle* handlePtr, Tcl_FSUnloadFileProc* unloadProcPtr) nothrow tcl_FSLoadFile;
1096 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* result, Tcl_Obj* pathPtr, const(char)* pattern, Tcl_GlobTypeData* types) nothrow tcl_FSMatchInDirectory;
1097 	extern(C) Tcl_Obj* function(Tcl_Obj* pathPtr, Tcl_Obj* toPtr, int linkAction) nothrow tcl_FSLink;
1098 	extern(C) int function(Tcl_Obj* pathPtr, int recursive, Tcl_Obj** errorPtr) nothrow tcl_FSRemoveDirectory;
1099 	extern(C) int function(Tcl_Obj* srcPathPtr, Tcl_Obj* destPathPtr) nothrow tcl_FSRenameFile;
1100 	extern(C) int function(Tcl_Obj* pathPtr, Tcl_StatBuf* buf) nothrow tcl_FSLstat;
1101 	extern(C) int function(Tcl_Obj* pathPtr, utimbuf* tval) nothrow tcl_FSUtime;
1102 	extern(C) int function(Tcl_Interp* interp, int index, Tcl_Obj* pathPtr, Tcl_Obj** objPtrRef) nothrow tcl_FSFileAttrsGet;
1103 	extern(C) int function(Tcl_Interp* interp, int index, Tcl_Obj* pathPtr, Tcl_Obj* objPtr) nothrow tcl_FSFileAttrsSet;
1104 	extern(C) const(char)** function(Tcl_Obj* pathPtr, Tcl_Obj** objPtrRef) nothrow tcl_FSFileAttrStrings;
1105 	extern(C) int function(Tcl_Obj* pathPtr, Tcl_StatBuf* buf) nothrow tcl_FSStat;
1106 	extern(C) int function(Tcl_Obj* pathPtr, int mode) nothrow tcl_FSAccess;
1107 	extern(C) Tcl_Channel function(Tcl_Interp* interp, Tcl_Obj* pathPtr, const(char)* modeString, int permissions) nothrow tcl_FSOpenFileChannel;
1108 	extern(C) Tcl_Obj* function(Tcl_Interp* interp) nothrow tcl_FSGetCwd;
1109 	extern(C) int function(Tcl_Obj* pathPtr) nothrow tcl_FSChdir;
1110 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow tcl_FSConvertToPathType;
1111 	extern(C) Tcl_Obj* function(Tcl_Obj* listObj, int elements) nothrow tcl_FSJoinPath;
1112 	extern(C) Tcl_Obj* function(Tcl_Obj* pathPtr, int* lenPtr) nothrow tcl_FSSplitPath;
1113 	extern(C) int function(Tcl_Obj* firstPtr, Tcl_Obj* secondPtr) nothrow tcl_FSEqualPaths;
1114 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow tcl_FSGetNormalizedPath;
1115 	extern(C) Tcl_Obj* function(Tcl_Obj* pathPtr, int objc, const(Tcl_Obj*)* objv) nothrow tcl_FSJoinToPath;
1116 	extern(C) ClientData function(Tcl_Obj* pathPtr, Tcl_Filesystem* fsPtr) nothrow tcl_FSGetInternalRep;
1117 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow tcl_FSGetTranslatedPath;
1118 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* fileName) nothrow tcl_FSEvalFile;
1119 	extern(C) Tcl_Obj* function(Tcl_Filesystem* fromFilesystem, ClientData clientData) nothrow tcl_FSNewNativePath;
1120 	extern(C) const(char)* function(Tcl_Obj* pathPtr) nothrow tcl_FSGetNativePath;
1121 	extern(C) Tcl_Obj* function(Tcl_Obj* pathPtr) nothrow tcl_FSFileSystemInfo;
1122 	extern(C) Tcl_Obj* function(Tcl_Obj* pathPtr) nothrow tcl_FSPathSeparator;
1123 	extern(C) Tcl_Obj* function() nothrow tcl_FSListVolumes;
1124 	extern(C) int function(ClientData clientData, Tcl_Filesystem* fsPtr) nothrow tcl_FSRegister;
1125 	extern(C) int function(Tcl_Filesystem* fsPtr) nothrow tcl_FSUnregister;
1126 	extern(C) ClientData function(Tcl_Filesystem* fsPtr) nothrow tcl_FSData;
1127 	extern(C) const(char)* function(Tcl_Interp* interp, Tcl_Obj* pathPtr) nothrow tcl_FSGetTranslatedStringPath;
1128 	extern(C) Tcl_Filesystem* function(Tcl_Obj* pathPtr) nothrow tcl_FSGetFileSystemForPath;
1129 	extern(C) Tcl_PathType function(Tcl_Obj* pathPtr) nothrow tcl_FSGetPathType;
1130 	extern(C) int function(Tcl_Channel chan) nothrow tcl_OutputBuffered;
1131 	extern(C) void function(Tcl_Filesystem* fsPtr) nothrow tcl_FSMountsChanged;
1132 	extern(C) int function(Tcl_Interp* interp, Tcl_Token* tokenPtr, int count) nothrow tcl_EvalTokensStandard;
1133 	extern(C) void function(Tcl_Time* timeBuf) nothrow tcl_GetTime;
1134 	extern(C) Tcl_Trace function(Tcl_Interp* interp, int level, int flags, Tcl_CmdObjTraceProc objProc, ClientData clientData, Tcl_CmdObjTraceDeleteProc delProc) nothrow tcl_CreateObjTrace;
1135 	extern(C) int function(Tcl_Command token, Tcl_CmdInfo* infoPtr) nothrow tcl_GetCommandInfoFromToken;
1136 	extern(C) int function(Tcl_Command token, const(Tcl_CmdInfo)* infoPtr) nothrow tcl_SetCommandInfoFromToken;
1137 	extern(C) Tcl_Obj* function(Tcl_WideInt wideValue, const(char)* file, int line) nothrow tcl_DbNewWideIntObj;
1138 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_WideInt* widePtr) nothrow tcl_GetWideIntFromObj;
1139 	extern(C) Tcl_Obj* function(Tcl_WideInt wideValue) nothrow tcl_NewWideIntObj;
1140 	extern(C) void function(Tcl_Obj* objPtr, Tcl_WideInt wideValue) nothrow tcl_SetWideIntObj;
1141 	extern(C) Tcl_StatBuf* function() nothrow tcl_AllocStatBuf;
1142 	extern(C) Tcl_WideInt function(Tcl_Channel chan, Tcl_WideInt offset, int mode) nothrow tcl_Seek;
1143 	extern(C) Tcl_WideInt function(Tcl_Channel chan) nothrow tcl_Tell;
1144 	extern(C) Tcl_DriverWideSeekProc function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelWideSeekProc;
1145 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr, Tcl_Obj* valuePtr) nothrow tcl_DictObjPut;
1146 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr, Tcl_Obj** valuePtrPtr) nothrow tcl_DictObjGet;
1147 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_Obj* keyPtr) nothrow tcl_DictObjRemove;
1148 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, int* sizePtr) nothrow tcl_DictObjSize;
1149 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, Tcl_DictSearch* searchPtr, Tcl_Obj** keyPtrPtr, Tcl_Obj** valuePtrPtr, int* donePtr) nothrow tcl_DictObjFirst;
1150 	extern(C) void function(Tcl_DictSearch* searchPtr, Tcl_Obj** keyPtrPtr, Tcl_Obj** valuePtrPtr, int* donePtr) nothrow tcl_DictObjNext;
1151 	extern(C) void function(Tcl_DictSearch* searchPtr) nothrow tcl_DictObjDone;
1152 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, int keyc, const(Tcl_Obj*)* keyv, Tcl_Obj* valuePtr) nothrow tcl_DictObjPutKeyList;
1153 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* dictPtr, int keyc, const(Tcl_Obj*)* keyv) nothrow tcl_DictObjRemoveKeyList;
1154 	extern(C) Tcl_Obj* function() nothrow tcl_NewDictObj;
1155 	extern(C) Tcl_Obj* function(const(char)* file, int line) nothrow tcl_DbNewDictObj;
1156 	extern(C) void function(Tcl_Interp* interp, const(char)* pkgName, Tcl_Config* configuration, const(char)* valEncoding) nothrow tcl_RegisterConfig;
1157 	extern(C) Tcl_Namespace* function(Tcl_Interp* interp, const(char)* name, ClientData clientData, Tcl_NamespaceDeleteProc deleteProc) nothrow tcl_CreateNamespace;
1158 	extern(C) void function(Tcl_Namespace* nsPtr) nothrow tcl_DeleteNamespace;
1159 	extern(C) int function(Tcl_Interp* interp, Tcl_Namespace* nsPtr, Tcl_Obj* objPtr) nothrow tcl_AppendExportList;
1160 	extern(C) int function(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern, int resetListFirst) nothrow tcl_Export;
1161 	extern(C) int function(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern, int allowOverwrite) nothrow tcl_Import;
1162 	extern(C) int function(Tcl_Interp* interp, Tcl_Namespace* nsPtr, const(char)* pattern) nothrow tcl_ForgetImport;
1163 	extern(C) Tcl_Namespace* function(Tcl_Interp* interp) nothrow tcl_GetCurrentNamespace;
1164 	extern(C) Tcl_Namespace* function(Tcl_Interp* interp) nothrow tcl_GetGlobalNamespace;
1165 	extern(C) Tcl_Namespace* function(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* contextNsPtr, int flags) nothrow tcl_FindNamespace;
1166 	extern(C) Tcl_Command function(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* contextNsPtr, int flags) nothrow tcl_FindCommand;
1167 	extern(C) Tcl_Command function(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow tcl_GetCommandFromObj;
1168 	extern(C) void function(Tcl_Interp* interp, Tcl_Command command, Tcl_Obj* objPtr) nothrow tcl_GetCommandFullName;
1169 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* fileName, const(char)* encodingName) nothrow tcl_FSEvalFileEx;
1170 	extern(C) Tcl_ExitProc function(Tcl_ExitProc proc) nothrow tcl_SetExitProc;
1171 	extern(C) void function(Tcl_Interp* interp, int type, Tcl_LimitHandlerProc handlerProc, ClientData clientData, Tcl_LimitHandlerDeleteProc deleteProc) nothrow tcl_LimitAddHandler;
1172 	extern(C) void function(Tcl_Interp* interp, int type, Tcl_LimitHandlerProc handlerProc, ClientData clientData) nothrow tcl_LimitRemoveHandler;
1173 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_LimitReady;
1174 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_LimitCheck;
1175 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_LimitExceeded;
1176 	extern(C) void function(Tcl_Interp* interp, int commandLimit) nothrow tcl_LimitSetCommands;
1177 	extern(C) void function(Tcl_Interp* interp, Tcl_Time* timeLimitPtr) nothrow tcl_LimitSetTime;
1178 	extern(C) void function(Tcl_Interp* interp, int type, int granularity) nothrow tcl_LimitSetGranularity;
1179 	extern(C) int function(Tcl_Interp* interp, int type) nothrow tcl_LimitTypeEnabled;
1180 	extern(C) int function(Tcl_Interp* interp, int type) nothrow tcl_LimitTypeExceeded;
1181 	extern(C) void function(Tcl_Interp* interp, int type) nothrow tcl_LimitTypeSet;
1182 	extern(C) void function(Tcl_Interp* interp, int type) nothrow tcl_LimitTypeReset;
1183 	extern(C) int function(Tcl_Interp* interp) nothrow tcl_LimitGetCommands;
1184 	extern(C) void function(Tcl_Interp* interp, Tcl_Time* timeLimitPtr) nothrow tcl_LimitGetTime;
1185 	extern(C) int function(Tcl_Interp* interp, int type) nothrow tcl_LimitGetGranularity;
1186 	extern(C) Tcl_InterpState function(Tcl_Interp* interp, int status) nothrow tcl_SaveInterpState;
1187 	extern(C) int function(Tcl_Interp* interp, Tcl_InterpState state) nothrow tcl_RestoreInterpState;
1188 	extern(C) void function(Tcl_InterpState state) nothrow tcl_DiscardInterpState;
1189 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* options) nothrow tcl_SetReturnOptions;
1190 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, int result) nothrow tcl_GetReturnOptions;
1191 	extern(C) int function(Tcl_Command token) nothrow tcl_IsEnsemble;
1192 	extern(C) Tcl_Command function(Tcl_Interp* interp, const(char)* name, Tcl_Namespace* namespacePtr, int flags) nothrow tcl_CreateEnsemble;
1193 	extern(C) Tcl_Command function(Tcl_Interp* interp, Tcl_Obj* cmdNameObj, int flags) nothrow tcl_FindEnsemble;
1194 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* subcmdList) nothrow tcl_SetEnsembleSubcommandList;
1195 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* mapDict) nothrow tcl_SetEnsembleMappingDict;
1196 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj* unknownList) nothrow tcl_SetEnsembleUnknownHandler;
1197 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, int flags) nothrow tcl_SetEnsembleFlags;
1198 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** subcmdListPtr) nothrow tcl_GetEnsembleSubcommandList;
1199 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** mapDictPtr) nothrow tcl_GetEnsembleMappingDict;
1200 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Obj** unknownListPtr) nothrow tcl_GetEnsembleUnknownHandler;
1201 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, int* flagsPtr) nothrow tcl_GetEnsembleFlags;
1202 	extern(C) int function(Tcl_Interp* interp, Tcl_Command token, Tcl_Namespace** namespacePtrPtr) nothrow tcl_GetEnsembleNamespace;
1203 	extern(C) void function(Tcl_GetTimeProc getProc, Tcl_ScaleTimeProc scaleProc, ClientData clientData) nothrow tcl_SetTimeProc;
1204 	extern(C) void function(Tcl_GetTimeProc* getProc, Tcl_ScaleTimeProc* scaleProc, ClientData* clientData) nothrow tcl_QueryTimeProc;
1205 	extern(C) Tcl_DriverThreadActionProc  function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelThreadActionProc;
1206 	extern(C) Tcl_Obj* function(mp_int* value) nothrow tcl_NewBignumObj;
1207 	extern(C) Tcl_Obj* function(mp_int* value, const(char)* file, int line) nothrow tcl_DbNewBignumObj;
1208 	extern(C) void function(Tcl_Obj* obj, mp_int* value) nothrow tcl_SetBignumObj;
1209 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* obj, mp_int* value) nothrow tcl_GetBignumFromObj;
1210 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* obj, mp_int* value) nothrow tcl_TakeBignumFromObj;
1211 	extern(C) int function(Tcl_Channel chan, Tcl_WideInt length) nothrow tcl_TruncateChannel;
1212 	extern(C) Tcl_DriverTruncateProc  function(const(Tcl_ChannelType)* chanTypePtr) nothrow tcl_ChannelTruncateProc;
1213 	extern(C) void function(Tcl_Interp* interp, Tcl_Obj* msg) nothrow tcl_SetChannelErrorInterp;
1214 	extern(C) void function(Tcl_Interp* interp, Tcl_Obj** msg) nothrow tcl_GetChannelErrorInterp;
1215 	extern(C) void function(Tcl_Channel chan, Tcl_Obj* msg) nothrow tcl_SetChannelError;
1216 	extern(C) void function(Tcl_Channel chan, Tcl_Obj** msg) nothrow tcl_GetChannelError;
1217 	extern(C) int function(Tcl_Interp* interp, double initval, mp_int* toInit) nothrow tcl_InitBignumFromDouble;
1218 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, Tcl_Namespace* nsPtr) nothrow tcl_GetNamespaceUnknownHandler;
1219 	extern(C) int function(Tcl_Interp* interp, Tcl_Namespace* nsPtr, Tcl_Obj* handlerPtr) nothrow tcl_SetNamespaceUnknownHandler;
1220 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, Tcl_Encoding* encodingPtr) nothrow tcl_GetEncodingFromObj;
1221 	extern(C) Tcl_Obj* function() nothrow tcl_GetEncodingSearchPath;
1222 	extern(C) int function(Tcl_Obj* searchPath) nothrow tcl_SetEncodingSearchPath;
1223 	extern(C) const(char)* function(Tcl_DString* bufPtr) nothrow tcl_GetEncodingNameFromEnvironment;
1224 	extern(C) int function(Tcl_Interp* interp, const(char)* name, int objc, const(Tcl_Obj*)* objv, ClientData* clientDataPtr) nothrow tcl_PkgRequireProc;
1225 	extern(C) void function(Tcl_Interp* interp, Tcl_Obj* objPtr) nothrow tcl_AppendObjToErrorInfo;
1226 	extern(C) void function(Tcl_Obj* objPtr, const(char)* bytes, int length, int limit, const(char)* ellipsis) nothrow tcl_AppendLimitedToObj;
1227 	extern(C) Tcl_Obj* function(Tcl_Interp* interp, const(char)* format, int objc, const(Tcl_Obj*)* objv) nothrow tcl_Format;
1228 	extern(C) int function(Tcl_Interp* interp, Tcl_Obj* objPtr, const(char)* format, int objc, const(Tcl_Obj*)* objv) nothrow tcl_AppendFormatToObj;
1229 	extern(C) Tcl_Obj* function(const(char)* format, ...) nothrow tcl_ObjPrintf;
1230 	extern(C) void function(Tcl_Obj* objPtr, const(char)* format, ...) nothrow tcl_AppendPrintfToObj;
1231 }
1232 
1233 extern(C) shared TclStubs* tclStubsPtr;