summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstanton <stanton>1999-03-03 00:38:35 (GMT)
committerstanton <stanton>1999-03-03 00:38:35 (GMT)
commit531a666d600bbb937c43e9ec3a90e230548710a4 (patch)
tree76e694a9fbdd6ed515de6186a840d8cd40cee06e
parent8f97fc1f429811f069993f10d6adaff739b6c805 (diff)
downloadtcl-531a666d600bbb937c43e9ec3a90e230548710a4.zip
tcl-531a666d600bbb937c43e9ec3a90e230548710a4.tar.gz
tcl-531a666d600bbb937c43e9ec3a90e230548710a4.tar.bz2
* unix/Makefile.in:
* unix/configure.in: * unix/ldAix: Enhanced AIX shared library support. * win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR attributes from internal functions. * win/tclWinReg.c: Changed registry package to use stubs mechanism so it no longer depends on the specific version of Tcl. * doc/AddErrInfo.3: * doc/Eval.3: * doc/PkgRequire.3: * doc/SetResult.3: * doc/StringObj.3: * generic/tcl.h: * generic/tclBasic.c: * generic/tclPanic.c: * generic/tclStringObj.c: * generic/tclUtil.c: * unix/mkLinks: Added va_list versions of all VARARGS functions so they can be invoked from the stub functions. * doc/package.n: * doc/PkgRequire.3: * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx, Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" command. * generic/tclFileName.c: * mac/tclMacFile.c: * mac/tclMacShLib.exp: * unix/tclUnixFile.c: * win/tclWinFile.c: Changed so TclGetUserHome is defined on all platforms, even though it is currently a noop on mac and windows, and renamed it to TclpGetUserHome. * generic/tclCkalloc.c: Added stub versions of memory checking functions when compiling without TCL_MEM_DEBUG. * doc/ByteArrObj.3: * generic/tcl.h: * generic/tclBinary.c: * generic/tclObj.c: Ported the 8.1 ByteArray type back to 8.0. * generic/tcl.decls: * generic/tcl.h: * generic/tclBasic.c: * generic/tclDecls.h: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclIntPlatStubs.c: * generic/tclIntStubs.c: * generic/tclPlatDecls.h: * generic/tclPlatStubs.c: * generic/tclStubInit.c: * generic/tclStubLib.c: * generic/tclStubs.c: * tools/genStubs.tcl: * unix/configure.in: * unix/Makefile.in: * unix/tclConfig.sh.in: * win/makefile.vc: * win/tclWinPort.h: Added Tcl stubs implementation. There are now two new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that enable use of stubs and disable stub macros respectively. All of the public and private function declarations from tcl.h and tclInt.h have moved into the *.decls files and the *Stubs.c and *Decls.h files are generated using the genStubs.tcl script. * generic/tclPanic.c: * generic/panic.c: renamed panic to Tcl_Panic, added macro for backwards compatibility, renamed file to tclPanic.c
-rw-r--r--doc/ByteArrObj.391
-rw-r--r--generic/tcl.decls950
-rw-r--r--generic/tclDecls.h2259
-rw-r--r--generic/tclInt.decls626
-rw-r--r--generic/tclIntDecls.h1324
-rw-r--r--generic/tclIntPlatDecls.h159
-rw-r--r--generic/tclIntPlatStubs.c146
-rw-r--r--generic/tclIntStubs.c1529
-rw-r--r--generic/tclPanic.c (renamed from generic/panic.c)78
-rw-r--r--generic/tclPlatDecls.h56
-rw-r--r--generic/tclPlatStubs.c62
-rw-r--r--generic/tclStubInit.c514
-rw-r--r--generic/tclStubLib.c104
-rw-r--r--generic/tclStubs.c2653
-rw-r--r--tools/genStubs.tcl891
15 files changed, 11415 insertions, 27 deletions
diff --git a/doc/ByteArrObj.3 b/doc/ByteArrObj.3
new file mode 100644
index 0000000..b3ed34f
--- /dev/null
+++ b/doc/ByteArrObj.3
@@ -0,0 +1,91 @@
+'\"
+'\" Copyright (c) 1997 Sun Microsystems, Inc.
+'\"
+'\" See the file "license.terms" for information on usage and redistribution
+'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+'\"
+'\" RCS: @(#) $Id: ByteArrObj.3,v 1.2 1999/03/03 00:38:36 stanton Exp $
+'\"
+.so man.macros
+.TH Tcl_ByteArrayObj 3 8.1 Tcl "Tcl Library Procedures"
+.BS
+.SH NAME
+Tcl_NewByteArrayObj, Tcl_SetByteArrayObj, Tcl_GetByteArrayFromObj, Tcl_SetByteArrayLength \- manipulate Tcl objects as a arrays of bytes
+.SH SYNOPSIS
+.nf
+\fB#include <tcl.h>\fR
+.sp
+Tcl_Obj *
+\fBTcl_NewByteArrayObj\fR(\fIbytes, length\fR)
+.sp
+void
+\fBTcl_SetByteArrayObj\fR(\fIobjPtr, bytes, length\fR)
+.sp
+unsigned char *
+\fBTcl_GetByteArrayFromObj\fR(\fIobjPtr, lengthPtr\fR)
+.sp
+unsigned char *
+\fBTcl_SetByteArrayLength\fR(\fIobjPtr, length\fR)
+.SH ARGUMENTS
+.AS "unsigned char" *lengthPtr in/out
+.AP "unsigned char" *bytes in
+The array of bytes used to initialize or set a byte-array object.
+.AP int length in
+The length of the array of bytes. It must be >= 0.
+.AP Tcl_Obj *objPtr in/out
+For \fBTcl_SetByteArrayObj\fR, this points to the object to be converted to
+byte-array type. For \fBTcl_GetByteArrayFromObj\fR and
+\fBTcl_SetByteArrayLength\fR, this points to the object from which to get
+the byte-array value; if \fIobjPtr\fR does not already point to a byte-array
+object, it will be converted to one.
+.AP int *lengthPtr out
+If non-NULL, filled with the length of the array of bytes in the object.
+.BE
+
+.SH DESCRIPTION
+.PP
+These procedures are used to create, modify, and read Tcl byte-array objects
+from C code. Byte-array objects are typically used to hold the
+results of binary IO operations or data structures created with the
+\fBbinary\fR command. In Tcl, an array of bytes is not equivalent to a
+string. Conceptually, a string is an array of Unicode characters, while a
+byte-array is an array of 8-bit quantities with no implicit meaning.
+Accesser functions are provided to get the string representation of a
+byte-array or to convert an arbitrary object to a byte-array. Obtaining the
+string representation of a byte-array object (by calling
+\fBTcl_GetStringFromObj\fR) produces a properly formed UTF-8 sequence with a
+one-to-one mapping between the bytes in the internal representation and the
+UTF-8 characters in the string representation.
+.PP
+\fBTcl_NewByteArrayObj\fR and \fBTcl_SetByteArrayObj\fR will
+create a new object of byte-array type or modify an existing object to have a
+byte-array type. Both of these procedures set the object's type to be
+byte-array and set the object's internal representation to a copy of the
+array of bytes given by \fIbytes\fR. \fBTcl_NewByteArrayObj\fR returns a
+pointer to a newly allocated object with a reference count of zero.
+\fBTcl_SetByteArrayObj\fR invalidates any old string representation and, if
+the object is not already a byte-array object, frees any old internal
+representation.
+.PP
+\fBTcl_GetByteArrayFromObj\fR converts a Tcl object to byte-array type and
+returns a pointer to the object's new internal representation as an array of
+bytes. The length of this array is stored in \fIlengthPtr\fR if
+\fIlengthPtr\fR is non-NULL. The storage for the array of bytes is owned by
+the object and should not be freed. The contents of the array may be
+modified by the caller only if the object is not shared and the caller
+invalidates the string representation.
+.PP
+\fBTcl_SetByteArrayLength\fR converts the Tcl object to byte-array type
+and changes the length of the object's internal representation as an
+array of bytes. If \fIlength\fR is greater than the space currently
+allocated for the array, the array is reallocated to the new length; the
+newly allocated bytes at the end of the array have arbitrary values. If
+\fIlength\fR is less than the space currently allocated for the array,
+the length of array is reduced to the new length. The return value is a
+pointer to the object's new array of bytes.
+
+.SH "SEE ALSO"
+Tcl_GetStringFromObj, Tcl_NewObj, Tcl_IncrRefCount, Tcl_DecrRefCount
+
+.SH KEYWORDS
+object, byte array, utf, unicode, internationalization
diff --git a/generic/tcl.decls b/generic/tcl.decls
new file mode 100644
index 0000000..a398448
--- /dev/null
+++ b/generic/tcl.decls
@@ -0,0 +1,950 @@
+# tcl.decls --
+#
+# This file contains the declarations for all supported public
+# functions that are exported by the Tcl library via the stubs table.
+# This file is used to generate the tclDecls.h, tclPlatDecls.h,
+# tclStub.c, and tclPlatStub.c files.
+#
+#
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: tcl.decls,v 1.1 1999/03/03 00:38:38 stanton Exp $
+
+library tcl
+
+# Define the tcl interface with 3 sub interfaces:
+# tclPlat - platform specific public
+# tclInt - generic private
+# tclPlatInt - platform specific private
+
+interface tcl
+hooks {tclPlat tclInt tclIntPlat}
+
+# Declare each of the functions in the public Tcl interface. Note that
+# the an index should never be reused for a different function in order
+# to preserve backwards compatibility.
+
+declare 0 generic {
+ void Tcl_AddErrorInfo (Tcl_Interp *interp, char *message)
+}
+declare 1 generic {
+ void Tcl_AddObjErrorInfo(Tcl_Interp *interp, char *message, int length)
+}
+declare 2 generic {
+ char * Tcl_Alloc(unsigned int size)
+}
+declare 3 generic {
+ void Tcl_AllowExceptions(Tcl_Interp *interp)
+}
+declare 4 generic {
+ int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr)
+}
+declare 5 generic {
+ void Tcl_AppendElement(Tcl_Interp *interp, char *string)
+}
+declare 6 generic {
+ void Tcl_AppendResult(Tcl_Interp *interp, ...)
+}
+declare 7 generic {
+ void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
+}
+declare 8 generic {
+ void Tcl_AppendToObj(Tcl_Obj *objPtr, char *bytes, int length)
+}
+declare 9 generic {
+ void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
+}
+declare 10 generic {
+ void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList)
+}
+declare 11 generic {
+ Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc, \
+ ClientData clientData)
+}
+declare 12 generic {
+ void Tcl_AsyncDelete(Tcl_AsyncHandler async)
+}
+declare 13 generic {
+ int Tcl_AsyncInvoke(Tcl_Interp *interp, int code)
+}
+declare 14 generic {
+ void Tcl_AsyncMark(Tcl_AsyncHandler async)
+}
+declare 15 generic {
+ int Tcl_AsyncReady(void)
+}
+declare 16 generic {
+ void Tcl_BackgroundError(Tcl_Interp *interp)
+}
+declare 17 generic {
+ char Tcl_Backslash(CONST char *src, int *readPtr)
+}
+declare 18 generic {
+ int Tcl_BadChannelOption(Tcl_Interp *interp, char *optionName, \
+ char *optionList)
+}
+declare 19 generic {
+ void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, \
+ ClientData clientData)
+}
+declare 20 generic {
+ void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData)
+}
+declare 21 generic {
+ int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
+}
+declare 22 generic {
+ int Tcl_CommandComplete(char *cmd)
+}
+declare 23 generic {
+ char * Tcl_Concat(int argc, char **argv)
+}
+declare 24 generic {
+ Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
+}
+declare 25 generic {
+ int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst, \
+ int flags)
+}
+declare 26 generic {
+ int Tcl_ConvertElement(CONST char *src, char *dst, int flags)
+}
+declare 27 generic {
+ int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ Tcl_ObjType *typePtr)
+}
+declare 28 generic {
+ int Tcl_CreateAlias(Tcl_Interp *slave, char *slaveCmd, \
+ Tcl_Interp *target, char *targetCmd, int argc, char **argv)
+}
+declare 29 generic {
+ int Tcl_CreateAliasObj(Tcl_Interp *slave, char *slaveCmd, \
+ Tcl_Interp *target, char *targetCmd, int objc, \
+ Tcl_Obj *CONST objv[])
+}
+declare 30 generic {
+ Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr, char *chanName, \
+ ClientData instanceData, int mask)
+}
+declare 31 generic {
+ void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask, \
+ Tcl_ChannelProc *proc, ClientData clientData)
+}
+declare 32 generic {
+ void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \
+ ClientData clientData)
+}
+declare 33 generic {
+ Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, char *cmdName, \
+ Tcl_CmdProc *proc, ClientData clientData, \
+ Tcl_CmdDeleteProc *deleteProc)
+}
+declare 34 generic {
+ void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc, \
+ Tcl_EventCheckProc *checkProc, ClientData clientData)
+}
+declare 35 generic {
+ void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData)
+}
+declare 36 generic {
+ Tcl_Interp * Tcl_CreateInterp(void)
+}
+declare 37 generic {
+ void Tcl_CreateMathFunc(Tcl_Interp *interp, char *name, int numArgs, \
+ Tcl_ValueType *argTypes, Tcl_MathProc *proc, ClientData clientData)
+}
+declare 38 generic {
+ Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp, char *cmdName, \
+ Tcl_ObjCmdProc *proc, ClientData clientData, \
+ Tcl_CmdDeleteProc *deleteProc)
+}
+declare 39 generic {
+ Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, char *slaveName, \
+ int isSafe)
+}
+declare 40 generic {
+ Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds, \
+ Tcl_TimerProc *proc, ClientData clientData)
+}
+declare 41 generic {
+ Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level, \
+ Tcl_CmdTraceProc *proc, ClientData clientData)
+}
+declare 42 generic {
+ char * Tcl_DbCkalloc(unsigned int size, char *file, int line)
+}
+declare 43 generic {
+ int Tcl_DbCkfree(char *ptr, char *file, int line)
+}
+declare 44 generic {
+ char * Tcl_DbCkrealloc(char *ptr, unsigned int size, char *file, int line)
+}
+declare 45 generic {
+ void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, char *file, int line)
+}
+declare 46 generic {
+ void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, char *file, int line)
+}
+declare 47 generic {
+ int Tcl_DbIsShared(Tcl_Obj *objPtr, char *file, int line)
+}
+declare 48 generic {
+ Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, char *file, int line)
+}
+declare 49 generic {
+ Tcl_Obj * Tcl_DbNewByteArrayObj(unsigned char *bytes, int length, \
+ char *file, int line)
+}
+declare 50 generic {
+ Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue, char *file, int line)
+}
+declare 51 generic {
+ Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST objv[], char *file, \
+ int line)
+}
+declare 52 generic {
+ Tcl_Obj * Tcl_DbNewLongObj(long longValue, char *file, int line)
+}
+declare 53 generic {
+ Tcl_Obj * Tcl_DbNewObj(char *file, int line)
+}
+declare 54 generic {
+ Tcl_Obj * Tcl_DbNewStringObj(char *bytes, int length, char *file, int line)
+}
+declare 55 generic {
+ void Tcl_DeleteAssocData(Tcl_Interp *interp, char *name)
+}
+declare 56 generic {
+ int Tcl_DeleteCommand(Tcl_Interp *interp, char *cmdName)
+}
+declare 57 generic {
+ int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command)
+}
+declare 58 generic {
+ void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc, \
+ ClientData clientData)
+}
+declare 59 generic {
+ void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \
+ ClientData clientData)
+}
+declare 60 generic {
+ void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData)
+}
+declare 61 generic {
+ void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc, \
+ Tcl_EventCheckProc *checkProc, ClientData clientData)
+}
+declare 62 generic {
+ void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData)
+}
+declare 63 generic {
+ void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr)
+}
+declare 64 generic {
+ void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr)
+}
+declare 65 generic {
+ void Tcl_DeleteInterp(Tcl_Interp *interp)
+}
+declare 66 generic {
+ void Tcl_DeleteTimerHandler(Tcl_TimerToken token)
+}
+declare 67 generic {
+ void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace)
+}
+declare 68 generic {
+ void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr)
+}
+declare 69 generic {
+ void Tcl_DontCallWhenDeleted(Tcl_Interp *interp, \
+ Tcl_InterpDeleteProc *proc, ClientData clientData)
+}
+declare 70 generic {
+ int Tcl_DoOneEvent(int flags)
+}
+declare 71 generic {
+ void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData)
+}
+declare 72 generic {
+ char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *string, \
+ int length)
+}
+declare 73 generic {
+ char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string)
+}
+declare 74 generic {
+ void Tcl_DStringEndSublist(Tcl_DString *dsPtr)
+}
+declare 75 generic {
+ void Tcl_DStringFree(Tcl_DString *dsPtr)
+}
+declare 76 generic {
+ void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
+}
+declare 77 generic {
+ void Tcl_DStringInit(Tcl_DString *dsPtr)
+}
+declare 78 generic {
+ void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
+}
+declare 79 generic {
+ void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length)
+}
+declare 80 generic {
+ void Tcl_DStringStartSublist(Tcl_DString *dsPtr)
+}
+declare 81 generic {
+ int Tcl_DumpActiveMemory(char *fileName)
+}
+declare 82 generic {
+ Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
+}
+declare 83 generic {
+ int Tcl_Eof(Tcl_Channel chan)
+}
+declare 84 generic {
+ char * Tcl_ErrnoId(void)
+}
+declare 85 generic {
+ char * Tcl_ErrnoMsg(int err)
+}
+declare 86 generic {
+ int Tcl_Eval(Tcl_Interp *interp, char *string)
+}
+declare 87 generic {
+ int Tcl_EvalFile(Tcl_Interp *interp, char *fileName)
+}
+declare 88 generic {
+ void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc)
+}
+declare 89 generic {
+ int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
+}
+declare 90 generic {
+ void Tcl_Exit(int status)
+}
+declare 91 generic {
+ int Tcl_ExposeCommand(Tcl_Interp *interp, char *hiddenCmdToken, \
+ char *cmdName)
+}
+declare 92 generic {
+ int Tcl_ExprBoolean(Tcl_Interp *interp, char *string, int *ptr)
+}
+declare 93 generic {
+ int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr)
+}
+declare 94 generic {
+ int Tcl_ExprDouble(Tcl_Interp *interp, char *string, double *ptr)
+}
+declare 95 generic {
+ int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr)
+}
+declare 96 generic {
+ int Tcl_ExprLong(Tcl_Interp *interp, char *string, long *ptr)
+}
+declare 97 generic {
+ int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr)
+}
+declare 98 generic {
+ int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ Tcl_Obj **resultPtrPtr)
+}
+declare 99 generic {
+ int Tcl_ExprString(Tcl_Interp *interp, char *string)
+}
+declare 100 generic {
+ void Tcl_Finalize(void)
+}
+declare 101 generic {
+ void Tcl_FindExecutable(char *argv0)
+}
+declare 102 generic {
+ Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr, \
+ Tcl_HashSearch *searchPtr)
+}
+declare 103 generic {
+ int Tcl_Flush(Tcl_Channel chan)
+}
+declare 104 generic {
+ void Tcl_Free(char *ptr)
+}
+declare 105 generic {
+ void TclFreeObj(Tcl_Obj *objPtr)
+}
+declare 106 generic {
+ void Tcl_FreeResult(Tcl_Interp *interp)
+}
+declare 107 generic {
+ int Tcl_GetAlias(Tcl_Interp *interp, char *slaveCmd, \
+ Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *argcPtr, char ***argvPtr)
+}
+declare 108 generic {
+ int Tcl_GetAliasObj(Tcl_Interp *interp, char *slaveCmd, \
+ Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *objcPtr, Tcl_Obj ***objv)
+}
+declare 109 generic {
+ ClientData Tcl_GetAssocData(Tcl_Interp *interp, char *name, \
+ Tcl_InterpDeleteProc **procPtr)
+}
+declare 110 generic {
+ int Tcl_GetBoolean(Tcl_Interp *interp, char *string, int *boolPtr)
+}
+declare 111 generic {
+ int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ int *boolPtr)
+}
+declare 112 generic {
+ unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr)
+}
+declare 113 generic {
+ Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, char *chanName, \
+ int *modePtr)
+}
+declare 114 generic {
+ int Tcl_GetChannelBufferSize(Tcl_Channel chan)
+}
+declare 115 generic {
+ int Tcl_GetChannelHandle(Tcl_Channel chan, int direction, \
+ ClientData *handlePtr)
+}
+declare 116 generic {
+ ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan)
+}
+declare 117 generic {
+ int Tcl_GetChannelMode(Tcl_Channel chan)
+}
+declare 118 generic {
+ char * Tcl_GetChannelName(Tcl_Channel chan)
+}
+declare 119 generic {
+ int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \
+ char *optionName, Tcl_DString *dsPtr)
+}
+declare 120 generic {
+ Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan)
+}
+declare 121 generic {
+ int Tcl_GetCommandInfo(Tcl_Interp *interp, char *cmdName, \
+ Tcl_CmdInfo *infoPtr)
+}
+declare 122 generic {
+ char * Tcl_GetCommandName(Tcl_Interp *interp, Tcl_Command command)
+}
+declare 123 generic {
+ int Tcl_GetDouble(Tcl_Interp *interp, char *string, double *doublePtr)
+}
+declare 124 generic {
+ int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ double *doublePtr)
+}
+declare 125 generic {
+ int Tcl_GetErrno(void)
+}
+declare 126 generic {
+ char * Tcl_GetHostName(void)
+}
+declare 127 generic {
+ int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ char **tablePtr, char *msg, int flags, int *indexPtr)
+}
+declare 128 generic {
+ int Tcl_GetInt(Tcl_Interp *interp, char *string, int *intPtr)
+}
+declare 129 generic {
+ int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp)
+}
+declare 130 generic {
+ int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr)
+}
+declare 131 generic {
+ int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr)
+}
+declare 132 generic {
+ Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp)
+}
+declare 133 generic {
+ CONST char * Tcl_GetNameOfExecutable(void)
+}
+declare 134 generic {
+ Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp)
+}
+declare 135 generic {
+ Tcl_ObjType * Tcl_GetObjType(char *typeName)
+}
+declare 136 generic {
+ Tcl_PathType Tcl_GetPathType(char *path)
+}
+declare 137 generic {
+ int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr)
+}
+declare 138 generic {
+ int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr)
+}
+declare 139 generic {
+ int Tcl_GetServiceMode(void)
+}
+declare 140 generic {
+ Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, char *slaveName)
+}
+declare 141 generic {
+ Tcl_Channel Tcl_GetStdChannel(int type)
+}
+declare 142 generic {
+ char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr)
+}
+declare 143 generic {
+ char * Tcl_GetStringResult(Tcl_Interp *interp)
+}
+declare 144 generic {
+ char * Tcl_GetVar(Tcl_Interp *interp, char *varName, int flags)
+}
+declare 145 generic {
+ char * Tcl_GetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags)
+}
+declare 146 generic {
+ int Tcl_GlobalEval(Tcl_Interp *interp, char *command)
+}
+declare 147 generic {
+ int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
+}
+declare 148 generic {
+ char * Tcl_HashStats(Tcl_HashTable *tablePtr)
+}
+declare 149 generic {
+ int Tcl_HideCommand(Tcl_Interp *interp, char *cmdName, \
+ char *hiddenCmdToken)
+}
+declare 150 generic {
+ int Tcl_Init(Tcl_Interp *interp)
+}
+declare 151 generic {
+ void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType)
+}
+declare 152 generic {
+ int Tcl_InputBlocked(Tcl_Channel chan)
+}
+declare 153 generic {
+ int Tcl_InputBuffered(Tcl_Channel chan)
+}
+declare 154 generic {
+ int Tcl_InterpDeleted(Tcl_Interp *interp)
+}
+declare 155 generic {
+ int Tcl_IsSafe(Tcl_Interp *interp)
+}
+declare 156 generic {
+ void Tcl_InvalidateStringRep(Tcl_Obj *objPtr)
+}
+declare 157 generic {
+ char * Tcl_JoinPath(int argc, char **argv, Tcl_DString *resultPtr)
+}
+declare 158 generic {
+ int Tcl_LinkVar(Tcl_Interp *interp, char *varName, char *addr, int type)
+}
+declare 159 generic {
+ int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr, \
+ Tcl_Obj *elemListPtr)
+}
+declare 160 generic {
+ int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr, \
+ Tcl_Obj *objPtr)
+}
+declare 161 generic {
+ int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr, \
+ int *objcPtr, Tcl_Obj ***objvPtr)
+}
+declare 162 generic {
+ int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index, \
+ Tcl_Obj **objPtrPtr)
+}
+declare 163 generic {
+ int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr, int *intPtr)
+}
+declare 164 generic {
+ int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first, \
+ int count, int objc, Tcl_Obj *CONST objv[])
+}
+declare 165 generic {
+ Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode)
+}
+declare 166 generic {
+ int Tcl_MakeSafe(Tcl_Interp *interp)
+}
+declare 167 generic {
+ Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket)
+}
+declare 168 generic {
+ char * Tcl_Merge(int argc, char **argv)
+}
+declare 169 generic {
+ Tcl_Obj * Tcl_NewBooleanObj(int boolValue)
+}
+declare 170 generic {
+ Tcl_Obj * Tcl_NewByteArrayObj(unsigned char *bytes, int length)
+}
+declare 171 generic {
+ Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
+}
+declare 172 generic {
+ Tcl_Obj * Tcl_NewIntObj(int intValue)
+}
+declare 173 generic {
+ Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[])
+}
+declare 174 generic {
+ Tcl_Obj * Tcl_NewLongObj(long longValue)
+}
+declare 175 generic {
+ Tcl_Obj * Tcl_NewObj(void)
+}
+declare 176 generic {
+ Tcl_Obj *Tcl_NewStringObj(char *bytes, int length)
+}
+declare 177 generic {
+ Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr)
+}
+declare 178 generic {
+ void Tcl_NotifyChannel(Tcl_Channel channel, int mask)
+}
+declare 179 generic {
+ Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \
+ Tcl_Obj *part2Ptr, int flags)
+}
+declare 180 generic {
+ Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \
+ Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags)
+}
+declare 181 generic {
+ Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc, \
+ char **argv, int flags)
+}
+declare 182 generic {
+ Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, char *fileName, \
+ char *modeString, int permissions)
+}
+declare 183 generic {
+ Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port, \
+ char *address, char *myaddr, int myport, int async)
+}
+declare 184 generic {
+ Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port, char *host, \
+ Tcl_TcpAcceptProc *acceptProc, ClientData callbackData)
+}
+declare 185 generic {
+ void Tcl_Panic(char *format, ...)
+}
+declare 186 generic {
+ void Tcl_PanicVA(char *format, va_list argList)
+}
+declare 187 generic {
+ char * Tcl_ParseVar(Tcl_Interp *interp, char *string, char **termPtr)
+}
+declare 188 generic {
+ char * Tcl_PkgPresent(Tcl_Interp *interp, char *name, char *version, \
+ int exact)
+}
+declare 189 generic {
+ char * Tcl_PkgPresentEx(Tcl_Interp *interp, char *name, char *version, \
+ int exact, ClientData *clientDataPtr)
+}
+declare 190 generic {
+ int Tcl_PkgProvide(Tcl_Interp *interp, char *name, char *version)
+}
+declare 191 generic {
+ int Tcl_PkgProvideEx(Tcl_Interp *interp, char *name, char *version, \
+ ClientData clientData)
+}
+declare 192 generic {
+ char * Tcl_PkgRequire(Tcl_Interp *interp, char *name, char *version, \
+ int exact)
+}
+declare 193 generic {
+ char * Tcl_PkgRequireEx(Tcl_Interp *interp, char *name, char *version, \
+ int exact, ClientData *clientDataPtr)
+}
+declare 194 generic {
+ char * Tcl_PosixError(Tcl_Interp *interp)
+}
+declare 195 generic {
+ void Tcl_Preserve(ClientData data)
+}
+declare 196 generic {
+ void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst)
+}
+declare 197 generic {
+ int Tcl_PutEnv(CONST char *string)
+}
+declare 198 generic {
+ void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position)
+}
+declare 199 generic {
+ int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead)
+}
+declare 200 generic {
+ char * Tcl_Realloc(char *ptr, unsigned int size)
+}
+declare 201 generic {
+ void Tcl_ReapDetachedProcs(void)
+}
+declare 202 generic {
+ int Tcl_RecordAndEval(Tcl_Interp *interp, char *cmd, int flags)
+}
+declare 203 generic {
+ int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags)
+}
+declare 204 generic {
+ Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, char *string)
+}
+declare 205 generic {
+ int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp, char *string, \
+ char *start)
+}
+declare 206 generic {
+ int Tcl_RegExpMatch(Tcl_Interp *interp, char *string, char *pattern)
+}
+declare 207 generic {
+ void Tcl_RegExpRange(Tcl_RegExp regexp, int index, char **startPtr, \
+ char **endPtr)
+}
+declare 208 generic {
+ void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
+}
+declare 209 generic {
+ void Tcl_RegisterObjType(Tcl_ObjType *typePtr)
+}
+declare 210 generic {
+ void Tcl_Release(ClientData clientData)
+}
+declare 211 generic {
+ void Tcl_ResetResult(Tcl_Interp *interp)
+}
+declare 212 generic {
+ int Tcl_ScanCountedElement(CONST char *string, int length, int *flagPtr)
+}
+declare 213 generic {
+ int Tcl_ScanElement(CONST char *string, int *flagPtr)
+}
+declare 214 generic {
+ int Tcl_Seek(Tcl_Channel chan, int offset, int mode)
+}
+declare 215 generic {
+ int Tcl_ServiceAll(void)
+}
+declare 216 generic {
+ int Tcl_ServiceEvent(int flags)
+}
+declare 217 generic {
+ void Tcl_SetAssocData(Tcl_Interp *interp, char *name, \
+ Tcl_InterpDeleteProc *proc, ClientData clientData)
+}
+declare 218 generic {
+ void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue)
+}
+declare 219 generic {
+ unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
+}
+declare 220 generic {
+ void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, unsigned char *bytes, int length)
+}
+declare 221 generic {
+ void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz)
+}
+declare 222 generic {
+ int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \
+ char *optionName, char *newValue)
+}
+declare 223 generic {
+ int Tcl_SetCommandInfo(Tcl_Interp *interp, char *cmdName, \
+ Tcl_CmdInfo *infoPtr)
+}
+declare 224 generic {
+ void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
+}
+declare 225 generic {
+ void Tcl_SetErrno(int err)
+}
+declare 226 generic {
+ void Tcl_SetErrorCode(Tcl_Interp *interp, ...)
+}
+declare 227 generic {
+ void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
+}
+declare 228 generic {
+ void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue)
+}
+declare 229 generic {
+ void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[])
+}
+declare 230 generic {
+ void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue)
+}
+declare 231 generic {
+ void Tcl_SetMaxBlockTime(Tcl_Time *timePtr)
+}
+declare 232 generic {
+ void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr)
+}
+declare 233 generic {
+ void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
+}
+declare 234 generic {
+ void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr)
+}
+declare 235 generic {
+ void Tcl_SetPanicProc(Tcl_PanicProc *panicProc)
+}
+declare 236 generic {
+ int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth)
+}
+declare 237 generic {
+ void Tcl_SetResult(Tcl_Interp *interp, char *string, \
+ Tcl_FreeProc *freeProc)
+}
+declare 238 generic {
+ int Tcl_SetServiceMode(int mode)
+}
+declare 239 generic {
+ void Tcl_SetStdChannel(Tcl_Channel channel, int type)
+}
+declare 240 generic {
+ void Tcl_SetStringObj(Tcl_Obj *objPtr, char *bytes, int length)
+}
+declare 241 generic {
+ void Tcl_SetTimer(Tcl_Time *timePtr)
+}
+declare 242 generic {
+ char * Tcl_SetVar(Tcl_Interp *interp, char *varName, char *newValue, \
+ int flags)
+}
+declare 243 generic {
+ char * Tcl_SetVar2(Tcl_Interp *interp, char *part1, char *part2, \
+ char *newValue, int flags)
+}
+declare 244 generic {
+ char * Tcl_SignalId(int sig)
+}
+declare 245 generic {
+ char * Tcl_SignalMsg(int sig)
+}
+declare 246 generic {
+ void Tcl_Sleep(int ms)
+}
+declare 247 generic {
+ void Tcl_SourceRCFile(Tcl_Interp *interp)
+}
+declare 248 generic {
+ int Tcl_SplitList(Tcl_Interp *interp, char *list, int *argcPtr, \
+ char ***argvPtr)
+}
+declare 249 generic {
+ void Tcl_SplitPath(char *path, int *argcPtr, char ***argvPtr)
+}
+declare 250 generic {
+ void Tcl_StaticPackage(Tcl_Interp *interp, char *pkgName, \
+ Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
+}
+declare 251 generic {
+ int Tcl_StringMatch(char *string, char *pattern)
+}
+declare 252 generic {
+ int Tcl_Tell(Tcl_Channel chan)
+}
+declare 253 generic {
+ int Tcl_TraceVar(Tcl_Interp *interp, char *varName, int flags, \
+ Tcl_VarTraceProc *proc, ClientData clientData)
+}
+declare 254 generic {
+ int Tcl_TraceVar2(Tcl_Interp *interp, char *part1, char *part2, \
+ int flags, Tcl_VarTraceProc *proc, ClientData clientData)
+}
+declare 255 generic {
+ char * Tcl_TranslateFileName(Tcl_Interp *interp, char *name, \
+ Tcl_DString *bufferPtr)
+}
+declare 256 generic {
+ int Tcl_Ungets(Tcl_Channel chan, char *str, int len, int atHead)
+}
+declare 257 generic {
+ void Tcl_UnlinkVar(Tcl_Interp *interp, char *varName)
+}
+declare 258 generic {
+ int Tcl_UnregisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
+}
+declare 259 generic {
+ int Tcl_UnsetVar(Tcl_Interp *interp, char *varName, int flags)
+}
+declare 260 generic {
+ int Tcl_UnsetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags)
+}
+declare 261 generic {
+ void Tcl_UntraceVar(Tcl_Interp *interp, char *varName, int flags, \
+ Tcl_VarTraceProc *proc, ClientData clientData)
+}
+declare 262 generic {
+ void Tcl_UntraceVar2(Tcl_Interp *interp, char *part1, char *part2, \
+ int flags, Tcl_VarTraceProc *proc, ClientData clientData)
+}
+declare 263 generic {
+ void Tcl_UpdateLinkedVar(Tcl_Interp *interp, char *varName)
+}
+declare 264 generic {
+ int Tcl_UpVar(Tcl_Interp *interp, char *frameName, char *varName, \
+ char *localName, int flags)
+}
+declare 265 generic {
+ int Tcl_UpVar2(Tcl_Interp *interp, char *frameName, char *part1, \
+ char *part2, char *localName, int flags)
+}
+declare 266 generic {
+ void Tcl_ValidateAllMemory(char *file, int line)
+}
+declare 267 generic {
+ int Tcl_VarEval(Tcl_Interp *interp, ...)
+}
+declare 268 generic {
+ int Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList)
+}
+declare 269 generic {
+ ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, char *varName, \
+ int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)
+}
+declare 270 generic {
+ ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, char *part1, \
+ char *part2, int flags, Tcl_VarTraceProc *procPtr, \
+ ClientData prevClientData)
+}
+declare 271 generic {
+ int Tcl_WaitForEvent(Tcl_Time *timePtr)
+}
+declare 272 generic {
+ Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options)
+}
+declare 273 generic {
+ int Tcl_Write(Tcl_Channel chan, char *s, int slen)
+}
+declare 274 generic {
+ void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \
+ Tcl_Obj *CONST objv[], char *message)
+}
+
+
+
+# Define the platform specific public Tcl interface. These functions are
+# only available on the designated platform.
+
+interface tclPlat
+
+declare 0 unix {
+ void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc, \
+ ClientData clientData)
+}
+declare 1 unix {
+ void Tcl_DeleteFileHandler(int fd)
+}
+declare 2 unix {
+ int Tcl_GetOpenFile(Tcl_Interp *interp, char *string, int write, \
+ int checkUsage, ClientData *filePtr)
+}
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
new file mode 100644
index 0000000..420618f
--- /dev/null
+++ b/generic/tclDecls.h
@@ -0,0 +1,2259 @@
+/*
+ * tclDecls.h --
+ *
+ * Declarations of functions in the platform independent public Tcl API.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclDecls.h,v 1.1 1999/03/03 00:38:39 stanton Exp $
+ */
+
+#ifndef _TCLDECLS
+#define _TCLDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tcl.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+/* 0 */
+EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp,
+ char * message));
+/* 1 */
+EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp * interp,
+ char * message, int length));
+/* 2 */
+EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size));
+/* 3 */
+EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp * interp));
+/* 4 */
+EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * objPtr));
+/* 5 */
+EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string));
+/* 6 */
+EXTERN void Tcl_AppendResult _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp));
+/* 7 */
+EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp,
+ va_list argList));
+/* 8 */
+EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ char * bytes, int length));
+/* 9 */
+EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr));
+/* 10 */
+EXTERN void Tcl_AppendStringsToObjVA _ANSI_ARGS_((
+ Tcl_Obj * objPtr, va_list argList));
+/* 11 */
+EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc * proc,
+ ClientData clientData));
+/* 12 */
+EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async));
+/* 13 */
+EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp * interp,
+ int code));
+/* 14 */
+EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async));
+/* 15 */
+EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void));
+/* 16 */
+EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp * interp));
+/* 17 */
+EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char * src,
+ int * readPtr));
+/* 18 */
+EXTERN int Tcl_BadChannelOption _ANSI_ARGS_((
+ Tcl_Interp * interp, char * optionName,
+ char * optionList));
+/* 19 */
+EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_InterpDeleteProc * proc,
+ ClientData clientData));
+/* 20 */
+EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_((
+ Tcl_IdleProc * idleProc,
+ ClientData clientData));
+/* 21 */
+EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Channel chan));
+/* 22 */
+EXTERN int Tcl_CommandComplete _ANSI_ARGS_((char * cmd));
+/* 23 */
+EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, char ** argv));
+/* 24 */
+EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc,
+ Tcl_Obj *CONST objv[]));
+/* 25 */
+EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_((
+ CONST char * src, int length, char * dst,
+ int flags));
+/* 26 */
+EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char * src,
+ char * dst, int flags));
+/* 27 */
+EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, Tcl_ObjType * typePtr));
+/* 28 */
+EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp * slave,
+ char * slaveCmd, Tcl_Interp * target,
+ char * targetCmd, int argc, char ** argv));
+/* 29 */
+EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp * slave,
+ char * slaveCmd, Tcl_Interp * target,
+ char * targetCmd, int objc,
+ Tcl_Obj *CONST objv[]));
+/* 30 */
+EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_((
+ Tcl_ChannelType * typePtr, char * chanName,
+ ClientData instanceData, int mask));
+/* 31 */
+EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_((
+ Tcl_Channel chan, int mask,
+ Tcl_ChannelProc * proc,
+ ClientData clientData));
+/* 32 */
+EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_((Tcl_Channel chan,
+ Tcl_CloseProc * proc, ClientData clientData));
+/* 33 */
+EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmdName, Tcl_CmdProc * proc,
+ ClientData clientData,
+ Tcl_CmdDeleteProc * deleteProc));
+/* 34 */
+EXTERN void Tcl_CreateEventSource _ANSI_ARGS_((
+ Tcl_EventSetupProc * setupProc,
+ Tcl_EventCheckProc * checkProc,
+ ClientData clientData));
+/* 35 */
+EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_((
+ Tcl_ExitProc * proc, ClientData clientData));
+/* 36 */
+EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void));
+/* 37 */
+EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, int numArgs,
+ Tcl_ValueType * argTypes,
+ Tcl_MathProc * proc, ClientData clientData));
+/* 38 */
+EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_((
+ Tcl_Interp * interp, char * cmdName,
+ Tcl_ObjCmdProc * proc, ClientData clientData,
+ Tcl_CmdDeleteProc * deleteProc));
+/* 39 */
+EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp * interp,
+ char * slaveName, int isSafe));
+/* 40 */
+EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds,
+ Tcl_TimerProc * proc, ClientData clientData));
+/* 41 */
+EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp * interp,
+ int level, Tcl_CmdTraceProc * proc,
+ ClientData clientData));
+/* 42 */
+EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size,
+ char * file, int line));
+/* 43 */
+EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, char * file,
+ int line));
+/* 44 */
+EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr,
+ unsigned int size, char * file, int line));
+/* 45 */
+EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
+ char * file, int line));
+/* 46 */
+EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
+ char * file, int line));
+/* 47 */
+EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr,
+ char * file, int line));
+/* 48 */
+EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue,
+ char * file, int line));
+/* 49 */
+EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_((
+ unsigned char * bytes, int length,
+ char * file, int line));
+/* 50 */
+EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue,
+ char * file, int line));
+/* 51 */
+EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc,
+ Tcl_Obj *CONST objv[], char * file, int line));
+/* 52 */
+EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue,
+ char * file, int line));
+/* 53 */
+EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char * file, int line));
+/* 54 */
+EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char * bytes,
+ int length, char * file, int line));
+/* 55 */
+EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name));
+/* 56 */
+EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmdName));
+/* 57 */
+EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Command command));
+/* 58 */
+EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_((
+ Tcl_Channel chan, Tcl_ChannelProc * proc,
+ ClientData clientData));
+/* 59 */
+EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_((Tcl_Channel chan,
+ Tcl_CloseProc * proc, ClientData clientData));
+/* 60 */
+EXTERN void Tcl_DeleteEvents _ANSI_ARGS_((
+ Tcl_EventDeleteProc * proc,
+ ClientData clientData));
+/* 61 */
+EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_((
+ Tcl_EventSetupProc * setupProc,
+ Tcl_EventCheckProc * checkProc,
+ ClientData clientData));
+/* 62 */
+EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_((
+ Tcl_ExitProc * proc, ClientData clientData));
+/* 63 */
+EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_((
+ Tcl_HashEntry * entryPtr));
+/* 64 */
+EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_((
+ Tcl_HashTable * tablePtr));
+/* 65 */
+EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp * interp));
+/* 66 */
+EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_((
+ Tcl_TimerToken token));
+/* 67 */
+EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Trace trace));
+/* 68 */
+EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids,
+ Tcl_Pid * pidPtr));
+/* 69 */
+EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_((
+ Tcl_Interp * interp,
+ Tcl_InterpDeleteProc * proc,
+ ClientData clientData));
+/* 70 */
+EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags));
+/* 71 */
+EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc * proc,
+ ClientData clientData));
+/* 72 */
+EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString * dsPtr,
+ CONST char * string, int length));
+/* 73 */
+EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_((
+ Tcl_DString * dsPtr, CONST char * string));
+/* 74 */
+EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_((
+ Tcl_DString * dsPtr));
+/* 75 */
+EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString * dsPtr));
+/* 76 */
+EXTERN void Tcl_DStringGetResult _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_DString * dsPtr));
+/* 77 */
+EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString * dsPtr));
+/* 78 */
+EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_DString * dsPtr));
+/* 79 */
+EXTERN void Tcl_DStringSetLength _ANSI_ARGS_((
+ Tcl_DString * dsPtr, int length));
+/* 80 */
+EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_((
+ Tcl_DString * dsPtr));
+/* 81 */
+EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char * fileName));
+/* 82 */
+EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr));
+/* 83 */
+EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan));
+/* 84 */
+EXTERN char * Tcl_ErrnoId _ANSI_ARGS_((void));
+/* 85 */
+EXTERN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err));
+/* 86 */
+EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string));
+/* 87 */
+EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp * interp,
+ char * fileName));
+/* 88 */
+EXTERN void Tcl_EventuallyFree _ANSI_ARGS_((
+ ClientData clientData,
+ Tcl_FreeProc * freeProc));
+/* 89 */
+EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr));
+/* 90 */
+EXTERN void Tcl_Exit _ANSI_ARGS_((int status));
+/* 91 */
+EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * hiddenCmdToken, char * cmdName));
+/* 92 */
+EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int * ptr));
+/* 93 */
+EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, int * ptr));
+/* 94 */
+EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, double * ptr));
+/* 95 */
+EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, double * ptr));
+/* 96 */
+EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, long * ptr));
+/* 97 */
+EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, long * ptr));
+/* 98 */
+EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr));
+/* 99 */
+EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string));
+/* 100 */
+EXTERN void Tcl_Finalize _ANSI_ARGS_((void));
+/* 101 */
+EXTERN void Tcl_FindExecutable _ANSI_ARGS_((char * argv0));
+/* 102 */
+EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_((
+ Tcl_HashTable * tablePtr,
+ Tcl_HashSearch * searchPtr));
+/* 103 */
+EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan));
+/* 104 */
+EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr));
+/* 105 */
+EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj * objPtr));
+/* 106 */
+EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp * interp));
+/* 107 */
+EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp * interp,
+ char * slaveCmd,
+ Tcl_Interp ** targetInterpPtr,
+ char ** targetCmdPtr, int * argcPtr,
+ char *** argvPtr));
+/* 108 */
+EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp * interp,
+ char * slaveCmd,
+ Tcl_Interp ** targetInterpPtr,
+ char ** targetCmdPtr, int * objcPtr,
+ Tcl_Obj *** objv));
+/* 109 */
+EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, Tcl_InterpDeleteProc ** procPtr));
+/* 110 */
+EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int * boolPtr));
+/* 111 */
+EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * objPtr,
+ int * boolPtr));
+/* 112 */
+EXTERN unsigned char * Tcl_GetByteArrayFromObj _ANSI_ARGS_((
+ Tcl_Obj * objPtr, int * lengthPtr));
+/* 113 */
+EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp * interp,
+ char * chanName, int * modePtr));
+/* 114 */
+EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_((
+ Tcl_Channel chan));
+/* 115 */
+EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan,
+ int direction, ClientData * handlePtr));
+/* 116 */
+EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_((
+ Tcl_Channel chan));
+/* 117 */
+EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan));
+/* 118 */
+EXTERN char * Tcl_GetChannelName _ANSI_ARGS_((Tcl_Channel chan));
+/* 119 */
+EXTERN int Tcl_GetChannelOption _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Channel chan,
+ char * optionName, Tcl_DString * dsPtr));
+/* 120 */
+EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan));
+/* 121 */
+EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmdName, Tcl_CmdInfo * infoPtr));
+/* 122 */
+EXTERN char * Tcl_GetCommandName _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Command command));
+/* 123 */
+EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, double * doublePtr));
+/* 124 */
+EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * objPtr,
+ double * doublePtr));
+/* 125 */
+EXTERN int Tcl_GetErrno _ANSI_ARGS_((void));
+/* 126 */
+EXTERN char * Tcl_GetHostName _ANSI_ARGS_((void));
+/* 127 */
+EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, char ** tablePtr,
+ char * msg, int flags, int * indexPtr));
+/* 128 */
+EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int * intPtr));
+/* 129 */
+EXTERN int Tcl_GetInterpPath _ANSI_ARGS_((
+ Tcl_Interp * askInterp,
+ Tcl_Interp * slaveInterp));
+/* 130 */
+EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, int * intPtr));
+/* 131 */
+EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, long * longPtr));
+/* 132 */
+EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp * interp));
+/* 133 */
+EXTERN CONST char * Tcl_GetNameOfExecutable _ANSI_ARGS_((void));
+/* 134 */
+EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp * interp));
+/* 135 */
+EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char * typeName));
+/* 136 */
+EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((char * path));
+/* 137 */
+EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan,
+ Tcl_DString * dsPtr));
+/* 138 */
+EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan,
+ Tcl_Obj * objPtr));
+/* 139 */
+EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void));
+/* 140 */
+EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp * interp,
+ char * slaveName));
+/* 141 */
+EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type));
+/* 142 */
+EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int * lengthPtr));
+/* 143 */
+EXTERN char * Tcl_GetStringResult _ANSI_ARGS_((Tcl_Interp * interp));
+/* 144 */
+EXTERN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, int flags));
+/* 145 */
+EXTERN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags));
+/* 146 */
+EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp * interp,
+ char * command));
+/* 147 */
+EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr));
+/* 148 */
+EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable * tablePtr));
+/* 149 */
+EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmdName, char * hiddenCmdToken));
+/* 150 */
+EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp * interp));
+/* 151 */
+EXTERN void Tcl_InitHashTable _ANSI_ARGS_((
+ Tcl_HashTable * tablePtr, int keyType));
+/* 152 */
+EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan));
+/* 153 */
+EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan));
+/* 154 */
+EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp * interp));
+/* 155 */
+EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp * interp));
+/* 156 */
+EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_((
+ Tcl_Obj * objPtr));
+/* 157 */
+EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, char ** argv,
+ Tcl_DString * resultPtr));
+/* 158 */
+EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, char * addr, int type));
+/* 159 */
+EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * listPtr,
+ Tcl_Obj * elemListPtr));
+/* 160 */
+EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * listPtr,
+ Tcl_Obj * objPtr));
+/* 161 */
+EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * listPtr,
+ int * objcPtr, Tcl_Obj *** objvPtr));
+/* 162 */
+EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * listPtr, int index,
+ Tcl_Obj ** objPtrPtr));
+/* 163 */
+EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * listPtr, int * intPtr));
+/* 164 */
+EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * listPtr, int first, int count,
+ int objc, Tcl_Obj *CONST objv[]));
+/* 165 */
+EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle,
+ int mode));
+/* 166 */
+EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp * interp));
+/* 167 */
+EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_((
+ ClientData tcpSocket));
+/* 168 */
+EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, char ** argv));
+/* 169 */
+EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue));
+/* 170 */
+EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_((
+ unsigned char * bytes, int length));
+/* 171 */
+EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue));
+/* 172 */
+EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue));
+/* 173 */
+EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc,
+ Tcl_Obj *CONST objv[]));
+/* 174 */
+EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue));
+/* 175 */
+EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void));
+/* 176 */
+EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char * bytes,
+ int length));
+/* 177 */
+EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_((
+ Tcl_HashSearch * searchPtr));
+/* 178 */
+EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel,
+ int mask));
+/* 179 */
+EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr,
+ int flags));
+/* 180 */
+EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr,
+ Tcl_Obj * newValuePtr, int flags));
+/* 181 */
+EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_((
+ Tcl_Interp * interp, int argc, char ** argv,
+ int flags));
+/* 182 */
+EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp * interp,
+ char * fileName, char * modeString,
+ int permissions));
+/* 183 */
+EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp * interp,
+ int port, char * address, char * myaddr,
+ int myport, int async));
+/* 184 */
+EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp * interp,
+ int port, char * host,
+ Tcl_TcpAcceptProc * acceptProc,
+ ClientData callbackData));
+/* 185 */
+EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
+/* 186 */
+EXTERN void Tcl_PanicVA _ANSI_ARGS_((char * format,
+ va_list argList));
+/* 187 */
+EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char ** termPtr));
+/* 188 */
+EXTERN char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version, int exact));
+/* 189 */
+EXTERN char * Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version, int exact,
+ ClientData * clientDataPtr));
+/* 190 */
+EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version));
+/* 191 */
+EXTERN int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version,
+ ClientData clientData));
+/* 192 */
+EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version, int exact));
+/* 193 */
+EXTERN char * Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, char * version, int exact,
+ ClientData * clientDataPtr));
+/* 194 */
+EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp * interp));
+/* 195 */
+EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data));
+/* 196 */
+EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp * interp,
+ double value, char * dst));
+/* 197 */
+EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char * string));
+/* 198 */
+EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event * evPtr,
+ Tcl_QueuePosition position));
+/* 199 */
+EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan,
+ char * bufPtr, int toRead));
+/* 200 */
+EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr,
+ unsigned int size));
+/* 201 */
+EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void));
+/* 202 */
+EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmd, int flags));
+/* 203 */
+EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * cmdPtr,
+ int flags));
+/* 204 */
+EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string));
+/* 205 */
+EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_RegExp regexp, char * string,
+ char * start));
+/* 206 */
+EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * pattern));
+/* 207 */
+EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp,
+ int index, char ** startPtr, char ** endPtr));
+/* 208 */
+EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Channel chan));
+/* 209 */
+EXTERN void Tcl_RegisterObjType _ANSI_ARGS_((
+ Tcl_ObjType * typePtr));
+/* 210 */
+EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData));
+/* 211 */
+EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp * interp));
+/* 212 */
+EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_((
+ CONST char * string, int length,
+ int * flagPtr));
+/* 213 */
+EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char * string,
+ int * flagPtr));
+/* 214 */
+EXTERN int Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, int offset,
+ int mode));
+/* 215 */
+EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void));
+/* 216 */
+EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags));
+/* 217 */
+EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, Tcl_InterpDeleteProc * proc,
+ ClientData clientData));
+/* 218 */
+EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int boolValue));
+/* 219 */
+EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int length));
+/* 220 */
+EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ unsigned char * bytes, int length));
+/* 221 */
+EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_((
+ Tcl_Channel chan, int sz));
+/* 222 */
+EXTERN int Tcl_SetChannelOption _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Channel chan,
+ char * optionName, char * newValue));
+/* 223 */
+EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp,
+ char * cmdName, Tcl_CmdInfo * infoPtr));
+/* 224 */
+EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ double doubleValue));
+/* 225 */
+EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err));
+/* 226 */
+EXTERN void Tcl_SetErrorCode _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp));
+/* 227 */
+EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp,
+ va_list argList));
+/* 228 */
+EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int intValue));
+/* 229 */
+EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int objc, Tcl_Obj *CONST objv[]));
+/* 230 */
+EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ long longValue));
+/* 231 */
+EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time * timePtr));
+/* 232 */
+EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * errorObjPtr));
+/* 233 */
+EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr,
+ int length));
+/* 234 */
+EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * resultObjPtr));
+/* 235 */
+EXTERN void Tcl_SetPanicProc _ANSI_ARGS_((
+ Tcl_PanicProc * panicProc));
+/* 236 */
+EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_((
+ Tcl_Interp * interp, int depth));
+/* 237 */
+EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, Tcl_FreeProc * freeProc));
+/* 238 */
+EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode));
+/* 239 */
+EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel,
+ int type));
+/* 240 */
+EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ char * bytes, int length));
+/* 241 */
+EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time * timePtr));
+/* 242 */
+EXTERN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, char * newValue, int flags));
+/* 243 */
+EXTERN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, char * newValue,
+ int flags));
+/* 244 */
+EXTERN char * Tcl_SignalId _ANSI_ARGS_((int sig));
+/* 245 */
+EXTERN char * Tcl_SignalMsg _ANSI_ARGS_((int sig));
+/* 246 */
+EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms));
+/* 247 */
+EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp * interp));
+/* 248 */
+EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp * interp,
+ char * list, int * argcPtr, char *** argvPtr));
+/* 249 */
+EXTERN void Tcl_SplitPath _ANSI_ARGS_((char * path,
+ int * argcPtr, char *** argvPtr));
+/* 250 */
+EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp * interp,
+ char * pkgName,
+ Tcl_PackageInitProc * initProc,
+ Tcl_PackageInitProc * safeInitProc));
+/* 251 */
+EXTERN int Tcl_StringMatch _ANSI_ARGS_((char * string,
+ char * pattern));
+/* 252 */
+EXTERN int Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan));
+/* 253 */
+EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, int flags,
+ Tcl_VarTraceProc * proc,
+ ClientData clientData));
+/* 254 */
+EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags,
+ Tcl_VarTraceProc * proc,
+ ClientData clientData));
+/* 255 */
+EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_((
+ Tcl_Interp * interp, char * name,
+ Tcl_DString * bufferPtr));
+/* 256 */
+EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, char * str,
+ int len, int atHead));
+/* 257 */
+EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName));
+/* 258 */
+EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Channel chan));
+/* 259 */
+EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, int flags));
+/* 260 */
+EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags));
+/* 261 */
+EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, int flags,
+ Tcl_VarTraceProc * proc,
+ ClientData clientData));
+/* 262 */
+EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags,
+ Tcl_VarTraceProc * proc,
+ ClientData clientData));
+/* 263 */
+EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName));
+/* 264 */
+EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * frameName, char * varName,
+ char * localName, int flags));
+/* 265 */
+EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * frameName, char * part1, char * part2,
+ char * localName, int flags));
+/* 266 */
+EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char * file,
+ int line));
+/* 267 */
+EXTERN int Tcl_VarEval _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp));
+/* 268 */
+EXTERN int Tcl_VarEvalVA _ANSI_ARGS_((Tcl_Interp * interp,
+ va_list argList));
+/* 269 */
+EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp * interp,
+ char * varName, int flags,
+ Tcl_VarTraceProc * procPtr,
+ ClientData prevClientData));
+/* 270 */
+EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags,
+ Tcl_VarTraceProc * procPtr,
+ ClientData prevClientData));
+/* 271 */
+EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time * timePtr));
+/* 272 */
+EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int * statPtr,
+ int options));
+/* 273 */
+EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, char * s,
+ int slen));
+/* 274 */
+EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp * interp,
+ int objc, Tcl_Obj *CONST objv[],
+ char * message));
+
+typedef struct TclStubHooks {
+ struct TclPlatStubs *tclPlatStubs;
+ struct TclIntStubs *tclIntStubs;
+ struct TclIntPlatStubs *tclIntPlatStubs;
+} TclStubHooks;
+
+typedef struct TclStubs {
+ int magic;
+ struct TclStubHooks *hooks;
+
+ void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message)); /* 0 */
+ void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message, int length)); /* 1 */
+ char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 2 */
+ void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 3 */
+ int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 4 */
+ void (*tcl_AppendElement) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 5 */
+ void (*tcl_AppendResult) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 6 */
+ void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 7 */
+ void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 8 */
+ void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 9 */
+ void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 10 */
+ Tcl_AsyncHandler (*tcl_AsyncCreate) _ANSI_ARGS_((Tcl_AsyncProc * proc, ClientData clientData)); /* 11 */
+ void (*tcl_AsyncDelete) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 12 */
+ int (*tcl_AsyncInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int code)); /* 13 */
+ void (*tcl_AsyncMark) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 14 */
+ int (*tcl_AsyncReady) _ANSI_ARGS_((void)); /* 15 */
+ void (*tcl_BackgroundError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 16 */
+ char (*tcl_Backslash) _ANSI_ARGS_((CONST char * src, int * readPtr)); /* 17 */
+ int (*tcl_BadChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, char * optionName, char * optionList)); /* 18 */
+ void (*tcl_CallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 19 */
+ void (*tcl_CancelIdleCall) _ANSI_ARGS_((Tcl_IdleProc * idleProc, ClientData clientData)); /* 20 */
+ int (*tcl_Close) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 21 */
+ int (*tcl_CommandComplete) _ANSI_ARGS_((char * cmd)); /* 22 */
+ char * (*tcl_Concat) _ANSI_ARGS_((int argc, char ** argv)); /* 23 */
+ Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 24 */
+ int (*tcl_ConvertCountedElement) _ANSI_ARGS_((CONST char * src, int length, char * dst, int flags)); /* 25 */
+ int (*tcl_ConvertElement) _ANSI_ARGS_((CONST char * src, char * dst, int flags)); /* 26 */
+ int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 27 */
+ int (*tcl_CreateAlias) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int argc, char ** argv)); /* 28 */
+ int (*tcl_CreateAliasObj) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int objc, Tcl_Obj *CONST objv[])); /* 29 */
+ Tcl_Channel (*tcl_CreateChannel) _ANSI_ARGS_((Tcl_ChannelType * typePtr, char * chanName, ClientData instanceData, int mask)); /* 30 */
+ void (*tcl_CreateChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData)); /* 31 */
+ void (*tcl_CreateCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 32 */
+ Tcl_Command (*tcl_CreateCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 33 */
+ void (*tcl_CreateEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 34 */
+ void (*tcl_CreateExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 35 */
+ Tcl_Interp * (*tcl_CreateInterp) _ANSI_ARGS_((void)); /* 36 */
+ void (*tcl_CreateMathFunc) _ANSI_ARGS_((Tcl_Interp * interp, char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData)); /* 37 */
+ Tcl_Command (*tcl_CreateObjCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 38 */
+ Tcl_Interp * (*tcl_CreateSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName, int isSafe)); /* 39 */
+ Tcl_TimerToken (*tcl_CreateTimerHandler) _ANSI_ARGS_((int milliseconds, Tcl_TimerProc * proc, ClientData clientData)); /* 40 */
+ Tcl_Trace (*tcl_CreateTrace) _ANSI_ARGS_((Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData)); /* 41 */
+ char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, char * file, int line)); /* 42 */
+ int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, char * file, int line)); /* 43 */
+ char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 44 */
+ void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 45 */
+ void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 46 */
+ int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 47 */
+ Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, char * file, int line)); /* 48 */
+ Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length, char * file, int line)); /* 49 */
+ Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, char * file, int line)); /* 50 */
+ Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[], char * file, int line)); /* 51 */
+ Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, char * file, int line)); /* 52 */
+ Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((char * file, int line)); /* 53 */
+ Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((char * bytes, int length, char * file, int line)); /* 54 */
+ void (*tcl_DeleteAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 55 */
+ int (*tcl_DeleteCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName)); /* 56 */
+ int (*tcl_DeleteCommandFromToken) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 57 */
+ void (*tcl_DeleteChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData)); /* 58 */
+ void (*tcl_DeleteCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 59 */
+ void (*tcl_DeleteEvents) _ANSI_ARGS_((Tcl_EventDeleteProc * proc, ClientData clientData)); /* 60 */
+ void (*tcl_DeleteEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 61 */
+ void (*tcl_DeleteExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 62 */
+ void (*tcl_DeleteHashEntry) _ANSI_ARGS_((Tcl_HashEntry * entryPtr)); /* 63 */
+ void (*tcl_DeleteHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 64 */
+ void (*tcl_DeleteInterp) _ANSI_ARGS_((Tcl_Interp * interp)); /* 65 */
+ void (*tcl_DeleteTimerHandler) _ANSI_ARGS_((Tcl_TimerToken token)); /* 66 */
+ void (*tcl_DeleteTrace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Trace trace)); /* 67 */
+ void (*tcl_DetachPids) _ANSI_ARGS_((int numPids, Tcl_Pid * pidPtr)); /* 68 */
+ void (*tcl_DontCallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 69 */
+ int (*tcl_DoOneEvent) _ANSI_ARGS_((int flags)); /* 70 */
+ void (*tcl_DoWhenIdle) _ANSI_ARGS_((Tcl_IdleProc * proc, ClientData clientData)); /* 71 */
+ char * (*tcl_DStringAppend) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string, int length)); /* 72 */
+ char * (*tcl_DStringAppendElement) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string)); /* 73 */
+ void (*tcl_DStringEndSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 74 */
+ void (*tcl_DStringFree) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 75 */
+ void (*tcl_DStringGetResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 76 */
+ void (*tcl_DStringInit) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 77 */
+ void (*tcl_DStringResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 78 */
+ void (*tcl_DStringSetLength) _ANSI_ARGS_((Tcl_DString * dsPtr, int length)); /* 79 */
+ void (*tcl_DStringStartSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 80 */
+ int (*tcl_DumpActiveMemory) _ANSI_ARGS_((char * fileName)); /* 81 */
+ Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 82 */
+ int (*tcl_Eof) _ANSI_ARGS_((Tcl_Channel chan)); /* 83 */
+ char * (*tcl_ErrnoId) _ANSI_ARGS_((void)); /* 84 */
+ char * (*tcl_ErrnoMsg) _ANSI_ARGS_((int err)); /* 85 */
+ int (*tcl_Eval) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 86 */
+ int (*tcl_EvalFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName)); /* 87 */
+ void (*tcl_EventuallyFree) _ANSI_ARGS_((ClientData clientData, Tcl_FreeProc * freeProc)); /* 88 */
+ int (*tcl_EvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 89 */
+ void (*tcl_Exit) _ANSI_ARGS_((int status)); /* 90 */
+ int (*tcl_ExposeCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * hiddenCmdToken, char * cmdName)); /* 91 */
+ int (*tcl_ExprBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * ptr)); /* 92 */
+ int (*tcl_ExprBooleanObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr)); /* 93 */
+ int (*tcl_ExprDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * ptr)); /* 94 */
+ int (*tcl_ExprDoubleObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr)); /* 95 */
+ int (*tcl_ExprLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * ptr)); /* 96 */
+ int (*tcl_ExprLongObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr)); /* 97 */
+ int (*tcl_ExprObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); /* 98 */
+ int (*tcl_ExprString) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 99 */
+ void (*tcl_Finalize) _ANSI_ARGS_((void)); /* 100 */
+ void (*tcl_FindExecutable) _ANSI_ARGS_((char * argv0)); /* 101 */
+ Tcl_HashEntry * (*tcl_FirstHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr)); /* 102 */
+ int (*tcl_Flush) _ANSI_ARGS_((Tcl_Channel chan)); /* 103 */
+ void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 104 */
+ void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 105 */
+ void (*tcl_FreeResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 106 */
+ int (*tcl_GetAlias) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * argcPtr, char *** argvPtr)); /* 107 */
+ int (*tcl_GetAliasObj) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv)); /* 108 */
+ ClientData (*tcl_GetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc ** procPtr)); /* 109 */
+ int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * boolPtr)); /* 110 */
+ int (*tcl_GetBooleanFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr)); /* 111 */
+ unsigned char * (*tcl_GetByteArrayFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 112 */
+ Tcl_Channel (*tcl_GetChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * chanName, int * modePtr)); /* 113 */
+ int (*tcl_GetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan)); /* 114 */
+ int (*tcl_GetChannelHandle) _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData * handlePtr)); /* 115 */
+ ClientData (*tcl_GetChannelInstanceData) _ANSI_ARGS_((Tcl_Channel chan)); /* 116 */
+ int (*tcl_GetChannelMode) _ANSI_ARGS_((Tcl_Channel chan)); /* 117 */
+ char * (*tcl_GetChannelName) _ANSI_ARGS_((Tcl_Channel chan)); /* 118 */
+ int (*tcl_GetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, Tcl_DString * dsPtr)); /* 119 */
+ Tcl_ChannelType * (*tcl_GetChannelType) _ANSI_ARGS_((Tcl_Channel chan)); /* 120 */
+ int (*tcl_GetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 121 */
+ char * (*tcl_GetCommandName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 122 */
+ int (*tcl_GetDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * doublePtr)); /* 123 */
+ int (*tcl_GetDoubleFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr)); /* 124 */
+ int (*tcl_GetErrno) _ANSI_ARGS_((void)); /* 125 */
+ char * (*tcl_GetHostName) _ANSI_ARGS_((void)); /* 126 */
+ int (*tcl_GetIndexFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, char ** tablePtr, char * msg, int flags, int * indexPtr)); /* 127 */
+ int (*tcl_GetInt) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * intPtr)); /* 128 */
+ int (*tcl_GetInterpPath) _ANSI_ARGS_((Tcl_Interp * askInterp, Tcl_Interp * slaveInterp)); /* 129 */
+ int (*tcl_GetIntFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr)); /* 130 */
+ int (*tcl_GetLongFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr)); /* 131 */
+ Tcl_Interp * (*tcl_GetMaster) _ANSI_ARGS_((Tcl_Interp * interp)); /* 132 */
+ CONST char * (*tcl_GetNameOfExecutable) _ANSI_ARGS_((void)); /* 133 */
+ Tcl_Obj * (*tcl_GetObjResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 134 */
+ Tcl_ObjType * (*tcl_GetObjType) _ANSI_ARGS_((char * typeName)); /* 135 */
+ Tcl_PathType (*tcl_GetPathType) _ANSI_ARGS_((char * path)); /* 136 */
+ int (*tcl_Gets) _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString * dsPtr)); /* 137 */
+ int (*tcl_GetsObj) _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); /* 138 */
+ int (*tcl_GetServiceMode) _ANSI_ARGS_((void)); /* 139 */
+ Tcl_Interp * (*tcl_GetSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName)); /* 140 */
+ Tcl_Channel (*tcl_GetStdChannel) _ANSI_ARGS_((int type)); /* 141 */
+ char * (*tcl_GetStringFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 142 */
+ char * (*tcl_GetStringResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 143 */
+ char * (*tcl_GetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 144 */
+ char * (*tcl_GetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 145 */
+ int (*tcl_GlobalEval) _ANSI_ARGS_((Tcl_Interp * interp, char * command)); /* 146 */
+ int (*tcl_GlobalEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 147 */
+ char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 148 */
+ int (*tcl_HideCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, char * hiddenCmdToken)); /* 149 */
+ int (*tcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 150 */
+ void (*tcl_InitHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType)); /* 151 */
+ int (*tcl_InputBlocked) _ANSI_ARGS_((Tcl_Channel chan)); /* 152 */
+ int (*tcl_InputBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 153 */
+ int (*tcl_InterpDeleted) _ANSI_ARGS_((Tcl_Interp * interp)); /* 154 */
+ int (*tcl_IsSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 155 */
+ void (*tcl_InvalidateStringRep) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 156 */
+ char * (*tcl_JoinPath) _ANSI_ARGS_((int argc, char ** argv, Tcl_DString * resultPtr)); /* 157 */
+ int (*tcl_LinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * addr, int type)); /* 158 */
+ int (*tcl_ListObjAppendList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr)); /* 159 */
+ int (*tcl_ListObjAppendElement) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr)); /* 160 */
+ int (*tcl_ListObjGetElements) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr)); /* 161 */
+ int (*tcl_ListObjIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr)); /* 162 */
+ int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * intPtr)); /* 163 */
+ int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 164 */
+ Tcl_Channel (*tcl_MakeFileChannel) _ANSI_ARGS_((ClientData handle, int mode)); /* 165 */
+ int (*tcl_MakeSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 166 */
+ Tcl_Channel (*tcl_MakeTcpClientChannel) _ANSI_ARGS_((ClientData tcpSocket)); /* 167 */
+ char * (*tcl_Merge) _ANSI_ARGS_((int argc, char ** argv)); /* 168 */
+ Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 169 */
+ Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length)); /* 170 */
+ Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 171 */
+ Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 172 */
+ Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 173 */
+ Tcl_Obj * (*tcl_NewLongObj) _ANSI_ARGS_((long longValue)); /* 174 */
+ Tcl_Obj * (*tcl_NewObj) _ANSI_ARGS_((void)); /* 175 */
+ Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((char * bytes, int length)); /* 176 */
+ Tcl_HashEntry * (*tcl_NextHashEntry) _ANSI_ARGS_((Tcl_HashSearch * searchPtr)); /* 177 */
+ void (*tcl_NotifyChannel) _ANSI_ARGS_((Tcl_Channel channel, int mask)); /* 178 */
+ Tcl_Obj * (*tcl_ObjGetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags)); /* 179 */
+ Tcl_Obj * (*tcl_ObjSetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags)); /* 180 */
+ Tcl_Channel (*tcl_OpenCommandChannel) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 181 */
+ Tcl_Channel (*tcl_OpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 182 */
+ Tcl_Channel (*tcl_OpenTcpClient) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * address, char * myaddr, int myport, int async)); /* 183 */
+ Tcl_Channel (*tcl_OpenTcpServer) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData)); /* 184 */
+ void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 185 */
+ void (*tcl_PanicVA) _ANSI_ARGS_((char * format, va_list argList)); /* 186 */
+ char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr)); /* 187 */
+ char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 188 */
+ char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 189 */
+ int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version)); /* 190 */
+ int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, ClientData clientData)); /* 191 */
+ char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 192 */
+ char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 193 */
+ char * (*tcl_PosixError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 194 */
+ void (*tcl_Preserve) _ANSI_ARGS_((ClientData data)); /* 195 */
+ void (*tcl_PrintDouble) _ANSI_ARGS_((Tcl_Interp * interp, double value, char * dst)); /* 196 */
+ int (*tcl_PutEnv) _ANSI_ARGS_((CONST char * string)); /* 197 */
+ void (*tcl_QueueEvent) _ANSI_ARGS_((Tcl_Event * evPtr, Tcl_QueuePosition position)); /* 198 */
+ int (*tcl_Read) _ANSI_ARGS_((Tcl_Channel chan, char * bufPtr, int toRead)); /* 199 */
+ char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 200 */
+ void (*tcl_ReapDetachedProcs) _ANSI_ARGS_((void)); /* 201 */
+ int (*tcl_RecordAndEval) _ANSI_ARGS_((Tcl_Interp * interp, char * cmd, int flags)); /* 202 */
+ int (*tcl_RecordAndEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags)); /* 203 */
+ Tcl_RegExp (*tcl_RegExpCompile) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 204 */
+ int (*tcl_RegExpExec) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, char * string, char * start)); /* 205 */
+ int (*tcl_RegExpMatch) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * pattern)); /* 206 */
+ void (*tcl_RegExpRange) _ANSI_ARGS_((Tcl_RegExp regexp, int index, char ** startPtr, char ** endPtr)); /* 207 */
+ void (*tcl_RegisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 208 */
+ void (*tcl_RegisterObjType) _ANSI_ARGS_((Tcl_ObjType * typePtr)); /* 209 */
+ void (*tcl_Release) _ANSI_ARGS_((ClientData clientData)); /* 210 */
+ void (*tcl_ResetResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 211 */
+ int (*tcl_ScanCountedElement) _ANSI_ARGS_((CONST char * string, int length, int * flagPtr)); /* 212 */
+ int (*tcl_ScanElement) _ANSI_ARGS_((CONST char * string, int * flagPtr)); /* 213 */
+ int (*tcl_Seek) _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); /* 214 */
+ int (*tcl_ServiceAll) _ANSI_ARGS_((void)); /* 215 */
+ int (*tcl_ServiceEvent) _ANSI_ARGS_((int flags)); /* 216 */
+ void (*tcl_SetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 217 */
+ void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 218 */
+ unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 219 */
+ void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, unsigned char * bytes, int length)); /* 220 */
+ void (*tcl_SetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan, int sz)); /* 221 */
+ int (*tcl_SetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, char * newValue)); /* 222 */
+ int (*tcl_SetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 223 */
+ void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 224 */
+ void (*tcl_SetErrno) _ANSI_ARGS_((int err)); /* 225 */
+ void (*tcl_SetErrorCode) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 226 */
+ void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 227 */
+ void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 228 */
+ void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 229 */
+ void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 230 */
+ void (*tcl_SetMaxBlockTime) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 231 */
+ void (*tcl_SetObjErrorCode) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * errorObjPtr)); /* 232 */
+ void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 233 */
+ void (*tcl_SetObjResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * resultObjPtr)); /* 234 */
+ void (*tcl_SetPanicProc) _ANSI_ARGS_((Tcl_PanicProc * panicProc)); /* 235 */
+ int (*tcl_SetRecursionLimit) _ANSI_ARGS_((Tcl_Interp * interp, int depth)); /* 236 */
+ void (*tcl_SetResult) _ANSI_ARGS_((Tcl_Interp * interp, char * string, Tcl_FreeProc * freeProc)); /* 237 */
+ int (*tcl_SetServiceMode) _ANSI_ARGS_((int mode)); /* 238 */
+ void (*tcl_SetStdChannel) _ANSI_ARGS_((Tcl_Channel channel, int type)); /* 239 */
+ void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 240 */
+ void (*tcl_SetTimer) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 241 */
+ char * (*tcl_SetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * newValue, int flags)); /* 242 */
+ char * (*tcl_SetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, char * newValue, int flags)); /* 243 */
+ char * (*tcl_SignalId) _ANSI_ARGS_((int sig)); /* 244 */
+ char * (*tcl_SignalMsg) _ANSI_ARGS_((int sig)); /* 245 */
+ void (*tcl_Sleep) _ANSI_ARGS_((int ms)); /* 246 */
+ void (*tcl_SourceRCFile) _ANSI_ARGS_((Tcl_Interp * interp)); /* 247 */
+ int (*tcl_SplitList) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int * argcPtr, char *** argvPtr)); /* 248 */
+ void (*tcl_SplitPath) _ANSI_ARGS_((char * path, int * argcPtr, char *** argvPtr)); /* 249 */
+ void (*tcl_StaticPackage) _ANSI_ARGS_((Tcl_Interp * interp, char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc)); /* 250 */
+ int (*tcl_StringMatch) _ANSI_ARGS_((char * string, char * pattern)); /* 251 */
+ int (*tcl_Tell) _ANSI_ARGS_((Tcl_Channel chan)); /* 252 */
+ int (*tcl_TraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 253 */
+ int (*tcl_TraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 254 */
+ char * (*tcl_TranslateFileName) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_DString * bufferPtr)); /* 255 */
+ int (*tcl_Ungets) _ANSI_ARGS_((Tcl_Channel chan, char * str, int len, int atHead)); /* 256 */
+ void (*tcl_UnlinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 257 */
+ int (*tcl_UnregisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 258 */
+ int (*tcl_UnsetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 259 */
+ int (*tcl_UnsetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 260 */
+ void (*tcl_UntraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 261 */
+ void (*tcl_UntraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 262 */
+ void (*tcl_UpdateLinkedVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 263 */
+ int (*tcl_UpVar) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * varName, char * localName, int flags)); /* 264 */
+ int (*tcl_UpVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * part1, char * part2, char * localName, int flags)); /* 265 */
+ void (*tcl_ValidateAllMemory) _ANSI_ARGS_((char * file, int line)); /* 266 */
+ int (*tcl_VarEval) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 267 */
+ int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 268 */
+ ClientData (*tcl_VarTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 269 */
+ ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 270 */
+ int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 271 */
+ Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 272 */
+ int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); /* 273 */
+ void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); /* 274 */
+} TclStubs;
+
+extern TclStubs *tclStubsPtr;
+
+#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+#ifndef Tcl_AddErrorInfo
+#define Tcl_AddErrorInfo(interp, message) \
+ (tclStubsPtr->tcl_AddErrorInfo)(interp, message) /* 0 */
+#endif
+#ifndef Tcl_AddObjErrorInfo
+#define Tcl_AddObjErrorInfo(interp, message, length) \
+ (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length) /* 1 */
+#endif
+#ifndef Tcl_Alloc
+#define Tcl_Alloc(size) \
+ (tclStubsPtr->tcl_Alloc)(size) /* 2 */
+#endif
+#ifndef Tcl_AllowExceptions
+#define Tcl_AllowExceptions(interp) \
+ (tclStubsPtr->tcl_AllowExceptions)(interp) /* 3 */
+#endif
+#ifndef Tcl_AppendAllObjTypes
+#define Tcl_AppendAllObjTypes(interp, objPtr) \
+ (tclStubsPtr->tcl_AppendAllObjTypes)(interp, objPtr) /* 4 */
+#endif
+#ifndef Tcl_AppendElement
+#define Tcl_AppendElement(interp, string) \
+ (tclStubsPtr->tcl_AppendElement)(interp, string) /* 5 */
+#endif
+#ifndef Tcl_AppendResult
+#define Tcl_AppendResult \
+ (tclStubsPtr->tcl_AppendResult) /* 6 */
+#endif
+#ifndef Tcl_AppendResultVA
+#define Tcl_AppendResultVA(interp, argList) \
+ (tclStubsPtr->tcl_AppendResultVA)(interp, argList) /* 7 */
+#endif
+#ifndef Tcl_AppendToObj
+#define Tcl_AppendToObj(objPtr, bytes, length) \
+ (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length) /* 8 */
+#endif
+#ifndef Tcl_AppendStringsToObj
+#define Tcl_AppendStringsToObj \
+ (tclStubsPtr->tcl_AppendStringsToObj) /* 9 */
+#endif
+#ifndef Tcl_AppendStringsToObjVA
+#define Tcl_AppendStringsToObjVA(objPtr, argList) \
+ (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList) /* 10 */
+#endif
+#ifndef Tcl_AsyncCreate
+#define Tcl_AsyncCreate(proc, clientData) \
+ (tclStubsPtr->tcl_AsyncCreate)(proc, clientData) /* 11 */
+#endif
+#ifndef Tcl_AsyncDelete
+#define Tcl_AsyncDelete(async) \
+ (tclStubsPtr->tcl_AsyncDelete)(async) /* 12 */
+#endif
+#ifndef Tcl_AsyncInvoke
+#define Tcl_AsyncInvoke(interp, code) \
+ (tclStubsPtr->tcl_AsyncInvoke)(interp, code) /* 13 */
+#endif
+#ifndef Tcl_AsyncMark
+#define Tcl_AsyncMark(async) \
+ (tclStubsPtr->tcl_AsyncMark)(async) /* 14 */
+#endif
+#ifndef Tcl_AsyncReady
+#define Tcl_AsyncReady() \
+ (tclStubsPtr->tcl_AsyncReady)() /* 15 */
+#endif
+#ifndef Tcl_BackgroundError
+#define Tcl_BackgroundError(interp) \
+ (tclStubsPtr->tcl_BackgroundError)(interp) /* 16 */
+#endif
+#ifndef Tcl_Backslash
+#define Tcl_Backslash(src, readPtr) \
+ (tclStubsPtr->tcl_Backslash)(src, readPtr) /* 17 */
+#endif
+#ifndef Tcl_BadChannelOption
+#define Tcl_BadChannelOption(interp, optionName, optionList) \
+ (tclStubsPtr->tcl_BadChannelOption)(interp, optionName, optionList) /* 18 */
+#endif
+#ifndef Tcl_CallWhenDeleted
+#define Tcl_CallWhenDeleted(interp, proc, clientData) \
+ (tclStubsPtr->tcl_CallWhenDeleted)(interp, proc, clientData) /* 19 */
+#endif
+#ifndef Tcl_CancelIdleCall
+#define Tcl_CancelIdleCall(idleProc, clientData) \
+ (tclStubsPtr->tcl_CancelIdleCall)(idleProc, clientData) /* 20 */
+#endif
+#ifndef Tcl_Close
+#define Tcl_Close(interp, chan) \
+ (tclStubsPtr->tcl_Close)(interp, chan) /* 21 */
+#endif
+#ifndef Tcl_CommandComplete
+#define Tcl_CommandComplete(cmd) \
+ (tclStubsPtr->tcl_CommandComplete)(cmd) /* 22 */
+#endif
+#ifndef Tcl_Concat
+#define Tcl_Concat(argc, argv) \
+ (tclStubsPtr->tcl_Concat)(argc, argv) /* 23 */
+#endif
+#ifndef Tcl_ConcatObj
+#define Tcl_ConcatObj(objc, objv) \
+ (tclStubsPtr->tcl_ConcatObj)(objc, objv) /* 24 */
+#endif
+#ifndef Tcl_ConvertCountedElement
+#define Tcl_ConvertCountedElement(src, length, dst, flags) \
+ (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags) /* 25 */
+#endif
+#ifndef Tcl_ConvertElement
+#define Tcl_ConvertElement(src, dst, flags) \
+ (tclStubsPtr->tcl_ConvertElement)(src, dst, flags) /* 26 */
+#endif
+#ifndef Tcl_ConvertToType
+#define Tcl_ConvertToType(interp, objPtr, typePtr) \
+ (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr) /* 27 */
+#endif
+#ifndef Tcl_CreateAlias
+#define Tcl_CreateAlias(slave, slaveCmd, target, targetCmd, argc, argv) \
+ (tclStubsPtr->tcl_CreateAlias)(slave, slaveCmd, target, targetCmd, argc, argv) /* 28 */
+#endif
+#ifndef Tcl_CreateAliasObj
+#define Tcl_CreateAliasObj(slave, slaveCmd, target, targetCmd, objc, objv) \
+ (tclStubsPtr->tcl_CreateAliasObj)(slave, slaveCmd, target, targetCmd, objc, objv) /* 29 */
+#endif
+#ifndef Tcl_CreateChannel
+#define Tcl_CreateChannel(typePtr, chanName, instanceData, mask) \
+ (tclStubsPtr->tcl_CreateChannel)(typePtr, chanName, instanceData, mask) /* 30 */
+#endif
+#ifndef Tcl_CreateChannelHandler
+#define Tcl_CreateChannelHandler(chan, mask, proc, clientData) \
+ (tclStubsPtr->tcl_CreateChannelHandler)(chan, mask, proc, clientData) /* 31 */
+#endif
+#ifndef Tcl_CreateCloseHandler
+#define Tcl_CreateCloseHandler(chan, proc, clientData) \
+ (tclStubsPtr->tcl_CreateCloseHandler)(chan, proc, clientData) /* 32 */
+#endif
+#ifndef Tcl_CreateCommand
+#define Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc) \
+ (tclStubsPtr->tcl_CreateCommand)(interp, cmdName, proc, clientData, deleteProc) /* 33 */
+#endif
+#ifndef Tcl_CreateEventSource
+#define Tcl_CreateEventSource(setupProc, checkProc, clientData) \
+ (tclStubsPtr->tcl_CreateEventSource)(setupProc, checkProc, clientData) /* 34 */
+#endif
+#ifndef Tcl_CreateExitHandler
+#define Tcl_CreateExitHandler(proc, clientData) \
+ (tclStubsPtr->tcl_CreateExitHandler)(proc, clientData) /* 35 */
+#endif
+#ifndef Tcl_CreateInterp
+#define Tcl_CreateInterp() \
+ (tclStubsPtr->tcl_CreateInterp)() /* 36 */
+#endif
+#ifndef Tcl_CreateMathFunc
+#define Tcl_CreateMathFunc(interp, name, numArgs, argTypes, proc, clientData) \
+ (tclStubsPtr->tcl_CreateMathFunc)(interp, name, numArgs, argTypes, proc, clientData) /* 37 */
+#endif
+#ifndef Tcl_CreateObjCommand
+#define Tcl_CreateObjCommand(interp, cmdName, proc, clientData, deleteProc) \
+ (tclStubsPtr->tcl_CreateObjCommand)(interp, cmdName, proc, clientData, deleteProc) /* 38 */
+#endif
+#ifndef Tcl_CreateSlave
+#define Tcl_CreateSlave(interp, slaveName, isSafe) \
+ (tclStubsPtr->tcl_CreateSlave)(interp, slaveName, isSafe) /* 39 */
+#endif
+#ifndef Tcl_CreateTimerHandler
+#define Tcl_CreateTimerHandler(milliseconds, proc, clientData) \
+ (tclStubsPtr->tcl_CreateTimerHandler)(milliseconds, proc, clientData) /* 40 */
+#endif
+#ifndef Tcl_CreateTrace
+#define Tcl_CreateTrace(interp, level, proc, clientData) \
+ (tclStubsPtr->tcl_CreateTrace)(interp, level, proc, clientData) /* 41 */
+#endif
+#ifndef Tcl_DbCkalloc
+#define Tcl_DbCkalloc(size, file, line) \
+ (tclStubsPtr->tcl_DbCkalloc)(size, file, line) /* 42 */
+#endif
+#ifndef Tcl_DbCkfree
+#define Tcl_DbCkfree(ptr, file, line) \
+ (tclStubsPtr->tcl_DbCkfree)(ptr, file, line) /* 43 */
+#endif
+#ifndef Tcl_DbCkrealloc
+#define Tcl_DbCkrealloc(ptr, size, file, line) \
+ (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line) /* 44 */
+#endif
+#ifndef Tcl_DbDecrRefCount
+#define Tcl_DbDecrRefCount(objPtr, file, line) \
+ (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line) /* 45 */
+#endif
+#ifndef Tcl_DbIncrRefCount
+#define Tcl_DbIncrRefCount(objPtr, file, line) \
+ (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line) /* 46 */
+#endif
+#ifndef Tcl_DbIsShared
+#define Tcl_DbIsShared(objPtr, file, line) \
+ (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line) /* 47 */
+#endif
+#ifndef Tcl_DbNewBooleanObj
+#define Tcl_DbNewBooleanObj(boolValue, file, line) \
+ (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line) /* 48 */
+#endif
+#ifndef Tcl_DbNewByteArrayObj
+#define Tcl_DbNewByteArrayObj(bytes, length, file, line) \
+ (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line) /* 49 */
+#endif
+#ifndef Tcl_DbNewDoubleObj
+#define Tcl_DbNewDoubleObj(doubleValue, file, line) \
+ (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line) /* 50 */
+#endif
+#ifndef Tcl_DbNewListObj
+#define Tcl_DbNewListObj(objc, objv, file, line) \
+ (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line) /* 51 */
+#endif
+#ifndef Tcl_DbNewLongObj
+#define Tcl_DbNewLongObj(longValue, file, line) \
+ (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line) /* 52 */
+#endif
+#ifndef Tcl_DbNewObj
+#define Tcl_DbNewObj(file, line) \
+ (tclStubsPtr->tcl_DbNewObj)(file, line) /* 53 */
+#endif
+#ifndef Tcl_DbNewStringObj
+#define Tcl_DbNewStringObj(bytes, length, file, line) \
+ (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line) /* 54 */
+#endif
+#ifndef Tcl_DeleteAssocData
+#define Tcl_DeleteAssocData(interp, name) \
+ (tclStubsPtr->tcl_DeleteAssocData)(interp, name) /* 55 */
+#endif
+#ifndef Tcl_DeleteCommand
+#define Tcl_DeleteCommand(interp, cmdName) \
+ (tclStubsPtr->tcl_DeleteCommand)(interp, cmdName) /* 56 */
+#endif
+#ifndef Tcl_DeleteCommandFromToken
+#define Tcl_DeleteCommandFromToken(interp, command) \
+ (tclStubsPtr->tcl_DeleteCommandFromToken)(interp, command) /* 57 */
+#endif
+#ifndef Tcl_DeleteChannelHandler
+#define Tcl_DeleteChannelHandler(chan, proc, clientData) \
+ (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData) /* 58 */
+#endif
+#ifndef Tcl_DeleteCloseHandler
+#define Tcl_DeleteCloseHandler(chan, proc, clientData) \
+ (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData) /* 59 */
+#endif
+#ifndef Tcl_DeleteEvents
+#define Tcl_DeleteEvents(proc, clientData) \
+ (tclStubsPtr->tcl_DeleteEvents)(proc, clientData) /* 60 */
+#endif
+#ifndef Tcl_DeleteEventSource
+#define Tcl_DeleteEventSource(setupProc, checkProc, clientData) \
+ (tclStubsPtr->tcl_DeleteEventSource)(setupProc, checkProc, clientData) /* 61 */
+#endif
+#ifndef Tcl_DeleteExitHandler
+#define Tcl_DeleteExitHandler(proc, clientData) \
+ (tclStubsPtr->tcl_DeleteExitHandler)(proc, clientData) /* 62 */
+#endif
+#ifndef Tcl_DeleteHashEntry
+#define Tcl_DeleteHashEntry(entryPtr) \
+ (tclStubsPtr->tcl_DeleteHashEntry)(entryPtr) /* 63 */
+#endif
+#ifndef Tcl_DeleteHashTable
+#define Tcl_DeleteHashTable(tablePtr) \
+ (tclStubsPtr->tcl_DeleteHashTable)(tablePtr) /* 64 */
+#endif
+#ifndef Tcl_DeleteInterp
+#define Tcl_DeleteInterp(interp) \
+ (tclStubsPtr->tcl_DeleteInterp)(interp) /* 65 */
+#endif
+#ifndef Tcl_DeleteTimerHandler
+#define Tcl_DeleteTimerHandler(token) \
+ (tclStubsPtr->tcl_DeleteTimerHandler)(token) /* 66 */
+#endif
+#ifndef Tcl_DeleteTrace
+#define Tcl_DeleteTrace(interp, trace) \
+ (tclStubsPtr->tcl_DeleteTrace)(interp, trace) /* 67 */
+#endif
+#ifndef Tcl_DetachPids
+#define Tcl_DetachPids(numPids, pidPtr) \
+ (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr) /* 68 */
+#endif
+#ifndef Tcl_DontCallWhenDeleted
+#define Tcl_DontCallWhenDeleted(interp, proc, clientData) \
+ (tclStubsPtr->tcl_DontCallWhenDeleted)(interp, proc, clientData) /* 69 */
+#endif
+#ifndef Tcl_DoOneEvent
+#define Tcl_DoOneEvent(flags) \
+ (tclStubsPtr->tcl_DoOneEvent)(flags) /* 70 */
+#endif
+#ifndef Tcl_DoWhenIdle
+#define Tcl_DoWhenIdle(proc, clientData) \
+ (tclStubsPtr->tcl_DoWhenIdle)(proc, clientData) /* 71 */
+#endif
+#ifndef Tcl_DStringAppend
+#define Tcl_DStringAppend(dsPtr, string, length) \
+ (tclStubsPtr->tcl_DStringAppend)(dsPtr, string, length) /* 72 */
+#endif
+#ifndef Tcl_DStringAppendElement
+#define Tcl_DStringAppendElement(dsPtr, string) \
+ (tclStubsPtr->tcl_DStringAppendElement)(dsPtr, string) /* 73 */
+#endif
+#ifndef Tcl_DStringEndSublist
+#define Tcl_DStringEndSublist(dsPtr) \
+ (tclStubsPtr->tcl_DStringEndSublist)(dsPtr) /* 74 */
+#endif
+#ifndef Tcl_DStringFree
+#define Tcl_DStringFree(dsPtr) \
+ (tclStubsPtr->tcl_DStringFree)(dsPtr) /* 75 */
+#endif
+#ifndef Tcl_DStringGetResult
+#define Tcl_DStringGetResult(interp, dsPtr) \
+ (tclStubsPtr->tcl_DStringGetResult)(interp, dsPtr) /* 76 */
+#endif
+#ifndef Tcl_DStringInit
+#define Tcl_DStringInit(dsPtr) \
+ (tclStubsPtr->tcl_DStringInit)(dsPtr) /* 77 */
+#endif
+#ifndef Tcl_DStringResult
+#define Tcl_DStringResult(interp, dsPtr) \
+ (tclStubsPtr->tcl_DStringResult)(interp, dsPtr) /* 78 */
+#endif
+#ifndef Tcl_DStringSetLength
+#define Tcl_DStringSetLength(dsPtr, length) \
+ (tclStubsPtr->tcl_DStringSetLength)(dsPtr, length) /* 79 */
+#endif
+#ifndef Tcl_DStringStartSublist
+#define Tcl_DStringStartSublist(dsPtr) \
+ (tclStubsPtr->tcl_DStringStartSublist)(dsPtr) /* 80 */
+#endif
+#ifndef Tcl_DumpActiveMemory
+#define Tcl_DumpActiveMemory(fileName) \
+ (tclStubsPtr->tcl_DumpActiveMemory)(fileName) /* 81 */
+#endif
+#ifndef Tcl_DuplicateObj
+#define Tcl_DuplicateObj(objPtr) \
+ (tclStubsPtr->tcl_DuplicateObj)(objPtr) /* 82 */
+#endif
+#ifndef Tcl_Eof
+#define Tcl_Eof(chan) \
+ (tclStubsPtr->tcl_Eof)(chan) /* 83 */
+#endif
+#ifndef Tcl_ErrnoId
+#define Tcl_ErrnoId() \
+ (tclStubsPtr->tcl_ErrnoId)() /* 84 */
+#endif
+#ifndef Tcl_ErrnoMsg
+#define Tcl_ErrnoMsg(err) \
+ (tclStubsPtr->tcl_ErrnoMsg)(err) /* 85 */
+#endif
+#ifndef Tcl_Eval
+#define Tcl_Eval(interp, string) \
+ (tclStubsPtr->tcl_Eval)(interp, string) /* 86 */
+#endif
+#ifndef Tcl_EvalFile
+#define Tcl_EvalFile(interp, fileName) \
+ (tclStubsPtr->tcl_EvalFile)(interp, fileName) /* 87 */
+#endif
+#ifndef Tcl_EventuallyFree
+#define Tcl_EventuallyFree(clientData, freeProc) \
+ (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc) /* 88 */
+#endif
+#ifndef Tcl_EvalObj
+#define Tcl_EvalObj(interp, objPtr) \
+ (tclStubsPtr->tcl_EvalObj)(interp, objPtr) /* 89 */
+#endif
+#ifndef Tcl_Exit
+#define Tcl_Exit(status) \
+ (tclStubsPtr->tcl_Exit)(status) /* 90 */
+#endif
+#ifndef Tcl_ExposeCommand
+#define Tcl_ExposeCommand(interp, hiddenCmdToken, cmdName) \
+ (tclStubsPtr->tcl_ExposeCommand)(interp, hiddenCmdToken, cmdName) /* 91 */
+#endif
+#ifndef Tcl_ExprBoolean
+#define Tcl_ExprBoolean(interp, string, ptr) \
+ (tclStubsPtr->tcl_ExprBoolean)(interp, string, ptr) /* 92 */
+#endif
+#ifndef Tcl_ExprBooleanObj
+#define Tcl_ExprBooleanObj(interp, objPtr, ptr) \
+ (tclStubsPtr->tcl_ExprBooleanObj)(interp, objPtr, ptr) /* 93 */
+#endif
+#ifndef Tcl_ExprDouble
+#define Tcl_ExprDouble(interp, string, ptr) \
+ (tclStubsPtr->tcl_ExprDouble)(interp, string, ptr) /* 94 */
+#endif
+#ifndef Tcl_ExprDoubleObj
+#define Tcl_ExprDoubleObj(interp, objPtr, ptr) \
+ (tclStubsPtr->tcl_ExprDoubleObj)(interp, objPtr, ptr) /* 95 */
+#endif
+#ifndef Tcl_ExprLong
+#define Tcl_ExprLong(interp, string, ptr) \
+ (tclStubsPtr->tcl_ExprLong)(interp, string, ptr) /* 96 */
+#endif
+#ifndef Tcl_ExprLongObj
+#define Tcl_ExprLongObj(interp, objPtr, ptr) \
+ (tclStubsPtr->tcl_ExprLongObj)(interp, objPtr, ptr) /* 97 */
+#endif
+#ifndef Tcl_ExprObj
+#define Tcl_ExprObj(interp, objPtr, resultPtrPtr) \
+ (tclStubsPtr->tcl_ExprObj)(interp, objPtr, resultPtrPtr) /* 98 */
+#endif
+#ifndef Tcl_ExprString
+#define Tcl_ExprString(interp, string) \
+ (tclStubsPtr->tcl_ExprString)(interp, string) /* 99 */
+#endif
+#ifndef Tcl_Finalize
+#define Tcl_Finalize() \
+ (tclStubsPtr->tcl_Finalize)() /* 100 */
+#endif
+#ifndef Tcl_FindExecutable
+#define Tcl_FindExecutable(argv0) \
+ (tclStubsPtr->tcl_FindExecutable)(argv0) /* 101 */
+#endif
+#ifndef Tcl_FirstHashEntry
+#define Tcl_FirstHashEntry(tablePtr, searchPtr) \
+ (tclStubsPtr->tcl_FirstHashEntry)(tablePtr, searchPtr) /* 102 */
+#endif
+#ifndef Tcl_Flush
+#define Tcl_Flush(chan) \
+ (tclStubsPtr->tcl_Flush)(chan) /* 103 */
+#endif
+#ifndef Tcl_Free
+#define Tcl_Free(ptr) \
+ (tclStubsPtr->tcl_Free)(ptr) /* 104 */
+#endif
+#ifndef TclFreeObj
+#define TclFreeObj(objPtr) \
+ (tclStubsPtr->tclFreeObj)(objPtr) /* 105 */
+#endif
+#ifndef Tcl_FreeResult
+#define Tcl_FreeResult(interp) \
+ (tclStubsPtr->tcl_FreeResult)(interp) /* 106 */
+#endif
+#ifndef Tcl_GetAlias
+#define Tcl_GetAlias(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) \
+ (tclStubsPtr->tcl_GetAlias)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) /* 107 */
+#endif
+#ifndef Tcl_GetAliasObj
+#define Tcl_GetAliasObj(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) \
+ (tclStubsPtr->tcl_GetAliasObj)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) /* 108 */
+#endif
+#ifndef Tcl_GetAssocData
+#define Tcl_GetAssocData(interp, name, procPtr) \
+ (tclStubsPtr->tcl_GetAssocData)(interp, name, procPtr) /* 109 */
+#endif
+#ifndef Tcl_GetBoolean
+#define Tcl_GetBoolean(interp, string, boolPtr) \
+ (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr) /* 110 */
+#endif
+#ifndef Tcl_GetBooleanFromObj
+#define Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) \
+ (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr) /* 111 */
+#endif
+#ifndef Tcl_GetByteArrayFromObj
+#define Tcl_GetByteArrayFromObj(objPtr, lengthPtr) \
+ (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr) /* 112 */
+#endif
+#ifndef Tcl_GetChannel
+#define Tcl_GetChannel(interp, chanName, modePtr) \
+ (tclStubsPtr->tcl_GetChannel)(interp, chanName, modePtr) /* 113 */
+#endif
+#ifndef Tcl_GetChannelBufferSize
+#define Tcl_GetChannelBufferSize(chan) \
+ (tclStubsPtr->tcl_GetChannelBufferSize)(chan) /* 114 */
+#endif
+#ifndef Tcl_GetChannelHandle
+#define Tcl_GetChannelHandle(chan, direction, handlePtr) \
+ (tclStubsPtr->tcl_GetChannelHandle)(chan, direction, handlePtr) /* 115 */
+#endif
+#ifndef Tcl_GetChannelInstanceData
+#define Tcl_GetChannelInstanceData(chan) \
+ (tclStubsPtr->tcl_GetChannelInstanceData)(chan) /* 116 */
+#endif
+#ifndef Tcl_GetChannelMode
+#define Tcl_GetChannelMode(chan) \
+ (tclStubsPtr->tcl_GetChannelMode)(chan) /* 117 */
+#endif
+#ifndef Tcl_GetChannelName
+#define Tcl_GetChannelName(chan) \
+ (tclStubsPtr->tcl_GetChannelName)(chan) /* 118 */
+#endif
+#ifndef Tcl_GetChannelOption
+#define Tcl_GetChannelOption(interp, chan, optionName, dsPtr) \
+ (tclStubsPtr->tcl_GetChannelOption)(interp, chan, optionName, dsPtr) /* 119 */
+#endif
+#ifndef Tcl_GetChannelType
+#define Tcl_GetChannelType(chan) \
+ (tclStubsPtr->tcl_GetChannelType)(chan) /* 120 */
+#endif
+#ifndef Tcl_GetCommandInfo
+#define Tcl_GetCommandInfo(interp, cmdName, infoPtr) \
+ (tclStubsPtr->tcl_GetCommandInfo)(interp, cmdName, infoPtr) /* 121 */
+#endif
+#ifndef Tcl_GetCommandName
+#define Tcl_GetCommandName(interp, command) \
+ (tclStubsPtr->tcl_GetCommandName)(interp, command) /* 122 */
+#endif
+#ifndef Tcl_GetDouble
+#define Tcl_GetDouble(interp, string, doublePtr) \
+ (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr) /* 123 */
+#endif
+#ifndef Tcl_GetDoubleFromObj
+#define Tcl_GetDoubleFromObj(interp, objPtr, doublePtr) \
+ (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr) /* 124 */
+#endif
+#ifndef Tcl_GetErrno
+#define Tcl_GetErrno() \
+ (tclStubsPtr->tcl_GetErrno)() /* 125 */
+#endif
+#ifndef Tcl_GetHostName
+#define Tcl_GetHostName() \
+ (tclStubsPtr->tcl_GetHostName)() /* 126 */
+#endif
+#ifndef Tcl_GetIndexFromObj
+#define Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr) \
+ (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr) /* 127 */
+#endif
+#ifndef Tcl_GetInt
+#define Tcl_GetInt(interp, string, intPtr) \
+ (tclStubsPtr->tcl_GetInt)(interp, string, intPtr) /* 128 */
+#endif
+#ifndef Tcl_GetInterpPath
+#define Tcl_GetInterpPath(askInterp, slaveInterp) \
+ (tclStubsPtr->tcl_GetInterpPath)(askInterp, slaveInterp) /* 129 */
+#endif
+#ifndef Tcl_GetIntFromObj
+#define Tcl_GetIntFromObj(interp, objPtr, intPtr) \
+ (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr) /* 130 */
+#endif
+#ifndef Tcl_GetLongFromObj
+#define Tcl_GetLongFromObj(interp, objPtr, longPtr) \
+ (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr) /* 131 */
+#endif
+#ifndef Tcl_GetMaster
+#define Tcl_GetMaster(interp) \
+ (tclStubsPtr->tcl_GetMaster)(interp) /* 132 */
+#endif
+#ifndef Tcl_GetNameOfExecutable
+#define Tcl_GetNameOfExecutable() \
+ (tclStubsPtr->tcl_GetNameOfExecutable)() /* 133 */
+#endif
+#ifndef Tcl_GetObjResult
+#define Tcl_GetObjResult(interp) \
+ (tclStubsPtr->tcl_GetObjResult)(interp) /* 134 */
+#endif
+#ifndef Tcl_GetObjType
+#define Tcl_GetObjType(typeName) \
+ (tclStubsPtr->tcl_GetObjType)(typeName) /* 135 */
+#endif
+#ifndef Tcl_GetPathType
+#define Tcl_GetPathType(path) \
+ (tclStubsPtr->tcl_GetPathType)(path) /* 136 */
+#endif
+#ifndef Tcl_Gets
+#define Tcl_Gets(chan, dsPtr) \
+ (tclStubsPtr->tcl_Gets)(chan, dsPtr) /* 137 */
+#endif
+#ifndef Tcl_GetsObj
+#define Tcl_GetsObj(chan, objPtr) \
+ (tclStubsPtr->tcl_GetsObj)(chan, objPtr) /* 138 */
+#endif
+#ifndef Tcl_GetServiceMode
+#define Tcl_GetServiceMode() \
+ (tclStubsPtr->tcl_GetServiceMode)() /* 139 */
+#endif
+#ifndef Tcl_GetSlave
+#define Tcl_GetSlave(interp, slaveName) \
+ (tclStubsPtr->tcl_GetSlave)(interp, slaveName) /* 140 */
+#endif
+#ifndef Tcl_GetStdChannel
+#define Tcl_GetStdChannel(type) \
+ (tclStubsPtr->tcl_GetStdChannel)(type) /* 141 */
+#endif
+#ifndef Tcl_GetStringFromObj
+#define Tcl_GetStringFromObj(objPtr, lengthPtr) \
+ (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr) /* 142 */
+#endif
+#ifndef Tcl_GetStringResult
+#define Tcl_GetStringResult(interp) \
+ (tclStubsPtr->tcl_GetStringResult)(interp) /* 143 */
+#endif
+#ifndef Tcl_GetVar
+#define Tcl_GetVar(interp, varName, flags) \
+ (tclStubsPtr->tcl_GetVar)(interp, varName, flags) /* 144 */
+#endif
+#ifndef Tcl_GetVar2
+#define Tcl_GetVar2(interp, part1, part2, flags) \
+ (tclStubsPtr->tcl_GetVar2)(interp, part1, part2, flags) /* 145 */
+#endif
+#ifndef Tcl_GlobalEval
+#define Tcl_GlobalEval(interp, command) \
+ (tclStubsPtr->tcl_GlobalEval)(interp, command) /* 146 */
+#endif
+#ifndef Tcl_GlobalEvalObj
+#define Tcl_GlobalEvalObj(interp, objPtr) \
+ (tclStubsPtr->tcl_GlobalEvalObj)(interp, objPtr) /* 147 */
+#endif
+#ifndef Tcl_HashStats
+#define Tcl_HashStats(tablePtr) \
+ (tclStubsPtr->tcl_HashStats)(tablePtr) /* 148 */
+#endif
+#ifndef Tcl_HideCommand
+#define Tcl_HideCommand(interp, cmdName, hiddenCmdToken) \
+ (tclStubsPtr->tcl_HideCommand)(interp, cmdName, hiddenCmdToken) /* 149 */
+#endif
+#ifndef Tcl_Init
+#define Tcl_Init(interp) \
+ (tclStubsPtr->tcl_Init)(interp) /* 150 */
+#endif
+#ifndef Tcl_InitHashTable
+#define Tcl_InitHashTable(tablePtr, keyType) \
+ (tclStubsPtr->tcl_InitHashTable)(tablePtr, keyType) /* 151 */
+#endif
+#ifndef Tcl_InputBlocked
+#define Tcl_InputBlocked(chan) \
+ (tclStubsPtr->tcl_InputBlocked)(chan) /* 152 */
+#endif
+#ifndef Tcl_InputBuffered
+#define Tcl_InputBuffered(chan) \
+ (tclStubsPtr->tcl_InputBuffered)(chan) /* 153 */
+#endif
+#ifndef Tcl_InterpDeleted
+#define Tcl_InterpDeleted(interp) \
+ (tclStubsPtr->tcl_InterpDeleted)(interp) /* 154 */
+#endif
+#ifndef Tcl_IsSafe
+#define Tcl_IsSafe(interp) \
+ (tclStubsPtr->tcl_IsSafe)(interp) /* 155 */
+#endif
+#ifndef Tcl_InvalidateStringRep
+#define Tcl_InvalidateStringRep(objPtr) \
+ (tclStubsPtr->tcl_InvalidateStringRep)(objPtr) /* 156 */
+#endif
+#ifndef Tcl_JoinPath
+#define Tcl_JoinPath(argc, argv, resultPtr) \
+ (tclStubsPtr->tcl_JoinPath)(argc, argv, resultPtr) /* 157 */
+#endif
+#ifndef Tcl_LinkVar
+#define Tcl_LinkVar(interp, varName, addr, type) \
+ (tclStubsPtr->tcl_LinkVar)(interp, varName, addr, type) /* 158 */
+#endif
+#ifndef Tcl_ListObjAppendList
+#define Tcl_ListObjAppendList(interp, listPtr, elemListPtr) \
+ (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr) /* 159 */
+#endif
+#ifndef Tcl_ListObjAppendElement
+#define Tcl_ListObjAppendElement(interp, listPtr, objPtr) \
+ (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr) /* 160 */
+#endif
+#ifndef Tcl_ListObjGetElements
+#define Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr) \
+ (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr) /* 161 */
+#endif
+#ifndef Tcl_ListObjIndex
+#define Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr) \
+ (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr) /* 162 */
+#endif
+#ifndef Tcl_ListObjLength
+#define Tcl_ListObjLength(interp, listPtr, intPtr) \
+ (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr) /* 163 */
+#endif
+#ifndef Tcl_ListObjReplace
+#define Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv) \
+ (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv) /* 164 */
+#endif
+#ifndef Tcl_MakeFileChannel
+#define Tcl_MakeFileChannel(handle, mode) \
+ (tclStubsPtr->tcl_MakeFileChannel)(handle, mode) /* 165 */
+#endif
+#ifndef Tcl_MakeSafe
+#define Tcl_MakeSafe(interp) \
+ (tclStubsPtr->tcl_MakeSafe)(interp) /* 166 */
+#endif
+#ifndef Tcl_MakeTcpClientChannel
+#define Tcl_MakeTcpClientChannel(tcpSocket) \
+ (tclStubsPtr->tcl_MakeTcpClientChannel)(tcpSocket) /* 167 */
+#endif
+#ifndef Tcl_Merge
+#define Tcl_Merge(argc, argv) \
+ (tclStubsPtr->tcl_Merge)(argc, argv) /* 168 */
+#endif
+#ifndef Tcl_NewBooleanObj
+#define Tcl_NewBooleanObj(boolValue) \
+ (tclStubsPtr->tcl_NewBooleanObj)(boolValue) /* 169 */
+#endif
+#ifndef Tcl_NewByteArrayObj
+#define Tcl_NewByteArrayObj(bytes, length) \
+ (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length) /* 170 */
+#endif
+#ifndef Tcl_NewDoubleObj
+#define Tcl_NewDoubleObj(doubleValue) \
+ (tclStubsPtr->tcl_NewDoubleObj)(doubleValue) /* 171 */
+#endif
+#ifndef Tcl_NewIntObj
+#define Tcl_NewIntObj(intValue) \
+ (tclStubsPtr->tcl_NewIntObj)(intValue) /* 172 */
+#endif
+#ifndef Tcl_NewListObj
+#define Tcl_NewListObj(objc, objv) \
+ (tclStubsPtr->tcl_NewListObj)(objc, objv) /* 173 */
+#endif
+#ifndef Tcl_NewLongObj
+#define Tcl_NewLongObj(longValue) \
+ (tclStubsPtr->tcl_NewLongObj)(longValue) /* 174 */
+#endif
+#ifndef Tcl_NewObj
+#define Tcl_NewObj() \
+ (tclStubsPtr->tcl_NewObj)() /* 175 */
+#endif
+#ifndef Tcl_NewStringObj
+#define Tcl_NewStringObj(bytes, length) \
+ (tclStubsPtr->tcl_NewStringObj)(bytes, length) /* 176 */
+#endif
+#ifndef Tcl_NextHashEntry
+#define Tcl_NextHashEntry(searchPtr) \
+ (tclStubsPtr->tcl_NextHashEntry)(searchPtr) /* 177 */
+#endif
+#ifndef Tcl_NotifyChannel
+#define Tcl_NotifyChannel(channel, mask) \
+ (tclStubsPtr->tcl_NotifyChannel)(channel, mask) /* 178 */
+#endif
+#ifndef Tcl_ObjGetVar2
+#define Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags) \
+ (tclStubsPtr->tcl_ObjGetVar2)(interp, part1Ptr, part2Ptr, flags) /* 179 */
+#endif
+#ifndef Tcl_ObjSetVar2
+#define Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags) \
+ (tclStubsPtr->tcl_ObjSetVar2)(interp, part1Ptr, part2Ptr, newValuePtr, flags) /* 180 */
+#endif
+#ifndef Tcl_OpenCommandChannel
+#define Tcl_OpenCommandChannel(interp, argc, argv, flags) \
+ (tclStubsPtr->tcl_OpenCommandChannel)(interp, argc, argv, flags) /* 181 */
+#endif
+#ifndef Tcl_OpenFileChannel
+#define Tcl_OpenFileChannel(interp, fileName, modeString, permissions) \
+ (tclStubsPtr->tcl_OpenFileChannel)(interp, fileName, modeString, permissions) /* 182 */
+#endif
+#ifndef Tcl_OpenTcpClient
+#define Tcl_OpenTcpClient(interp, port, address, myaddr, myport, async) \
+ (tclStubsPtr->tcl_OpenTcpClient)(interp, port, address, myaddr, myport, async) /* 183 */
+#endif
+#ifndef Tcl_OpenTcpServer
+#define Tcl_OpenTcpServer(interp, port, host, acceptProc, callbackData) \
+ (tclStubsPtr->tcl_OpenTcpServer)(interp, port, host, acceptProc, callbackData) /* 184 */
+#endif
+#ifndef Tcl_Panic
+#define Tcl_Panic \
+ (tclStubsPtr->tcl_Panic) /* 185 */
+#endif
+#ifndef Tcl_PanicVA
+#define Tcl_PanicVA(format, argList) \
+ (tclStubsPtr->tcl_PanicVA)(format, argList) /* 186 */
+#endif
+#ifndef Tcl_ParseVar
+#define Tcl_ParseVar(interp, string, termPtr) \
+ (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr) /* 187 */
+#endif
+#ifndef Tcl_PkgPresent
+#define Tcl_PkgPresent(interp, name, version, exact) \
+ (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact) /* 188 */
+#endif
+#ifndef Tcl_PkgPresentEx
+#define Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) \
+ (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr) /* 189 */
+#endif
+#ifndef Tcl_PkgProvide
+#define Tcl_PkgProvide(interp, name, version) \
+ (tclStubsPtr->tcl_PkgProvide)(interp, name, version) /* 190 */
+#endif
+#ifndef Tcl_PkgProvideEx
+#define Tcl_PkgProvideEx(interp, name, version, clientData) \
+ (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData) /* 191 */
+#endif
+#ifndef Tcl_PkgRequire
+#define Tcl_PkgRequire(interp, name, version, exact) \
+ (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact) /* 192 */
+#endif
+#ifndef Tcl_PkgRequireEx
+#define Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) \
+ (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr) /* 193 */
+#endif
+#ifndef Tcl_PosixError
+#define Tcl_PosixError(interp) \
+ (tclStubsPtr->tcl_PosixError)(interp) /* 194 */
+#endif
+#ifndef Tcl_Preserve
+#define Tcl_Preserve(data) \
+ (tclStubsPtr->tcl_Preserve)(data) /* 195 */
+#endif
+#ifndef Tcl_PrintDouble
+#define Tcl_PrintDouble(interp, value, dst) \
+ (tclStubsPtr->tcl_PrintDouble)(interp, value, dst) /* 196 */
+#endif
+#ifndef Tcl_PutEnv
+#define Tcl_PutEnv(string) \
+ (tclStubsPtr->tcl_PutEnv)(string) /* 197 */
+#endif
+#ifndef Tcl_QueueEvent
+#define Tcl_QueueEvent(evPtr, position) \
+ (tclStubsPtr->tcl_QueueEvent)(evPtr, position) /* 198 */
+#endif
+#ifndef Tcl_Read
+#define Tcl_Read(chan, bufPtr, toRead) \
+ (tclStubsPtr->tcl_Read)(chan, bufPtr, toRead) /* 199 */
+#endif
+#ifndef Tcl_Realloc
+#define Tcl_Realloc(ptr, size) \
+ (tclStubsPtr->tcl_Realloc)(ptr, size) /* 200 */
+#endif
+#ifndef Tcl_ReapDetachedProcs
+#define Tcl_ReapDetachedProcs() \
+ (tclStubsPtr->tcl_ReapDetachedProcs)() /* 201 */
+#endif
+#ifndef Tcl_RecordAndEval
+#define Tcl_RecordAndEval(interp, cmd, flags) \
+ (tclStubsPtr->tcl_RecordAndEval)(interp, cmd, flags) /* 202 */
+#endif
+#ifndef Tcl_RecordAndEvalObj
+#define Tcl_RecordAndEvalObj(interp, cmdPtr, flags) \
+ (tclStubsPtr->tcl_RecordAndEvalObj)(interp, cmdPtr, flags) /* 203 */
+#endif
+#ifndef Tcl_RegExpCompile
+#define Tcl_RegExpCompile(interp, string) \
+ (tclStubsPtr->tcl_RegExpCompile)(interp, string) /* 204 */
+#endif
+#ifndef Tcl_RegExpExec
+#define Tcl_RegExpExec(interp, regexp, string, start) \
+ (tclStubsPtr->tcl_RegExpExec)(interp, regexp, string, start) /* 205 */
+#endif
+#ifndef Tcl_RegExpMatch
+#define Tcl_RegExpMatch(interp, string, pattern) \
+ (tclStubsPtr->tcl_RegExpMatch)(interp, string, pattern) /* 206 */
+#endif
+#ifndef Tcl_RegExpRange
+#define Tcl_RegExpRange(regexp, index, startPtr, endPtr) \
+ (tclStubsPtr->tcl_RegExpRange)(regexp, index, startPtr, endPtr) /* 207 */
+#endif
+#ifndef Tcl_RegisterChannel
+#define Tcl_RegisterChannel(interp, chan) \
+ (tclStubsPtr->tcl_RegisterChannel)(interp, chan) /* 208 */
+#endif
+#ifndef Tcl_RegisterObjType
+#define Tcl_RegisterObjType(typePtr) \
+ (tclStubsPtr->tcl_RegisterObjType)(typePtr) /* 209 */
+#endif
+#ifndef Tcl_Release
+#define Tcl_Release(clientData) \
+ (tclStubsPtr->tcl_Release)(clientData) /* 210 */
+#endif
+#ifndef Tcl_ResetResult
+#define Tcl_ResetResult(interp) \
+ (tclStubsPtr->tcl_ResetResult)(interp) /* 211 */
+#endif
+#ifndef Tcl_ScanCountedElement
+#define Tcl_ScanCountedElement(string, length, flagPtr) \
+ (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr) /* 212 */
+#endif
+#ifndef Tcl_ScanElement
+#define Tcl_ScanElement(string, flagPtr) \
+ (tclStubsPtr->tcl_ScanElement)(string, flagPtr) /* 213 */
+#endif
+#ifndef Tcl_Seek
+#define Tcl_Seek(chan, offset, mode) \
+ (tclStubsPtr->tcl_Seek)(chan, offset, mode) /* 214 */
+#endif
+#ifndef Tcl_ServiceAll
+#define Tcl_ServiceAll() \
+ (tclStubsPtr->tcl_ServiceAll)() /* 215 */
+#endif
+#ifndef Tcl_ServiceEvent
+#define Tcl_ServiceEvent(flags) \
+ (tclStubsPtr->tcl_ServiceEvent)(flags) /* 216 */
+#endif
+#ifndef Tcl_SetAssocData
+#define Tcl_SetAssocData(interp, name, proc, clientData) \
+ (tclStubsPtr->tcl_SetAssocData)(interp, name, proc, clientData) /* 217 */
+#endif
+#ifndef Tcl_SetBooleanObj
+#define Tcl_SetBooleanObj(objPtr, boolValue) \
+ (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue) /* 218 */
+#endif
+#ifndef Tcl_SetByteArrayLength
+#define Tcl_SetByteArrayLength(objPtr, length) \
+ (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length) /* 219 */
+#endif
+#ifndef Tcl_SetByteArrayObj
+#define Tcl_SetByteArrayObj(objPtr, bytes, length) \
+ (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length) /* 220 */
+#endif
+#ifndef Tcl_SetChannelBufferSize
+#define Tcl_SetChannelBufferSize(chan, sz) \
+ (tclStubsPtr->tcl_SetChannelBufferSize)(chan, sz) /* 221 */
+#endif
+#ifndef Tcl_SetChannelOption
+#define Tcl_SetChannelOption(interp, chan, optionName, newValue) \
+ (tclStubsPtr->tcl_SetChannelOption)(interp, chan, optionName, newValue) /* 222 */
+#endif
+#ifndef Tcl_SetCommandInfo
+#define Tcl_SetCommandInfo(interp, cmdName, infoPtr) \
+ (tclStubsPtr->tcl_SetCommandInfo)(interp, cmdName, infoPtr) /* 223 */
+#endif
+#ifndef Tcl_SetDoubleObj
+#define Tcl_SetDoubleObj(objPtr, doubleValue) \
+ (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue) /* 224 */
+#endif
+#ifndef Tcl_SetErrno
+#define Tcl_SetErrno(err) \
+ (tclStubsPtr->tcl_SetErrno)(err) /* 225 */
+#endif
+#ifndef Tcl_SetErrorCode
+#define Tcl_SetErrorCode \
+ (tclStubsPtr->tcl_SetErrorCode) /* 226 */
+#endif
+#ifndef Tcl_SetErrorCodeVA
+#define Tcl_SetErrorCodeVA(interp, argList) \
+ (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList) /* 227 */
+#endif
+#ifndef Tcl_SetIntObj
+#define Tcl_SetIntObj(objPtr, intValue) \
+ (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue) /* 228 */
+#endif
+#ifndef Tcl_SetListObj
+#define Tcl_SetListObj(objPtr, objc, objv) \
+ (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv) /* 229 */
+#endif
+#ifndef Tcl_SetLongObj
+#define Tcl_SetLongObj(objPtr, longValue) \
+ (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue) /* 230 */
+#endif
+#ifndef Tcl_SetMaxBlockTime
+#define Tcl_SetMaxBlockTime(timePtr) \
+ (tclStubsPtr->tcl_SetMaxBlockTime)(timePtr) /* 231 */
+#endif
+#ifndef Tcl_SetObjErrorCode
+#define Tcl_SetObjErrorCode(interp, errorObjPtr) \
+ (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr) /* 232 */
+#endif
+#ifndef Tcl_SetObjLength
+#define Tcl_SetObjLength(objPtr, length) \
+ (tclStubsPtr->tcl_SetObjLength)(objPtr, length) /* 233 */
+#endif
+#ifndef Tcl_SetObjResult
+#define Tcl_SetObjResult(interp, resultObjPtr) \
+ (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr) /* 234 */
+#endif
+#ifndef Tcl_SetPanicProc
+#define Tcl_SetPanicProc(panicProc) \
+ (tclStubsPtr->tcl_SetPanicProc)(panicProc) /* 235 */
+#endif
+#ifndef Tcl_SetRecursionLimit
+#define Tcl_SetRecursionLimit(interp, depth) \
+ (tclStubsPtr->tcl_SetRecursionLimit)(interp, depth) /* 236 */
+#endif
+#ifndef Tcl_SetResult
+#define Tcl_SetResult(interp, string, freeProc) \
+ (tclStubsPtr->tcl_SetResult)(interp, string, freeProc) /* 237 */
+#endif
+#ifndef Tcl_SetServiceMode
+#define Tcl_SetServiceMode(mode) \
+ (tclStubsPtr->tcl_SetServiceMode)(mode) /* 238 */
+#endif
+#ifndef Tcl_SetStdChannel
+#define Tcl_SetStdChannel(channel, type) \
+ (tclStubsPtr->tcl_SetStdChannel)(channel, type) /* 239 */
+#endif
+#ifndef Tcl_SetStringObj
+#define Tcl_SetStringObj(objPtr, bytes, length) \
+ (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length) /* 240 */
+#endif
+#ifndef Tcl_SetTimer
+#define Tcl_SetTimer(timePtr) \
+ (tclStubsPtr->tcl_SetTimer)(timePtr) /* 241 */
+#endif
+#ifndef Tcl_SetVar
+#define Tcl_SetVar(interp, varName, newValue, flags) \
+ (tclStubsPtr->tcl_SetVar)(interp, varName, newValue, flags) /* 242 */
+#endif
+#ifndef Tcl_SetVar2
+#define Tcl_SetVar2(interp, part1, part2, newValue, flags) \
+ (tclStubsPtr->tcl_SetVar2)(interp, part1, part2, newValue, flags) /* 243 */
+#endif
+#ifndef Tcl_SignalId
+#define Tcl_SignalId(sig) \
+ (tclStubsPtr->tcl_SignalId)(sig) /* 244 */
+#endif
+#ifndef Tcl_SignalMsg
+#define Tcl_SignalMsg(sig) \
+ (tclStubsPtr->tcl_SignalMsg)(sig) /* 245 */
+#endif
+#ifndef Tcl_Sleep
+#define Tcl_Sleep(ms) \
+ (tclStubsPtr->tcl_Sleep)(ms) /* 246 */
+#endif
+#ifndef Tcl_SourceRCFile
+#define Tcl_SourceRCFile(interp) \
+ (tclStubsPtr->tcl_SourceRCFile)(interp) /* 247 */
+#endif
+#ifndef Tcl_SplitList
+#define Tcl_SplitList(interp, list, argcPtr, argvPtr) \
+ (tclStubsPtr->tcl_SplitList)(interp, list, argcPtr, argvPtr) /* 248 */
+#endif
+#ifndef Tcl_SplitPath
+#define Tcl_SplitPath(path, argcPtr, argvPtr) \
+ (tclStubsPtr->tcl_SplitPath)(path, argcPtr, argvPtr) /* 249 */
+#endif
+#ifndef Tcl_StaticPackage
+#define Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc) \
+ (tclStubsPtr->tcl_StaticPackage)(interp, pkgName, initProc, safeInitProc) /* 250 */
+#endif
+#ifndef Tcl_StringMatch
+#define Tcl_StringMatch(string, pattern) \
+ (tclStubsPtr->tcl_StringMatch)(string, pattern) /* 251 */
+#endif
+#ifndef Tcl_Tell
+#define Tcl_Tell(chan) \
+ (tclStubsPtr->tcl_Tell)(chan) /* 252 */
+#endif
+#ifndef Tcl_TraceVar
+#define Tcl_TraceVar(interp, varName, flags, proc, clientData) \
+ (tclStubsPtr->tcl_TraceVar)(interp, varName, flags, proc, clientData) /* 253 */
+#endif
+#ifndef Tcl_TraceVar2
+#define Tcl_TraceVar2(interp, part1, part2, flags, proc, clientData) \
+ (tclStubsPtr->tcl_TraceVar2)(interp, part1, part2, flags, proc, clientData) /* 254 */
+#endif
+#ifndef Tcl_TranslateFileName
+#define Tcl_TranslateFileName(interp, name, bufferPtr) \
+ (tclStubsPtr->tcl_TranslateFileName)(interp, name, bufferPtr) /* 255 */
+#endif
+#ifndef Tcl_Ungets
+#define Tcl_Ungets(chan, str, len, atHead) \
+ (tclStubsPtr->tcl_Ungets)(chan, str, len, atHead) /* 256 */
+#endif
+#ifndef Tcl_UnlinkVar
+#define Tcl_UnlinkVar(interp, varName) \
+ (tclStubsPtr->tcl_UnlinkVar)(interp, varName) /* 257 */
+#endif
+#ifndef Tcl_UnregisterChannel
+#define Tcl_UnregisterChannel(interp, chan) \
+ (tclStubsPtr->tcl_UnregisterChannel)(interp, chan) /* 258 */
+#endif
+#ifndef Tcl_UnsetVar
+#define Tcl_UnsetVar(interp, varName, flags) \
+ (tclStubsPtr->tcl_UnsetVar)(interp, varName, flags) /* 259 */
+#endif
+#ifndef Tcl_UnsetVar2
+#define Tcl_UnsetVar2(interp, part1, part2, flags) \
+ (tclStubsPtr->tcl_UnsetVar2)(interp, part1, part2, flags) /* 260 */
+#endif
+#ifndef Tcl_UntraceVar
+#define Tcl_UntraceVar(interp, varName, flags, proc, clientData) \
+ (tclStubsPtr->tcl_UntraceVar)(interp, varName, flags, proc, clientData) /* 261 */
+#endif
+#ifndef Tcl_UntraceVar2
+#define Tcl_UntraceVar2(interp, part1, part2, flags, proc, clientData) \
+ (tclStubsPtr->tcl_UntraceVar2)(interp, part1, part2, flags, proc, clientData) /* 262 */
+#endif
+#ifndef Tcl_UpdateLinkedVar
+#define Tcl_UpdateLinkedVar(interp, varName) \
+ (tclStubsPtr->tcl_UpdateLinkedVar)(interp, varName) /* 263 */
+#endif
+#ifndef Tcl_UpVar
+#define Tcl_UpVar(interp, frameName, varName, localName, flags) \
+ (tclStubsPtr->tcl_UpVar)(interp, frameName, varName, localName, flags) /* 264 */
+#endif
+#ifndef Tcl_UpVar2
+#define Tcl_UpVar2(interp, frameName, part1, part2, localName, flags) \
+ (tclStubsPtr->tcl_UpVar2)(interp, frameName, part1, part2, localName, flags) /* 265 */
+#endif
+#ifndef Tcl_ValidateAllMemory
+#define Tcl_ValidateAllMemory(file, line) \
+ (tclStubsPtr->tcl_ValidateAllMemory)(file, line) /* 266 */
+#endif
+#ifndef Tcl_VarEval
+#define Tcl_VarEval \
+ (tclStubsPtr->tcl_VarEval) /* 267 */
+#endif
+#ifndef Tcl_VarEvalVA
+#define Tcl_VarEvalVA(interp, argList) \
+ (tclStubsPtr->tcl_VarEvalVA)(interp, argList) /* 268 */
+#endif
+#ifndef Tcl_VarTraceInfo
+#define Tcl_VarTraceInfo(interp, varName, flags, procPtr, prevClientData) \
+ (tclStubsPtr->tcl_VarTraceInfo)(interp, varName, flags, procPtr, prevClientData) /* 269 */
+#endif
+#ifndef Tcl_VarTraceInfo2
+#define Tcl_VarTraceInfo2(interp, part1, part2, flags, procPtr, prevClientData) \
+ (tclStubsPtr->tcl_VarTraceInfo2)(interp, part1, part2, flags, procPtr, prevClientData) /* 270 */
+#endif
+#ifndef Tcl_WaitForEvent
+#define Tcl_WaitForEvent(timePtr) \
+ (tclStubsPtr->tcl_WaitForEvent)(timePtr) /* 271 */
+#endif
+#ifndef Tcl_WaitPid
+#define Tcl_WaitPid(pid, statPtr, options) \
+ (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options) /* 272 */
+#endif
+#ifndef Tcl_Write
+#define Tcl_Write(chan, s, slen) \
+ (tclStubsPtr->tcl_Write)(chan, s, slen) /* 273 */
+#endif
+#ifndef Tcl_WrongNumArgs
+#define Tcl_WrongNumArgs(interp, objc, objv, message) \
+ (tclStubsPtr->tcl_WrongNumArgs)(interp, objc, objv, message) /* 274 */
+#endif
+
+#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _TCLDECLS */
+
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
new file mode 100644
index 0000000..85d65aa
--- /dev/null
+++ b/generic/tclInt.decls
@@ -0,0 +1,626 @@
+# tclInt.decls --
+#
+# This file contains the declarations for all unsupported
+# functions that are exported by the Tcl library. This file
+# is used to generate the tclIntDecls.h, tclIntPlatDecls.h,
+# tclIntStub.c, and tclPlatStub.c files.
+#
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: tclInt.decls,v 1.1 1999/03/03 00:38:40 stanton Exp $
+
+library tcl
+
+# Define the unsupported generic interfaces.
+
+interface tclInt
+
+# Declare each of the functions in the unsupported internal Tcl
+# interface. These interfaces are allowed to changed between versions.
+# Use at your own risk. Note that the position of functions should not
+# be changed between versions to avoid gratuitous incompatibilities.
+
+declare 0 generic {
+ int TclAccess(CONST char *path, int mode)
+}
+declare 1 generic {
+ int TclAccessDeleteProc(TclAccessProc_ *proc)
+}
+declare 2 generic {
+ int TclAccessInsertProc(TclAccessProc_ *proc)
+}
+declare 3 generic {
+ void TclAllocateFreeObjects(void)
+}
+declare 4 generic {
+ int TclChdir(Tcl_Interp *interp, char *dirName)
+}
+declare 5 generic {
+ int TclCleanupChildren(Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, \
+ Tcl_Channel errorChan)
+}
+declare 6 generic {
+ void TclCleanupCommand(Command *cmdPtr)
+}
+declare 7 generic {
+ int TclCopyAndCollapse(int count, char *src, char *dst)
+}
+declare 8 generic {
+ int TclCopyChannel(Tcl_Interp *interp, Tcl_Channel inChan, \
+ Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr)
+}
+
+# TclCreatePipeline unofficially exported for use by BLT.
+
+declare 9 generic {
+ int TclCreatePipeline(Tcl_Interp *interp, int argc, char **argv, \
+ Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, \
+ TclFile *errFilePtr)
+}
+declare 10 generic {
+ int TclCreateProc(Tcl_Interp *interp, Namespace *nsPtr, char *procName, \
+ Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr)
+}
+declare 11 generic {
+ void TclDeleteCompiledLocalVars(Interp *iPtr, CallFrame *framePtr)
+}
+declare 12 generic {
+ void TclDeleteVars(Interp *iPtr, Tcl_HashTable *tablePtr)
+}
+declare 13 generic {
+ int TclDoGlob(Tcl_Interp *interp, char *separators, \
+ Tcl_DString *headPtr, char *tail)
+}
+declare 14 generic {
+ void TclDumpMemoryInfo(FILE *outFile)
+}
+declare 15 generic {
+ void TclExpandParseValue(ParseValue *pvPtr, int needed)
+}
+declare 16 generic {
+ void TclExprFloatError(Tcl_Interp *interp, double value)
+}
+declare 17 generic {
+ int TclFileAttrsCmd(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
+}
+declare 18 generic {
+ int TclFileCopyCmd(Tcl_Interp *interp, int argc, char **argv)
+}
+declare 19 generic {
+ int TclFileDeleteCmd(Tcl_Interp *interp, int argc, char **argv)
+}
+declare 20 generic {
+ int TclFileMakeDirsCmd(Tcl_Interp *interp, int argc, char **argv)
+}
+declare 21 generic {
+ int TclFileRenameCmd(Tcl_Interp *interp, int argc, char **argv)
+}
+declare 22 generic {
+ void TclFinalizeCompExecEnv(void)
+}
+declare 23 generic {
+ void TclFinalizeEnvironment(void)
+}
+declare 24 generic {
+ void TclFinalizeExecEnv(void)
+}
+declare 25 generic {
+ int TclFindElement(Tcl_Interp *interp, char *list, int listLength, \
+ char **elementPtr, char **nextPtr, int *sizePtr, int *bracePtr)
+}
+declare 26 generic {
+ Proc * TclFindProc(Interp *iPtr, char *procName)
+}
+declare 27 generic {
+ int TclFormatInt(char *buffer, long n)
+}
+declare 28 generic {
+ void TclFreePackageInfo(Interp *iPtr)
+}
+declare 29 generic {
+ void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan)
+}
+declare 30 generic {
+ char * TclGetCwd(Tcl_Interp *interp)
+}
+declare 31 generic {
+ int TclGetDate(char *p, unsigned long now, long zone, \
+ unsigned long *timePtr)
+}
+declare 32 generic {
+ Tcl_Channel TclGetDefaultStdChannel(int type)
+}
+declare 33 generic {
+ Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp, \
+ int localIndex, Tcl_Obj *elemPtr, int leaveErrorMsg)
+}
+declare 34 generic {
+ char * TclGetEnv(CONST char *name)
+}
+declare 35 generic {
+ char * TclGetExtension(char *name)
+}
+declare 36 generic {
+ int TclGetFrame(Tcl_Interp *interp, char *string, CallFrame **framePtrPtr)
+}
+declare 37 generic {
+ TclCmdProcType TclGetInterpProc(void)
+}
+declare 38 generic {
+ int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, \
+ int endValue, int *indexPtr)
+}
+declare 39 generic {
+ Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex, \
+ int leaveErrorMsg)
+}
+declare 40 generic {
+ int TclGetLong(Tcl_Interp *interp, char *string, long *longPtr)
+}
+declare 41 generic {
+ int TclGetLoadedPackages(Tcl_Interp *interp, char *targetName)
+}
+declare 42 generic {
+ int TclGetNamespaceForQualName(Tcl_Interp *interp, char *qualName, \
+ Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, \
+ Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr, \
+ char **simpleNamePtr)
+}
+declare 43 generic {
+ TclObjCmdProcType TclGetObjInterpProc(void)
+}
+declare 44 generic {
+ int TclGetOpenMode(Tcl_Interp *interp, char *string, int *seekFlagPtr)
+}
+declare 45 generic {
+ Tcl_Command TclGetOriginalCommand(Tcl_Command command)
+}
+declare 46 generic {
+ char * TclpGetUserHome(char *name, Tcl_DString *bufferPtr)
+}
+declare 47 generic {
+ int TclGlobalInvoke(Tcl_Interp *interp, int argc, char **argv, int flags)
+}
+declare 48 generic {
+ int TclGuessPackageName(char *fileName, Tcl_DString *bufPtr)
+}
+declare 49 generic {
+ int TclHasSockets(Tcl_Interp *interp)
+}
+declare 50 generic {
+ int TclHideUnsafeCommands(Tcl_Interp *interp)
+}
+declare 51 generic {
+ int TclInExit(void)
+}
+declare 52 generic {
+ Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp, \
+ int localIndex, Tcl_Obj *elemPtr, long incrAmount)
+}
+declare 53 generic {
+ Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, \
+ long incrAmount)
+}
+declare 54 generic {
+ Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \
+ Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed)
+}
+declare 55 generic {
+ void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, \
+ Namespace *nsPtr)
+}
+declare 56 generic {
+ void TclInitNamespaces(void)
+}
+declare 57 generic {
+ int TclInterpInit(Tcl_Interp *interp)
+}
+declare 58 generic {
+ int TclInvoke(Tcl_Interp *interp, int argc, char **argv, int flags)
+}
+declare 59 generic {
+ int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp, \
+ int argc, char **argv)
+}
+declare 60 generic {
+ int TclInvokeStringCommand(ClientData clientData, Tcl_Interp *interp, \
+ int objc, Tcl_Obj *CONST objv[])
+}
+declare 61 generic {
+ Proc * TclIsProc(Command *cmdPtr)
+}
+declare 62 generic {
+ int TclLoadFile(Tcl_Interp *interp, char *fileName, char *sym1, \
+ char *sym2, Tcl_PackageInitProc **proc1Ptr, \
+ Tcl_PackageInitProc **proc2Ptr)
+}
+declare 63 generic {
+ int TclLooksLikeInt(char *p)
+}
+declare 64 generic {
+ Var * TclLookupVar(Tcl_Interp *interp, char *part1, char *part2, \
+ int flags, char *msg, int createPart1, int createPart2, \
+ Var **arrayPtrPtr)
+}
+declare 65 generic {
+ int TclMatchFiles(Tcl_Interp *interp, char *separators, \
+ Tcl_DString *dirPtr, char *pattern, char *tail)
+}
+declare 66 generic {
+ int TclNeedSpace(char *start, char *end)
+}
+declare 67 generic {
+ Tcl_Obj * TclNewProcBodyObj(Proc *procPtr)
+}
+declare 68 generic {
+ int TclObjCommandComplete(Tcl_Obj *cmdPtr)
+}
+declare 69 generic {
+ int TclObjInterpProc(ClientData clientData, Tcl_Interp *interp, \
+ int objc, Tcl_Obj *CONST objv[])
+}
+declare 70 generic {
+ int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], \
+ int flags)
+}
+declare 71 generic {
+ int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, \
+ Tcl_Obj *CONST objv[], int flags)
+}
+declare 72 generic {
+ int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc)
+}
+declare 73 generic {
+ int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc)
+}
+declare 74 generic {
+ char * TclpAlloc(unsigned int size)
+}
+declare 75 generic {
+ int TclpCloseFile(TclFile file)
+}
+declare 76 generic {
+ int TclpCopyFile(char *source, char *dest)
+}
+declare 77 generic {
+ int TclpCopyDirectory(char *source, char *dest, Tcl_DString *errorPtr)
+}
+declare 78 generic {
+ Tcl_Channel TclpCreateCommandChannel(TclFile readFile, \
+ TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr)
+}
+declare 79 generic {
+ int TclpCreateDirectory(char *path)
+}
+declare 80 generic {
+ int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe)
+}
+declare 81 generic {
+ int TclpCreateProcess(Tcl_Interp *interp, int argc, char **argv, \
+ TclFile inputFile, TclFile outputFile, TclFile errorFile, \
+ Tcl_Pid *pidPtr)
+}
+declare 82 generic {
+ TclFile TclpCreateTempFile(char *contents,
+ Tcl_DString *namePtr)
+}
+declare 83 generic {
+ int TclpDeleteFile(char *path)
+}
+declare 84 generic {
+ void TclpFinalize(void)
+}
+declare 85 generic {
+ void TclpFree(char *ptr)
+}
+declare 86 generic {
+ unsigned long TclpGetClicks(void)
+}
+declare 87 generic {
+ unsigned long TclpGetSeconds(void)
+}
+declare 88 generic {
+ void TclpGetTime(Tcl_Time *time)
+}
+declare 89 generic {
+ int TclpGetTimeZone(unsigned long time)
+}
+declare 90 generic {
+ char * TclpGetTZName(void)
+}
+declare 91 generic {
+ int TclpListVolumes(Tcl_Interp *interp)
+}
+declare 92 generic {
+ TclFile TclpMakeFile(Tcl_Channel channel, int direction)
+}
+declare 93 generic {
+ TclFile TclpOpenFile(char *fname, int mode)
+}
+declare 94 generic {
+ Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, char *fileName, \
+ char *modeString, int permissions)
+}
+declare 95 generic {
+ char * TclpRealloc(char *ptr, unsigned int size)
+}
+declare 96 generic {
+ int TclpRemoveDirectory(char *path, int recursive, Tcl_DString *errorPtr)
+}
+declare 97 generic {
+ int TclpRenameFile(char *source, char *dest)
+}
+declare 98 generic {
+ int TclParseBraces(Tcl_Interp *interp, char *string, char **termPtr, \
+ ParseValue *pvPtr)
+}
+declare 99 generic {
+ int TclParseNestedCmd(Tcl_Interp *interp, char *string, int flags, \
+ char **termPtr, ParseValue *pvPtr)
+}
+declare 100 generic {
+ int TclParseQuotes(Tcl_Interp *interp, char *string, int termChar, \
+ int flags, char **termPtr, ParseValue *pvPtr)
+}
+declare 101 generic {
+ void TclPlatformInit(Tcl_Interp *interp)
+}
+declare 102 generic {
+ char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp, \
+ char *name1, char *name2, int flags)
+}
+declare 103 generic {
+ int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp, \
+ Tcl_Command cmd)
+}
+declare 104 generic {
+ void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
+}
+declare 105 generic {
+ void TclProcCleanupProc(Proc *procPtr)
+}
+declare 106 generic {
+ int TclProcCompileProc(Tcl_Interp *interp, Proc *procPtr, \
+ Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description, \
+ CONST char *procName)
+}
+declare 107 generic {
+ void TclProcDeleteProc(ClientData clientData)
+}
+declare 108 generic {
+ int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, \
+ int argc, char **argv)
+}
+declare 109 generic {
+ int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName)
+}
+declare 110 generic {
+ void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr)
+}
+declare 111 generic {
+ int TclServiceIdle(void)
+}
+declare 112 generic {
+ Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, \
+ int localIndex, Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int leaveErrorMsg)
+}
+declare 113 generic {
+ Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex, \
+ Tcl_Obj *objPtr, int leaveErrorMsg)
+}
+declare 114 generic {
+ char * TclSetPreInitScript(char *string)
+}
+declare 115 generic {
+ void TclSetupEnv(Tcl_Interp *interp)
+}
+declare 116 generic {
+ int TclSockGetPort(Tcl_Interp *interp, char *string, char *proto, \
+ int *portPtr)
+}
+declare 117 generic {
+ int TclSockMinimumBuffers(int sock, int size)
+}
+declare 118 generic {
+ int TclStat(CONST char *path, TclStat_ *buf)
+}
+declare 119 generic {
+ int TclStatDeleteProc(TclStatProc_ *proc)
+}
+declare 120 generic {
+ int TclStatInsertProc(TclStatProc_ *proc)
+}
+declare 121 generic {
+ void TclTeardownNamespace(Namespace *nsPtr)
+}
+declare 122 generic {
+ int TclUpdateReturnInfo(Interp *iPtr)
+}
+declare 123 generic {
+ char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr)
+}
+
+# Procedures used in conjunction with Tcl namespaces. They are
+# defined here instead of in tcl.decls since they are not stable yet.
+
+declare 124 generic {
+ void Tcl_AddInterpResolvers(Tcl_Interp *interp, char *name, \
+ Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, \
+ Tcl_ResolveCompiledVarProc *compiledVarProc)
+}
+declare 125 generic {
+ int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \
+ Tcl_Obj *objPtr)
+}
+declare 126 generic {
+ Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, char *name, \
+ ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc)
+}
+declare 127 generic {
+ void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr)
+}
+declare 128 generic {
+ int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr, char *pattern, \
+ int resetListFirst)
+}
+declare 129 generic {
+ Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, char *name, \
+ Tcl_Namespace *contextNsPtr, int flags)
+}
+declare 130 generic {
+ Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, char *name, \
+ Tcl_Namespace *contextNsPtr, int flags)
+}
+declare 131 generic {
+ int Tcl_GetInterpResolvers(Tcl_Interp *interp, char *name, \
+ Tcl_ResolverInfo *resInfo)
+}
+declare 132 generic {
+ int Tcl_GetNamespaceResolvers(Tcl_Namespace *namespacePtr, \
+ Tcl_ResolverInfo *resInfo)
+}
+declare 133 generic {
+ Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, char *name, \
+ Tcl_Namespace *contextNsPtr, int flags)
+}
+declare 134 generic {
+ int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \
+ char *pattern)
+}
+declare 135 generic {
+ Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
+}
+declare 136 generic {
+ void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command, \
+ Tcl_Obj *objPtr)
+}
+declare 137 generic {
+ Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp)
+}
+declare 138 generic {
+ Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp)
+}
+declare 139 generic {
+ void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable, \
+ Tcl_Obj *objPtr)
+}
+declare 140 generic {
+ int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \
+ char *pattern, int allowOverwrite)
+}
+declare 141 generic {
+ void Tcl_PopCallFrame(Tcl_Interp* interp)
+}
+declare 142 generic {
+ int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr, \
+ Tcl_Namespace *nsPtr, int isProcCallFrame)
+}
+declare 143 generic {
+ int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, char *name)
+}
+declare 144 generic {
+ void Tcl_SetNamespaceResolvers(Tcl_Namespace *namespacePtr, \
+ Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, \
+ Tcl_ResolveCompiledVarProc *compiledVarProc)
+}
+
+# Compilation procedures for commands in the generic core:
+
+declare 145 generic {
+ int TclCompileBreakCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 146 generic {
+ int TclCompileCatchCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 147 generic {
+ int TclCompileContinueCmd(Tcl_Interp *interp, char *string, \
+ char *lastChar, int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 148 generic {
+ int TclCompileExprCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 149 generic {
+ int TclCompileForCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 150 generic {
+ int TclCompileForeachCmd(Tcl_Interp *interp, char *string, \
+ char *lastChar, int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 151 generic {
+ int TclCompileIfCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 152 generic {
+ int TclCompileIncrCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 153 generic {
+ int TclCompileSetCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+declare 154 generic {
+ int TclCompileWhileCmd(Tcl_Interp *interp, char *string, char *lastChar, \
+ int compileFlags, struct CompileEnv *compileEnvPtr)
+}
+
+
+##############################################################################
+
+# Define the platform specific internal Tcl interface. These functions are
+# only available on the designated platform.
+
+interface tclIntPlat
+
+# Mac specific internals
+
+declare 0 mac {
+ int TclpCheckStackSpace(void)
+}
+declare 1 mac {
+ VOID * TclpSysAlloc(long size, int isBin)
+}
+declare 2 mac {
+ void TclpSysFree(VOID *ptr)
+}
+declare 3 mac {
+ VOID * TclpSysRealloc(VOID *cp, unsigned int size)
+}
+declare 4 mac {
+ void TclPlatformExit(int status)
+}
+
+# Windows specific internals
+
+declare 0 win {
+ void TclWinConvertError(DWORD errCode)
+}
+declare 1 win {
+ void TclWinConvertWSAError(DWORD errCode)
+}
+declare 2 win {
+ struct servent * TclWinGetServByName(const char *nm, \
+ const char *proto)
+}
+declare 3 win {
+ int TclWinGetSockOpt(SOCKET s, int level, int optname, \
+ char FAR * optval, int FAR *optlen)
+}
+declare 4 win {
+ HINSTANCE TclWinGetTclInstance(void)
+}
+declare 5 win {
+ HINSTANCE TclWinLoadLibrary(char *name)
+}
+declare 6 win {
+ u_short TclWinNToHS(u_short ns)
+}
+declare 7 win {
+ int TclWinSetSockOpt(SOCKET s, int level, int optname, \
+ const char FAR * optval, int optlen)
+}
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h
new file mode 100644
index 0000000..6f9dba0
--- /dev/null
+++ b/generic/tclIntDecls.h
@@ -0,0 +1,1324 @@
+/*
+ * tclIntDecls.h --
+ *
+ * This file contains the declarations for all unsupported
+ * functions that are exported by the Tcl library. These
+ * interfaces are not guaranteed to remain the same between
+ * versions. Use at your own risk.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclIntDecls.h,v 1.1 1999/03/03 00:38:41 stanton Exp $
+ */
+
+#ifndef _TCLINTDECLS
+#define _TCLINTDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tclInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+/* 0 */
+EXTERN int TclAccess _ANSI_ARGS_((CONST char * path, int mode));
+/* 1 */
+EXTERN int TclAccessDeleteProc _ANSI_ARGS_((
+ TclAccessProc_ * proc));
+/* 2 */
+EXTERN int TclAccessInsertProc _ANSI_ARGS_((
+ TclAccessProc_ * proc));
+/* 3 */
+EXTERN void TclAllocateFreeObjects _ANSI_ARGS_((void));
+/* 4 */
+EXTERN int TclChdir _ANSI_ARGS_((Tcl_Interp * interp,
+ char * dirName));
+/* 5 */
+EXTERN int TclCleanupChildren _ANSI_ARGS_((Tcl_Interp * interp,
+ int numPids, Tcl_Pid * pidPtr,
+ Tcl_Channel errorChan));
+/* 6 */
+EXTERN void TclCleanupCommand _ANSI_ARGS_((Command * cmdPtr));
+/* 7 */
+EXTERN int TclCopyAndCollapse _ANSI_ARGS_((int count,
+ char * src, char * dst));
+/* 8 */
+EXTERN int TclCopyChannel _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Channel inChan, Tcl_Channel outChan,
+ int toRead, Tcl_Obj * cmdPtr));
+/* 9 */
+EXTERN int TclCreatePipeline _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv,
+ Tcl_Pid ** pidArrayPtr, TclFile * inPipePtr,
+ TclFile * outPipePtr, TclFile * errFilePtr));
+/* 10 */
+EXTERN int TclCreateProc _ANSI_ARGS_((Tcl_Interp * interp,
+ Namespace * nsPtr, char * procName,
+ Tcl_Obj * argsPtr, Tcl_Obj * bodyPtr,
+ Proc ** procPtrPtr));
+/* 11 */
+EXTERN void TclDeleteCompiledLocalVars _ANSI_ARGS_((
+ Interp * iPtr, CallFrame * framePtr));
+/* 12 */
+EXTERN void TclDeleteVars _ANSI_ARGS_((Interp * iPtr,
+ Tcl_HashTable * tablePtr));
+/* 13 */
+EXTERN int TclDoGlob _ANSI_ARGS_((Tcl_Interp * interp,
+ char * separators, Tcl_DString * headPtr,
+ char * tail));
+/* 14 */
+EXTERN void TclDumpMemoryInfo _ANSI_ARGS_((FILE * outFile));
+/* 15 */
+EXTERN void TclExpandParseValue _ANSI_ARGS_((ParseValue * pvPtr,
+ int needed));
+/* 16 */
+EXTERN void TclExprFloatError _ANSI_ARGS_((Tcl_Interp * interp,
+ double value));
+/* 17 */
+EXTERN int TclFileAttrsCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ int objc, Tcl_Obj *CONST objv[]));
+/* 18 */
+EXTERN int TclFileCopyCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv));
+/* 19 */
+EXTERN int TclFileDeleteCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv));
+/* 20 */
+EXTERN int TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv));
+/* 21 */
+EXTERN int TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv));
+/* 22 */
+EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void));
+/* 23 */
+EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void));
+/* 24 */
+EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void));
+/* 25 */
+EXTERN int TclFindElement _ANSI_ARGS_((Tcl_Interp * interp,
+ char * list, int listLength,
+ char ** elementPtr, char ** nextPtr,
+ int * sizePtr, int * bracePtr));
+/* 26 */
+EXTERN Proc * TclFindProc _ANSI_ARGS_((Interp * iPtr,
+ char * procName));
+/* 27 */
+EXTERN int TclFormatInt _ANSI_ARGS_((char * buffer, long n));
+/* 28 */
+EXTERN void TclFreePackageInfo _ANSI_ARGS_((Interp * iPtr));
+/* 29 */
+EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Channel chan));
+/* 30 */
+EXTERN char * TclGetCwd _ANSI_ARGS_((Tcl_Interp * interp));
+/* 31 */
+EXTERN int TclGetDate _ANSI_ARGS_((char * p, unsigned long now,
+ long zone, unsigned long * timePtr));
+/* 32 */
+EXTERN Tcl_Channel TclGetDefaultStdChannel _ANSI_ARGS_((int type));
+/* 33 */
+EXTERN Tcl_Obj * TclGetElementOfIndexedArray _ANSI_ARGS_((
+ Tcl_Interp * interp, int localIndex,
+ Tcl_Obj * elemPtr, int leaveErrorMsg));
+/* 34 */
+EXTERN char * TclGetEnv _ANSI_ARGS_((CONST char * name));
+/* 35 */
+EXTERN char * TclGetExtension _ANSI_ARGS_((char * name));
+/* 36 */
+EXTERN int TclGetFrame _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, CallFrame ** framePtrPtr));
+/* 37 */
+EXTERN TclCmdProcType TclGetInterpProc _ANSI_ARGS_((void));
+/* 38 */
+EXTERN int TclGetIntForIndex _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr, int endValue,
+ int * indexPtr));
+/* 39 */
+EXTERN Tcl_Obj * TclGetIndexedScalar _ANSI_ARGS_((Tcl_Interp * interp,
+ int localIndex, int leaveErrorMsg));
+/* 40 */
+EXTERN int TclGetLong _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, long * longPtr));
+/* 41 */
+EXTERN int TclGetLoadedPackages _ANSI_ARGS_((
+ Tcl_Interp * interp, char * targetName));
+/* 42 */
+EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_((
+ Tcl_Interp * interp, char * qualName,
+ Namespace * cxtNsPtr, int flags,
+ Namespace ** nsPtrPtr,
+ Namespace ** altNsPtrPtr,
+ Namespace ** actualCxtPtrPtr,
+ char ** simpleNamePtr));
+/* 43 */
+EXTERN TclObjCmdProcType TclGetObjInterpProc _ANSI_ARGS_((void));
+/* 44 */
+EXTERN int TclGetOpenMode _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int * seekFlagPtr));
+/* 45 */
+EXTERN Tcl_Command TclGetOriginalCommand _ANSI_ARGS_((
+ Tcl_Command command));
+/* 46 */
+EXTERN char * TclpGetUserHome _ANSI_ARGS_((char * name,
+ Tcl_DString * bufferPtr));
+/* 47 */
+EXTERN int TclGlobalInvoke _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv, int flags));
+/* 48 */
+EXTERN int TclGuessPackageName _ANSI_ARGS_((char * fileName,
+ Tcl_DString * bufPtr));
+/* 49 */
+EXTERN int TclHasSockets _ANSI_ARGS_((Tcl_Interp * interp));
+/* 50 */
+EXTERN int TclHideUnsafeCommands _ANSI_ARGS_((
+ Tcl_Interp * interp));
+/* 51 */
+EXTERN int TclInExit _ANSI_ARGS_((void));
+/* 52 */
+EXTERN Tcl_Obj * TclIncrElementOfIndexedArray _ANSI_ARGS_((
+ Tcl_Interp * interp, int localIndex,
+ Tcl_Obj * elemPtr, long incrAmount));
+/* 53 */
+EXTERN Tcl_Obj * TclIncrIndexedScalar _ANSI_ARGS_((
+ Tcl_Interp * interp, int localIndex,
+ long incrAmount));
+/* 54 */
+EXTERN Tcl_Obj * TclIncrVar2 _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr,
+ long incrAmount, int part1NotParsed));
+/* 55 */
+EXTERN void TclInitCompiledLocals _ANSI_ARGS_((
+ Tcl_Interp * interp, CallFrame * framePtr,
+ Namespace * nsPtr));
+/* 56 */
+EXTERN void TclInitNamespaces _ANSI_ARGS_((void));
+/* 57 */
+EXTERN int TclInterpInit _ANSI_ARGS_((Tcl_Interp * interp));
+/* 58 */
+EXTERN int TclInvoke _ANSI_ARGS_((Tcl_Interp * interp, int argc,
+ char ** argv, int flags));
+/* 59 */
+EXTERN int TclInvokeObjectCommand _ANSI_ARGS_((
+ ClientData clientData, Tcl_Interp * interp,
+ int argc, char ** argv));
+/* 60 */
+EXTERN int TclInvokeStringCommand _ANSI_ARGS_((
+ ClientData clientData, Tcl_Interp * interp,
+ int objc, Tcl_Obj *CONST objv[]));
+/* 61 */
+EXTERN Proc * TclIsProc _ANSI_ARGS_((Command * cmdPtr));
+/* 62 */
+EXTERN int TclLoadFile _ANSI_ARGS_((Tcl_Interp * interp,
+ char * fileName, char * sym1, char * sym2,
+ Tcl_PackageInitProc ** proc1Ptr,
+ Tcl_PackageInitProc ** proc2Ptr));
+/* 63 */
+EXTERN int TclLooksLikeInt _ANSI_ARGS_((char * p));
+/* 64 */
+EXTERN Var * TclLookupVar _ANSI_ARGS_((Tcl_Interp * interp,
+ char * part1, char * part2, int flags,
+ char * msg, int createPart1, int createPart2,
+ Var ** arrayPtrPtr));
+/* 65 */
+EXTERN int TclMatchFiles _ANSI_ARGS_((Tcl_Interp * interp,
+ char * separators, Tcl_DString * dirPtr,
+ char * pattern, char * tail));
+/* 66 */
+EXTERN int TclNeedSpace _ANSI_ARGS_((char * start, char * end));
+/* 67 */
+EXTERN Tcl_Obj * TclNewProcBodyObj _ANSI_ARGS_((Proc * procPtr));
+/* 68 */
+EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj * cmdPtr));
+/* 69 */
+EXTERN int TclObjInterpProc _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp * interp, int objc,
+ Tcl_Obj *CONST objv[]));
+/* 70 */
+EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp * interp,
+ int objc, Tcl_Obj *CONST objv[], int flags));
+/* 71 */
+EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp * interp,
+ int objc, Tcl_Obj *CONST objv[], int flags));
+/* 72 */
+EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_((
+ TclOpenFileChannelProc_ * proc));
+/* 73 */
+EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_((
+ TclOpenFileChannelProc_ * proc));
+/* 74 */
+EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size));
+/* 75 */
+EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file));
+/* 76 */
+EXTERN int TclpCopyFile _ANSI_ARGS_((char * source, char * dest));
+/* 77 */
+EXTERN int TclpCopyDirectory _ANSI_ARGS_((char * source,
+ char * dest, Tcl_DString * errorPtr));
+/* 78 */
+EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_((
+ TclFile readFile, TclFile writeFile,
+ TclFile errorFile, int numPids,
+ Tcl_Pid * pidPtr));
+/* 79 */
+EXTERN int TclpCreateDirectory _ANSI_ARGS_((char * path));
+/* 80 */
+EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile * readPipe,
+ TclFile * writePipe));
+/* 81 */
+EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp * interp,
+ int argc, char ** argv, TclFile inputFile,
+ TclFile outputFile, TclFile errorFile,
+ Tcl_Pid * pidPtr));
+/* 82 */
+EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char * contents,
+ Tcl_DString * namePtr));
+/* 83 */
+EXTERN int TclpDeleteFile _ANSI_ARGS_((char * path));
+/* 84 */
+EXTERN void TclpFinalize _ANSI_ARGS_((void));
+/* 85 */
+EXTERN void TclpFree _ANSI_ARGS_((char * ptr));
+/* 86 */
+EXTERN unsigned long TclpGetClicks _ANSI_ARGS_((void));
+/* 87 */
+EXTERN unsigned long TclpGetSeconds _ANSI_ARGS_((void));
+/* 88 */
+EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time * time));
+/* 89 */
+EXTERN int TclpGetTimeZone _ANSI_ARGS_((unsigned long time));
+/* 90 */
+EXTERN char * TclpGetTZName _ANSI_ARGS_((void));
+/* 91 */
+EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp * interp));
+/* 92 */
+EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel,
+ int direction));
+/* 93 */
+EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char * fname, int mode));
+/* 94 */
+EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp * interp,
+ char * fileName, char * modeString,
+ int permissions));
+/* 95 */
+EXTERN char * TclpRealloc _ANSI_ARGS_((char * ptr,
+ unsigned int size));
+/* 96 */
+EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char * path,
+ int recursive, Tcl_DString * errorPtr));
+/* 97 */
+EXTERN int TclpRenameFile _ANSI_ARGS_((char * source,
+ char * dest));
+/* 98 */
+EXTERN int TclParseBraces _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char ** termPtr,
+ ParseValue * pvPtr));
+/* 99 */
+EXTERN int TclParseNestedCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int flags, char ** termPtr,
+ ParseValue * pvPtr));
+/* 100 */
+EXTERN int TclParseQuotes _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int termChar, int flags,
+ char ** termPtr, ParseValue * pvPtr));
+/* 101 */
+EXTERN void TclPlatformInit _ANSI_ARGS_((Tcl_Interp * interp));
+/* 102 */
+EXTERN char * TclPrecTraceProc _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp * interp, char * name1,
+ char * name2, int flags));
+/* 103 */
+EXTERN int TclPreventAliasLoop _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Interp * cmdInterp, Tcl_Command cmd));
+/* 104 */
+EXTERN void TclPrintByteCodeObj _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * objPtr));
+/* 105 */
+EXTERN void TclProcCleanupProc _ANSI_ARGS_((Proc * procPtr));
+/* 106 */
+EXTERN int TclProcCompileProc _ANSI_ARGS_((Tcl_Interp * interp,
+ Proc * procPtr, Tcl_Obj * bodyPtr,
+ Namespace * nsPtr, CONST char * description,
+ CONST char * procName));
+/* 107 */
+EXTERN void TclProcDeleteProc _ANSI_ARGS_((ClientData clientData));
+/* 108 */
+EXTERN int TclProcInterpProc _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp * interp, int argc, char ** argv));
+/* 109 */
+EXTERN int TclRenameCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * oldName, char * newName));
+/* 110 */
+EXTERN void TclResetShadowedCmdRefs _ANSI_ARGS_((
+ Tcl_Interp * interp, Command * newCmdPtr));
+/* 111 */
+EXTERN int TclServiceIdle _ANSI_ARGS_((void));
+/* 112 */
+EXTERN Tcl_Obj * TclSetElementOfIndexedArray _ANSI_ARGS_((
+ Tcl_Interp * interp, int localIndex,
+ Tcl_Obj * elemPtr, Tcl_Obj * objPtr,
+ int leaveErrorMsg));
+/* 113 */
+EXTERN Tcl_Obj * TclSetIndexedScalar _ANSI_ARGS_((Tcl_Interp * interp,
+ int localIndex, Tcl_Obj * objPtr,
+ int leaveErrorMsg));
+/* 114 */
+EXTERN char * TclSetPreInitScript _ANSI_ARGS_((char * string));
+/* 115 */
+EXTERN void TclSetupEnv _ANSI_ARGS_((Tcl_Interp * interp));
+/* 116 */
+EXTERN int TclSockGetPort _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * proto, int * portPtr));
+/* 117 */
+EXTERN int TclSockMinimumBuffers _ANSI_ARGS_((int sock,
+ int size));
+/* 118 */
+EXTERN int TclStat _ANSI_ARGS_((CONST char * path,
+ TclStat_ * buf));
+/* 119 */
+EXTERN int TclStatDeleteProc _ANSI_ARGS_((TclStatProc_ * proc));
+/* 120 */
+EXTERN int TclStatInsertProc _ANSI_ARGS_((TclStatProc_ * proc));
+/* 121 */
+EXTERN void TclTeardownNamespace _ANSI_ARGS_((Namespace * nsPtr));
+/* 122 */
+EXTERN int TclUpdateReturnInfo _ANSI_ARGS_((Interp * iPtr));
+/* 123 */
+EXTERN char * TclWordEnd _ANSI_ARGS_((char * start,
+ char * lastChar, int nested, int * semiPtr));
+/* 124 */
+EXTERN void Tcl_AddInterpResolvers _ANSI_ARGS_((
+ Tcl_Interp * interp, char * name,
+ Tcl_ResolveCmdProc * cmdProc,
+ Tcl_ResolveVarProc * varProc,
+ Tcl_ResolveCompiledVarProc * compiledVarProc));
+/* 125 */
+EXTERN int Tcl_AppendExportList _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Namespace * nsPtr,
+ Tcl_Obj * objPtr));
+/* 126 */
+EXTERN Tcl_Namespace * Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, ClientData clientData,
+ Tcl_NamespaceDeleteProc * deleteProc));
+/* 127 */
+EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((
+ Tcl_Namespace * nsPtr));
+/* 128 */
+EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Namespace * nsPtr, char * pattern,
+ int resetListFirst));
+/* 129 */
+EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, Tcl_Namespace * contextNsPtr,
+ int flags));
+/* 130 */
+EXTERN Tcl_Namespace * Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp * interp,
+ char * name, Tcl_Namespace * contextNsPtr,
+ int flags));
+/* 131 */
+EXTERN int Tcl_GetInterpResolvers _ANSI_ARGS_((
+ Tcl_Interp * interp, char * name,
+ Tcl_ResolverInfo * resInfo));
+/* 132 */
+EXTERN int Tcl_GetNamespaceResolvers _ANSI_ARGS_((
+ Tcl_Namespace * namespacePtr,
+ Tcl_ResolverInfo * resInfo));
+/* 133 */
+EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((
+ Tcl_Interp * interp, char * name,
+ Tcl_Namespace * contextNsPtr, int flags));
+/* 134 */
+EXTERN int Tcl_ForgetImport _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Namespace * nsPtr, char * pattern));
+/* 135 */
+EXTERN Tcl_Command Tcl_GetCommandFromObj _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Obj * objPtr));
+/* 136 */
+EXTERN void Tcl_GetCommandFullName _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Command command,
+ Tcl_Obj * objPtr));
+/* 137 */
+EXTERN Tcl_Namespace * Tcl_GetCurrentNamespace _ANSI_ARGS_((
+ Tcl_Interp * interp));
+/* 138 */
+EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace _ANSI_ARGS_((
+ Tcl_Interp * interp));
+/* 139 */
+EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_((
+ Tcl_Interp * interp, Tcl_Var variable,
+ Tcl_Obj * objPtr));
+/* 140 */
+EXTERN int Tcl_Import _ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Namespace * nsPtr, char * pattern,
+ int allowOverwrite));
+/* 141 */
+EXTERN void Tcl_PopCallFrame _ANSI_ARGS_((Tcl_Interp* interp));
+/* 142 */
+EXTERN int Tcl_PushCallFrame _ANSI_ARGS_((Tcl_Interp* interp,
+ Tcl_CallFrame * framePtr,
+ Tcl_Namespace * nsPtr, int isProcCallFrame));
+/* 143 */
+EXTERN int Tcl_RemoveInterpResolvers _ANSI_ARGS_((
+ Tcl_Interp * interp, char * name));
+/* 144 */
+EXTERN void Tcl_SetNamespaceResolvers _ANSI_ARGS_((
+ Tcl_Namespace * namespacePtr,
+ Tcl_ResolveCmdProc * cmdProc,
+ Tcl_ResolveVarProc * varProc,
+ Tcl_ResolveCompiledVarProc * compiledVarProc));
+/* 145 */
+EXTERN int TclCompileBreakCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 146 */
+EXTERN int TclCompileCatchCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 147 */
+EXTERN int TclCompileContinueCmd _ANSI_ARGS_((
+ Tcl_Interp * interp, char * string,
+ char * lastChar, int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 148 */
+EXTERN int TclCompileExprCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 149 */
+EXTERN int TclCompileForCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 150 */
+EXTERN int TclCompileForeachCmd _ANSI_ARGS_((
+ Tcl_Interp * interp, char * string,
+ char * lastChar, int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 151 */
+EXTERN int TclCompileIfCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 152 */
+EXTERN int TclCompileIncrCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 153 */
+EXTERN int TclCompileSetCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+/* 154 */
+EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, char * lastChar,
+ int compileFlags,
+ struct CompileEnv * compileEnvPtr));
+
+typedef struct TclIntStubs {
+ int magic;
+ struct TclIntStubHooks *hooks;
+
+ int (*tclAccess) _ANSI_ARGS_((CONST char * path, int mode)); /* 0 */
+ int (*tclAccessDeleteProc) _ANSI_ARGS_((TclAccessProc_ * proc)); /* 1 */
+ int (*tclAccessInsertProc) _ANSI_ARGS_((TclAccessProc_ * proc)); /* 2 */
+ void (*tclAllocateFreeObjects) _ANSI_ARGS_((void)); /* 3 */
+ int (*tclChdir) _ANSI_ARGS_((Tcl_Interp * interp, char * dirName)); /* 4 */
+ int (*tclCleanupChildren) _ANSI_ARGS_((Tcl_Interp * interp, int numPids, Tcl_Pid * pidPtr, Tcl_Channel errorChan)); /* 5 */
+ void (*tclCleanupCommand) _ANSI_ARGS_((Command * cmdPtr)); /* 6 */
+ int (*tclCopyAndCollapse) _ANSI_ARGS_((int count, char * src, char * dst)); /* 7 */
+ int (*tclCopyChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel inChan, Tcl_Channel outChan, int toRead, Tcl_Obj * cmdPtr)); /* 8 */
+ int (*tclCreatePipeline) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, Tcl_Pid ** pidArrayPtr, TclFile * inPipePtr, TclFile * outPipePtr, TclFile * errFilePtr)); /* 9 */
+ int (*tclCreateProc) _ANSI_ARGS_((Tcl_Interp * interp, Namespace * nsPtr, char * procName, Tcl_Obj * argsPtr, Tcl_Obj * bodyPtr, Proc ** procPtrPtr)); /* 10 */
+ void (*tclDeleteCompiledLocalVars) _ANSI_ARGS_((Interp * iPtr, CallFrame * framePtr)); /* 11 */
+ void (*tclDeleteVars) _ANSI_ARGS_((Interp * iPtr, Tcl_HashTable * tablePtr)); /* 12 */
+ int (*tclDoGlob) _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * headPtr, char * tail)); /* 13 */
+ void (*tclDumpMemoryInfo) _ANSI_ARGS_((FILE * outFile)); /* 14 */
+ void (*tclExpandParseValue) _ANSI_ARGS_((ParseValue * pvPtr, int needed)); /* 15 */
+ void (*tclExprFloatError) _ANSI_ARGS_((Tcl_Interp * interp, double value)); /* 16 */
+ int (*tclFileAttrsCmd) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 17 */
+ int (*tclFileCopyCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 18 */
+ int (*tclFileDeleteCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 19 */
+ int (*tclFileMakeDirsCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 20 */
+ int (*tclFileRenameCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 21 */
+ void (*tclFinalizeCompExecEnv) _ANSI_ARGS_((void)); /* 22 */
+ void (*tclFinalizeEnvironment) _ANSI_ARGS_((void)); /* 23 */
+ void (*tclFinalizeExecEnv) _ANSI_ARGS_((void)); /* 24 */
+ int (*tclFindElement) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int listLength, char ** elementPtr, char ** nextPtr, int * sizePtr, int * bracePtr)); /* 25 */
+ Proc * (*tclFindProc) _ANSI_ARGS_((Interp * iPtr, char * procName)); /* 26 */
+ int (*tclFormatInt) _ANSI_ARGS_((char * buffer, long n)); /* 27 */
+ void (*tclFreePackageInfo) _ANSI_ARGS_((Interp * iPtr)); /* 28 */
+ void (*tclGetAndDetachPids) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 29 */
+ char * (*tclGetCwd) _ANSI_ARGS_((Tcl_Interp * interp)); /* 30 */
+ int (*tclGetDate) _ANSI_ARGS_((char * p, unsigned long now, long zone, unsigned long * timePtr)); /* 31 */
+ Tcl_Channel (*tclGetDefaultStdChannel) _ANSI_ARGS_((int type)); /* 32 */
+ Tcl_Obj * (*tclGetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg)); /* 33 */
+ char * (*tclGetEnv) _ANSI_ARGS_((CONST char * name)); /* 34 */
+ char * (*tclGetExtension) _ANSI_ARGS_((char * name)); /* 35 */
+ int (*tclGetFrame) _ANSI_ARGS_((Tcl_Interp * interp, char * string, CallFrame ** framePtrPtr)); /* 36 */
+ TclCmdProcType (*tclGetInterpProc) _ANSI_ARGS_((void)); /* 37 */
+ int (*tclGetIntForIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr)); /* 38 */
+ Tcl_Obj * (*tclGetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, int leaveErrorMsg)); /* 39 */
+ int (*tclGetLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * longPtr)); /* 40 */
+ int (*tclGetLoadedPackages) _ANSI_ARGS_((Tcl_Interp * interp, char * targetName)); /* 41 */
+ int (*tclGetNamespaceForQualName) _ANSI_ARGS_((Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, Namespace ** nsPtrPtr, Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr)); /* 42 */
+ TclObjCmdProcType (*tclGetObjInterpProc) _ANSI_ARGS_((void)); /* 43 */
+ int (*tclGetOpenMode) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * seekFlagPtr)); /* 44 */
+ Tcl_Command (*tclGetOriginalCommand) _ANSI_ARGS_((Tcl_Command command)); /* 45 */
+ char * (*tclpGetUserHome) _ANSI_ARGS_((char * name, Tcl_DString * bufferPtr)); /* 46 */
+ int (*tclGlobalInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 47 */
+ int (*tclGuessPackageName) _ANSI_ARGS_((char * fileName, Tcl_DString * bufPtr)); /* 48 */
+ int (*tclHasSockets) _ANSI_ARGS_((Tcl_Interp * interp)); /* 49 */
+ int (*tclHideUnsafeCommands) _ANSI_ARGS_((Tcl_Interp * interp)); /* 50 */
+ int (*tclInExit) _ANSI_ARGS_((void)); /* 51 */
+ Tcl_Obj * (*tclIncrElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount)); /* 52 */
+ Tcl_Obj * (*tclIncrIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, long incrAmount)); /* 53 */
+ Tcl_Obj * (*tclIncrVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed)); /* 54 */
+ void (*tclInitCompiledLocals) _ANSI_ARGS_((Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr)); /* 55 */
+ void (*tclInitNamespaces) _ANSI_ARGS_((void)); /* 56 */
+ int (*tclInterpInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 57 */
+ int (*tclInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 58 */
+ int (*tclInvokeObjectCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 59 */
+ int (*tclInvokeStringCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 60 */
+ Proc * (*tclIsProc) _ANSI_ARGS_((Command * cmdPtr)); /* 61 */
+ int (*tclLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr)); /* 62 */
+ int (*tclLooksLikeInt) _ANSI_ARGS_((char * p)); /* 63 */
+ Var * (*tclLookupVar) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr)); /* 64 */
+ int (*tclMatchFiles) _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail)); /* 65 */
+ int (*tclNeedSpace) _ANSI_ARGS_((char * start, char * end)); /* 66 */
+ Tcl_Obj * (*tclNewProcBodyObj) _ANSI_ARGS_((Proc * procPtr)); /* 67 */
+ int (*tclObjCommandComplete) _ANSI_ARGS_((Tcl_Obj * cmdPtr)); /* 68 */
+ int (*tclObjInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 69 */
+ int (*tclObjInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 70 */
+ int (*tclObjInvokeGlobal) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 71 */
+ int (*tclOpenFileChannelDeleteProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 72 */
+ int (*tclOpenFileChannelInsertProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 73 */
+ char * (*tclpAlloc) _ANSI_ARGS_((unsigned int size)); /* 74 */
+ int (*tclpCloseFile) _ANSI_ARGS_((TclFile file)); /* 75 */
+ int (*tclpCopyFile) _ANSI_ARGS_((char * source, char * dest)); /* 76 */
+ int (*tclpCopyDirectory) _ANSI_ARGS_((char * source, char * dest, Tcl_DString * errorPtr)); /* 77 */
+ Tcl_Channel (*tclpCreateCommandChannel) _ANSI_ARGS_((TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); /* 78 */
+ int (*tclpCreateDirectory) _ANSI_ARGS_((char * path)); /* 79 */
+ int (*tclpCreatePipe) _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); /* 80 */
+ int (*tclpCreateProcess) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); /* 81 */
+ TclFile (*tclpCreateTempFile) _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); /* 82 */
+ int (*tclpDeleteFile) _ANSI_ARGS_((char * path)); /* 83 */
+ void (*tclpFinalize) _ANSI_ARGS_((void)); /* 84 */
+ void (*tclpFree) _ANSI_ARGS_((char * ptr)); /* 85 */
+ unsigned long (*tclpGetClicks) _ANSI_ARGS_((void)); /* 86 */
+ unsigned long (*tclpGetSeconds) _ANSI_ARGS_((void)); /* 87 */
+ void (*tclpGetTime) _ANSI_ARGS_((Tcl_Time * time)); /* 88 */
+ int (*tclpGetTimeZone) _ANSI_ARGS_((unsigned long time)); /* 89 */
+ char * (*tclpGetTZName) _ANSI_ARGS_((void)); /* 90 */
+ int (*tclpListVolumes) _ANSI_ARGS_((Tcl_Interp * interp)); /* 91 */
+ TclFile (*tclpMakeFile) _ANSI_ARGS_((Tcl_Channel channel, int direction)); /* 92 */
+ TclFile (*tclpOpenFile) _ANSI_ARGS_((char * fname, int mode)); /* 93 */
+ Tcl_Channel (*tclpOpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 94 */
+ char * (*tclpRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 95 */
+ int (*tclpRemoveDirectory) _ANSI_ARGS_((char * path, int recursive, Tcl_DString * errorPtr)); /* 96 */
+ int (*tclpRenameFile) _ANSI_ARGS_((char * source, char * dest)); /* 97 */
+ int (*tclParseBraces) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr, ParseValue * pvPtr)); /* 98 */
+ int (*tclParseNestedCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int flags, char ** termPtr, ParseValue * pvPtr)); /* 99 */
+ int (*tclParseQuotes) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int termChar, int flags, char ** termPtr, ParseValue * pvPtr)); /* 100 */
+ void (*tclPlatformInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 101 */
+ char * (*tclPrecTraceProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags)); /* 102 */
+ int (*tclPreventAliasLoop) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd)); /* 103 */
+ void (*tclPrintByteCodeObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 104 */
+ void (*tclProcCleanupProc) _ANSI_ARGS_((Proc * procPtr)); /* 105 */
+ int (*tclProcCompileProc) _ANSI_ARGS_((Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, CONST char * description, CONST char * procName)); /* 106 */
+ void (*tclProcDeleteProc) _ANSI_ARGS_((ClientData clientData)); /* 107 */
+ int (*tclProcInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 108 */
+ int (*tclRenameCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * oldName, char * newName)); /* 109 */
+ void (*tclResetShadowedCmdRefs) _ANSI_ARGS_((Tcl_Interp * interp, Command * newCmdPtr)); /* 110 */
+ int (*tclServiceIdle) _ANSI_ARGS_((void)); /* 111 */
+ Tcl_Obj * (*tclSetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 112 */
+ Tcl_Obj * (*tclSetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 113 */
+ char * (*tclSetPreInitScript) _ANSI_ARGS_((char * string)); /* 114 */
+ void (*tclSetupEnv) _ANSI_ARGS_((Tcl_Interp * interp)); /* 115 */
+ int (*tclSockGetPort) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * proto, int * portPtr)); /* 116 */
+ int (*tclSockMinimumBuffers) _ANSI_ARGS_((int sock, int size)); /* 117 */
+ int (*tclStat) _ANSI_ARGS_((CONST char * path, TclStat_ * buf)); /* 118 */
+ int (*tclStatDeleteProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 119 */
+ int (*tclStatInsertProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 120 */
+ void (*tclTeardownNamespace) _ANSI_ARGS_((Namespace * nsPtr)); /* 121 */
+ int (*tclUpdateReturnInfo) _ANSI_ARGS_((Interp * iPtr)); /* 122 */
+ char * (*tclWordEnd) _ANSI_ARGS_((char * start, char * lastChar, int nested, int * semiPtr)); /* 123 */
+ void (*tcl_AddInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 124 */
+ int (*tcl_AppendExportList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr)); /* 125 */
+ Tcl_Namespace * (*tcl_CreateNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc)); /* 126 */
+ void (*tcl_DeleteNamespace) _ANSI_ARGS_((Tcl_Namespace * nsPtr)); /* 127 */
+ int (*tcl_Export) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst)); /* 128 */
+ Tcl_Command (*tcl_FindCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 129 */
+ Tcl_Namespace * (*tcl_FindNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 130 */
+ int (*tcl_GetInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo)); /* 131 */
+ int (*tcl_GetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo)); /* 132 */
+ Tcl_Var (*tcl_FindNamespaceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 133 */
+ int (*tcl_ForgetImport) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern)); /* 134 */
+ Tcl_Command (*tcl_GetCommandFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 135 */
+ void (*tcl_GetCommandFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr)); /* 136 */
+ Tcl_Namespace * (*tcl_GetCurrentNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 137 */
+ Tcl_Namespace * (*tcl_GetGlobalNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 138 */
+ void (*tcl_GetVariableFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr)); /* 139 */
+ int (*tcl_Import) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite)); /* 140 */
+ void (*tcl_PopCallFrame) _ANSI_ARGS_((Tcl_Interp* interp)); /* 141 */
+ int (*tcl_PushCallFrame) _ANSI_ARGS_((Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame)); /* 142 */
+ int (*tcl_RemoveInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 143 */
+ void (*tcl_SetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 144 */
+ int (*tclCompileBreakCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 145 */
+ int (*tclCompileCatchCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 146 */
+ int (*tclCompileContinueCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 147 */
+ int (*tclCompileExprCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 148 */
+ int (*tclCompileForCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 149 */
+ int (*tclCompileForeachCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 150 */
+ int (*tclCompileIfCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 151 */
+ int (*tclCompileIncrCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 152 */
+ int (*tclCompileSetCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 153 */
+ int (*tclCompileWhileCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 154 */
+} TclIntStubs;
+
+extern TclIntStubs *tclIntStubsPtr;
+
+#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+#ifndef TclAccess
+#define TclAccess(path, mode) \
+ (tclIntStubsPtr->tclAccess)(path, mode) /* 0 */
+#endif
+#ifndef TclAccessDeleteProc
+#define TclAccessDeleteProc(proc) \
+ (tclIntStubsPtr->tclAccessDeleteProc)(proc) /* 1 */
+#endif
+#ifndef TclAccessInsertProc
+#define TclAccessInsertProc(proc) \
+ (tclIntStubsPtr->tclAccessInsertProc)(proc) /* 2 */
+#endif
+#ifndef TclAllocateFreeObjects
+#define TclAllocateFreeObjects() \
+ (tclIntStubsPtr->tclAllocateFreeObjects)() /* 3 */
+#endif
+#ifndef TclChdir
+#define TclChdir(interp, dirName) \
+ (tclIntStubsPtr->tclChdir)(interp, dirName) /* 4 */
+#endif
+#ifndef TclCleanupChildren
+#define TclCleanupChildren(interp, numPids, pidPtr, errorChan) \
+ (tclIntStubsPtr->tclCleanupChildren)(interp, numPids, pidPtr, errorChan) /* 5 */
+#endif
+#ifndef TclCleanupCommand
+#define TclCleanupCommand(cmdPtr) \
+ (tclIntStubsPtr->tclCleanupCommand)(cmdPtr) /* 6 */
+#endif
+#ifndef TclCopyAndCollapse
+#define TclCopyAndCollapse(count, src, dst) \
+ (tclIntStubsPtr->tclCopyAndCollapse)(count, src, dst) /* 7 */
+#endif
+#ifndef TclCopyChannel
+#define TclCopyChannel(interp, inChan, outChan, toRead, cmdPtr) \
+ (tclIntStubsPtr->tclCopyChannel)(interp, inChan, outChan, toRead, cmdPtr) /* 8 */
+#endif
+#ifndef TclCreatePipeline
+#define TclCreatePipeline(interp, argc, argv, pidArrayPtr, inPipePtr, outPipePtr, errFilePtr) \
+ (tclIntStubsPtr->tclCreatePipeline)(interp, argc, argv, pidArrayPtr, inPipePtr, outPipePtr, errFilePtr) /* 9 */
+#endif
+#ifndef TclCreateProc
+#define TclCreateProc(interp, nsPtr, procName, argsPtr, bodyPtr, procPtrPtr) \
+ (tclIntStubsPtr->tclCreateProc)(interp, nsPtr, procName, argsPtr, bodyPtr, procPtrPtr) /* 10 */
+#endif
+#ifndef TclDeleteCompiledLocalVars
+#define TclDeleteCompiledLocalVars(iPtr, framePtr) \
+ (tclIntStubsPtr->tclDeleteCompiledLocalVars)(iPtr, framePtr) /* 11 */
+#endif
+#ifndef TclDeleteVars
+#define TclDeleteVars(iPtr, tablePtr) \
+ (tclIntStubsPtr->tclDeleteVars)(iPtr, tablePtr) /* 12 */
+#endif
+#ifndef TclDoGlob
+#define TclDoGlob(interp, separators, headPtr, tail) \
+ (tclIntStubsPtr->tclDoGlob)(interp, separators, headPtr, tail) /* 13 */
+#endif
+#ifndef TclDumpMemoryInfo
+#define TclDumpMemoryInfo(outFile) \
+ (tclIntStubsPtr->tclDumpMemoryInfo)(outFile) /* 14 */
+#endif
+#ifndef TclExpandParseValue
+#define TclExpandParseValue(pvPtr, needed) \
+ (tclIntStubsPtr->tclExpandParseValue)(pvPtr, needed) /* 15 */
+#endif
+#ifndef TclExprFloatError
+#define TclExprFloatError(interp, value) \
+ (tclIntStubsPtr->tclExprFloatError)(interp, value) /* 16 */
+#endif
+#ifndef TclFileAttrsCmd
+#define TclFileAttrsCmd(interp, objc, objv) \
+ (tclIntStubsPtr->tclFileAttrsCmd)(interp, objc, objv) /* 17 */
+#endif
+#ifndef TclFileCopyCmd
+#define TclFileCopyCmd(interp, argc, argv) \
+ (tclIntStubsPtr->tclFileCopyCmd)(interp, argc, argv) /* 18 */
+#endif
+#ifndef TclFileDeleteCmd
+#define TclFileDeleteCmd(interp, argc, argv) \
+ (tclIntStubsPtr->tclFileDeleteCmd)(interp, argc, argv) /* 19 */
+#endif
+#ifndef TclFileMakeDirsCmd
+#define TclFileMakeDirsCmd(interp, argc, argv) \
+ (tclIntStubsPtr->tclFileMakeDirsCmd)(interp, argc, argv) /* 20 */
+#endif
+#ifndef TclFileRenameCmd
+#define TclFileRenameCmd(interp, argc, argv) \
+ (tclIntStubsPtr->tclFileRenameCmd)(interp, argc, argv) /* 21 */
+#endif
+#ifndef TclFinalizeCompExecEnv
+#define TclFinalizeCompExecEnv() \
+ (tclIntStubsPtr->tclFinalizeCompExecEnv)() /* 22 */
+#endif
+#ifndef TclFinalizeEnvironment
+#define TclFinalizeEnvironment() \
+ (tclIntStubsPtr->tclFinalizeEnvironment)() /* 23 */
+#endif
+#ifndef TclFinalizeExecEnv
+#define TclFinalizeExecEnv() \
+ (tclIntStubsPtr->tclFinalizeExecEnv)() /* 24 */
+#endif
+#ifndef TclFindElement
+#define TclFindElement(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) \
+ (tclIntStubsPtr->tclFindElement)(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) /* 25 */
+#endif
+#ifndef TclFindProc
+#define TclFindProc(iPtr, procName) \
+ (tclIntStubsPtr->tclFindProc)(iPtr, procName) /* 26 */
+#endif
+#ifndef TclFormatInt
+#define TclFormatInt(buffer, n) \
+ (tclIntStubsPtr->tclFormatInt)(buffer, n) /* 27 */
+#endif
+#ifndef TclFreePackageInfo
+#define TclFreePackageInfo(iPtr) \
+ (tclIntStubsPtr->tclFreePackageInfo)(iPtr) /* 28 */
+#endif
+#ifndef TclGetAndDetachPids
+#define TclGetAndDetachPids(interp, chan) \
+ (tclIntStubsPtr->tclGetAndDetachPids)(interp, chan) /* 29 */
+#endif
+#ifndef TclGetCwd
+#define TclGetCwd(interp) \
+ (tclIntStubsPtr->tclGetCwd)(interp) /* 30 */
+#endif
+#ifndef TclGetDate
+#define TclGetDate(p, now, zone, timePtr) \
+ (tclIntStubsPtr->tclGetDate)(p, now, zone, timePtr) /* 31 */
+#endif
+#ifndef TclGetDefaultStdChannel
+#define TclGetDefaultStdChannel(type) \
+ (tclIntStubsPtr->tclGetDefaultStdChannel)(type) /* 32 */
+#endif
+#ifndef TclGetElementOfIndexedArray
+#define TclGetElementOfIndexedArray(interp, localIndex, elemPtr, leaveErrorMsg) \
+ (tclIntStubsPtr->tclGetElementOfIndexedArray)(interp, localIndex, elemPtr, leaveErrorMsg) /* 33 */
+#endif
+#ifndef TclGetEnv
+#define TclGetEnv(name) \
+ (tclIntStubsPtr->tclGetEnv)(name) /* 34 */
+#endif
+#ifndef TclGetExtension
+#define TclGetExtension(name) \
+ (tclIntStubsPtr->tclGetExtension)(name) /* 35 */
+#endif
+#ifndef TclGetFrame
+#define TclGetFrame(interp, string, framePtrPtr) \
+ (tclIntStubsPtr->tclGetFrame)(interp, string, framePtrPtr) /* 36 */
+#endif
+#ifndef TclGetInterpProc
+#define TclGetInterpProc() \
+ (tclIntStubsPtr->tclGetInterpProc)() /* 37 */
+#endif
+#ifndef TclGetIntForIndex
+#define TclGetIntForIndex(interp, objPtr, endValue, indexPtr) \
+ (tclIntStubsPtr->tclGetIntForIndex)(interp, objPtr, endValue, indexPtr) /* 38 */
+#endif
+#ifndef TclGetIndexedScalar
+#define TclGetIndexedScalar(interp, localIndex, leaveErrorMsg) \
+ (tclIntStubsPtr->tclGetIndexedScalar)(interp, localIndex, leaveErrorMsg) /* 39 */
+#endif
+#ifndef TclGetLong
+#define TclGetLong(interp, string, longPtr) \
+ (tclIntStubsPtr->tclGetLong)(interp, string, longPtr) /* 40 */
+#endif
+#ifndef TclGetLoadedPackages
+#define TclGetLoadedPackages(interp, targetName) \
+ (tclIntStubsPtr->tclGetLoadedPackages)(interp, targetName) /* 41 */
+#endif
+#ifndef TclGetNamespaceForQualName
+#define TclGetNamespaceForQualName(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) \
+ (tclIntStubsPtr->tclGetNamespaceForQualName)(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) /* 42 */
+#endif
+#ifndef TclGetObjInterpProc
+#define TclGetObjInterpProc() \
+ (tclIntStubsPtr->tclGetObjInterpProc)() /* 43 */
+#endif
+#ifndef TclGetOpenMode
+#define TclGetOpenMode(interp, string, seekFlagPtr) \
+ (tclIntStubsPtr->tclGetOpenMode)(interp, string, seekFlagPtr) /* 44 */
+#endif
+#ifndef TclGetOriginalCommand
+#define TclGetOriginalCommand(command) \
+ (tclIntStubsPtr->tclGetOriginalCommand)(command) /* 45 */
+#endif
+#ifndef TclpGetUserHome
+#define TclpGetUserHome(name, bufferPtr) \
+ (tclIntStubsPtr->tclpGetUserHome)(name, bufferPtr) /* 46 */
+#endif
+#ifndef TclGlobalInvoke
+#define TclGlobalInvoke(interp, argc, argv, flags) \
+ (tclIntStubsPtr->tclGlobalInvoke)(interp, argc, argv, flags) /* 47 */
+#endif
+#ifndef TclGuessPackageName
+#define TclGuessPackageName(fileName, bufPtr) \
+ (tclIntStubsPtr->tclGuessPackageName)(fileName, bufPtr) /* 48 */
+#endif
+#ifndef TclHasSockets
+#define TclHasSockets(interp) \
+ (tclIntStubsPtr->tclHasSockets)(interp) /* 49 */
+#endif
+#ifndef TclHideUnsafeCommands
+#define TclHideUnsafeCommands(interp) \
+ (tclIntStubsPtr->tclHideUnsafeCommands)(interp) /* 50 */
+#endif
+#ifndef TclInExit
+#define TclInExit() \
+ (tclIntStubsPtr->tclInExit)() /* 51 */
+#endif
+#ifndef TclIncrElementOfIndexedArray
+#define TclIncrElementOfIndexedArray(interp, localIndex, elemPtr, incrAmount) \
+ (tclIntStubsPtr->tclIncrElementOfIndexedArray)(interp, localIndex, elemPtr, incrAmount) /* 52 */
+#endif
+#ifndef TclIncrIndexedScalar
+#define TclIncrIndexedScalar(interp, localIndex, incrAmount) \
+ (tclIntStubsPtr->tclIncrIndexedScalar)(interp, localIndex, incrAmount) /* 53 */
+#endif
+#ifndef TclIncrVar2
+#define TclIncrVar2(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) \
+ (tclIntStubsPtr->tclIncrVar2)(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) /* 54 */
+#endif
+#ifndef TclInitCompiledLocals
+#define TclInitCompiledLocals(interp, framePtr, nsPtr) \
+ (tclIntStubsPtr->tclInitCompiledLocals)(interp, framePtr, nsPtr) /* 55 */
+#endif
+#ifndef TclInitNamespaces
+#define TclInitNamespaces() \
+ (tclIntStubsPtr->tclInitNamespaces)() /* 56 */
+#endif
+#ifndef TclInterpInit
+#define TclInterpInit(interp) \
+ (tclIntStubsPtr->tclInterpInit)(interp) /* 57 */
+#endif
+#ifndef TclInvoke
+#define TclInvoke(interp, argc, argv, flags) \
+ (tclIntStubsPtr->tclInvoke)(interp, argc, argv, flags) /* 58 */
+#endif
+#ifndef TclInvokeObjectCommand
+#define TclInvokeObjectCommand(clientData, interp, argc, argv) \
+ (tclIntStubsPtr->tclInvokeObjectCommand)(clientData, interp, argc, argv) /* 59 */
+#endif
+#ifndef TclInvokeStringCommand
+#define TclInvokeStringCommand(clientData, interp, objc, objv) \
+ (tclIntStubsPtr->tclInvokeStringCommand)(clientData, interp, objc, objv) /* 60 */
+#endif
+#ifndef TclIsProc
+#define TclIsProc(cmdPtr) \
+ (tclIntStubsPtr->tclIsProc)(cmdPtr) /* 61 */
+#endif
+#ifndef TclLoadFile
+#define TclLoadFile(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) \
+ (tclIntStubsPtr->tclLoadFile)(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) /* 62 */
+#endif
+#ifndef TclLooksLikeInt
+#define TclLooksLikeInt(p) \
+ (tclIntStubsPtr->tclLooksLikeInt)(p) /* 63 */
+#endif
+#ifndef TclLookupVar
+#define TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) \
+ (tclIntStubsPtr->tclLookupVar)(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) /* 64 */
+#endif
+#ifndef TclMatchFiles
+#define TclMatchFiles(interp, separators, dirPtr, pattern, tail) \
+ (tclIntStubsPtr->tclMatchFiles)(interp, separators, dirPtr, pattern, tail) /* 65 */
+#endif
+#ifndef TclNeedSpace
+#define TclNeedSpace(start, end) \
+ (tclIntStubsPtr->tclNeedSpace)(start, end) /* 66 */
+#endif
+#ifndef TclNewProcBodyObj
+#define TclNewProcBodyObj(procPtr) \
+ (tclIntStubsPtr->tclNewProcBodyObj)(procPtr) /* 67 */
+#endif
+#ifndef TclObjCommandComplete
+#define TclObjCommandComplete(cmdPtr) \
+ (tclIntStubsPtr->tclObjCommandComplete)(cmdPtr) /* 68 */
+#endif
+#ifndef TclObjInterpProc
+#define TclObjInterpProc(clientData, interp, objc, objv) \
+ (tclIntStubsPtr->tclObjInterpProc)(clientData, interp, objc, objv) /* 69 */
+#endif
+#ifndef TclObjInvoke
+#define TclObjInvoke(interp, objc, objv, flags) \
+ (tclIntStubsPtr->tclObjInvoke)(interp, objc, objv, flags) /* 70 */
+#endif
+#ifndef TclObjInvokeGlobal
+#define TclObjInvokeGlobal(interp, objc, objv, flags) \
+ (tclIntStubsPtr->tclObjInvokeGlobal)(interp, objc, objv, flags) /* 71 */
+#endif
+#ifndef TclOpenFileChannelDeleteProc
+#define TclOpenFileChannelDeleteProc(proc) \
+ (tclIntStubsPtr->tclOpenFileChannelDeleteProc)(proc) /* 72 */
+#endif
+#ifndef TclOpenFileChannelInsertProc
+#define TclOpenFileChannelInsertProc(proc) \
+ (tclIntStubsPtr->tclOpenFileChannelInsertProc)(proc) /* 73 */
+#endif
+#ifndef TclpAlloc
+#define TclpAlloc(size) \
+ (tclIntStubsPtr->tclpAlloc)(size) /* 74 */
+#endif
+#ifndef TclpCloseFile
+#define TclpCloseFile(file) \
+ (tclIntStubsPtr->tclpCloseFile)(file) /* 75 */
+#endif
+#ifndef TclpCopyFile
+#define TclpCopyFile(source, dest) \
+ (tclIntStubsPtr->tclpCopyFile)(source, dest) /* 76 */
+#endif
+#ifndef TclpCopyDirectory
+#define TclpCopyDirectory(source, dest, errorPtr) \
+ (tclIntStubsPtr->tclpCopyDirectory)(source, dest, errorPtr) /* 77 */
+#endif
+#ifndef TclpCreateCommandChannel
+#define TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) \
+ (tclIntStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr) /* 78 */
+#endif
+#ifndef TclpCreateDirectory
+#define TclpCreateDirectory(path) \
+ (tclIntStubsPtr->tclpCreateDirectory)(path) /* 79 */
+#endif
+#ifndef TclpCreatePipe
+#define TclpCreatePipe(readPipe, writePipe) \
+ (tclIntStubsPtr->tclpCreatePipe)(readPipe, writePipe) /* 80 */
+#endif
+#ifndef TclpCreateProcess
+#define TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) \
+ (tclIntStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) /* 81 */
+#endif
+#ifndef TclpCreateTempFile
+#define TclpCreateTempFile(contents, namePtr) \
+ (tclIntStubsPtr->tclpCreateTempFile)(contents, namePtr) /* 82 */
+#endif
+#ifndef TclpDeleteFile
+#define TclpDeleteFile(path) \
+ (tclIntStubsPtr->tclpDeleteFile)(path) /* 83 */
+#endif
+#ifndef TclpFinalize
+#define TclpFinalize() \
+ (tclIntStubsPtr->tclpFinalize)() /* 84 */
+#endif
+#ifndef TclpFree
+#define TclpFree(ptr) \
+ (tclIntStubsPtr->tclpFree)(ptr) /* 85 */
+#endif
+#ifndef TclpGetClicks
+#define TclpGetClicks() \
+ (tclIntStubsPtr->tclpGetClicks)() /* 86 */
+#endif
+#ifndef TclpGetSeconds
+#define TclpGetSeconds() \
+ (tclIntStubsPtr->tclpGetSeconds)() /* 87 */
+#endif
+#ifndef TclpGetTime
+#define TclpGetTime(time) \
+ (tclIntStubsPtr->tclpGetTime)(time) /* 88 */
+#endif
+#ifndef TclpGetTimeZone
+#define TclpGetTimeZone(time) \
+ (tclIntStubsPtr->tclpGetTimeZone)(time) /* 89 */
+#endif
+#ifndef TclpGetTZName
+#define TclpGetTZName() \
+ (tclIntStubsPtr->tclpGetTZName)() /* 90 */
+#endif
+#ifndef TclpListVolumes
+#define TclpListVolumes(interp) \
+ (tclIntStubsPtr->tclpListVolumes)(interp) /* 91 */
+#endif
+#ifndef TclpMakeFile
+#define TclpMakeFile(channel, direction) \
+ (tclIntStubsPtr->tclpMakeFile)(channel, direction) /* 92 */
+#endif
+#ifndef TclpOpenFile
+#define TclpOpenFile(fname, mode) \
+ (tclIntStubsPtr->tclpOpenFile)(fname, mode) /* 93 */
+#endif
+#ifndef TclpOpenFileChannel
+#define TclpOpenFileChannel(interp, fileName, modeString, permissions) \
+ (tclIntStubsPtr->tclpOpenFileChannel)(interp, fileName, modeString, permissions) /* 94 */
+#endif
+#ifndef TclpRealloc
+#define TclpRealloc(ptr, size) \
+ (tclIntStubsPtr->tclpRealloc)(ptr, size) /* 95 */
+#endif
+#ifndef TclpRemoveDirectory
+#define TclpRemoveDirectory(path, recursive, errorPtr) \
+ (tclIntStubsPtr->tclpRemoveDirectory)(path, recursive, errorPtr) /* 96 */
+#endif
+#ifndef TclpRenameFile
+#define TclpRenameFile(source, dest) \
+ (tclIntStubsPtr->tclpRenameFile)(source, dest) /* 97 */
+#endif
+#ifndef TclParseBraces
+#define TclParseBraces(interp, string, termPtr, pvPtr) \
+ (tclIntStubsPtr->tclParseBraces)(interp, string, termPtr, pvPtr) /* 98 */
+#endif
+#ifndef TclParseNestedCmd
+#define TclParseNestedCmd(interp, string, flags, termPtr, pvPtr) \
+ (tclIntStubsPtr->tclParseNestedCmd)(interp, string, flags, termPtr, pvPtr) /* 99 */
+#endif
+#ifndef TclParseQuotes
+#define TclParseQuotes(interp, string, termChar, flags, termPtr, pvPtr) \
+ (tclIntStubsPtr->tclParseQuotes)(interp, string, termChar, flags, termPtr, pvPtr) /* 100 */
+#endif
+#ifndef TclPlatformInit
+#define TclPlatformInit(interp) \
+ (tclIntStubsPtr->tclPlatformInit)(interp) /* 101 */
+#endif
+#ifndef TclPrecTraceProc
+#define TclPrecTraceProc(clientData, interp, name1, name2, flags) \
+ (tclIntStubsPtr->tclPrecTraceProc)(clientData, interp, name1, name2, flags) /* 102 */
+#endif
+#ifndef TclPreventAliasLoop
+#define TclPreventAliasLoop(interp, cmdInterp, cmd) \
+ (tclIntStubsPtr->tclPreventAliasLoop)(interp, cmdInterp, cmd) /* 103 */
+#endif
+#ifndef TclPrintByteCodeObj
+#define TclPrintByteCodeObj(interp, objPtr) \
+ (tclIntStubsPtr->tclPrintByteCodeObj)(interp, objPtr) /* 104 */
+#endif
+#ifndef TclProcCleanupProc
+#define TclProcCleanupProc(procPtr) \
+ (tclIntStubsPtr->tclProcCleanupProc)(procPtr) /* 105 */
+#endif
+#ifndef TclProcCompileProc
+#define TclProcCompileProc(interp, procPtr, bodyPtr, nsPtr, description, procName) \
+ (tclIntStubsPtr->tclProcCompileProc)(interp, procPtr, bodyPtr, nsPtr, description, procName) /* 106 */
+#endif
+#ifndef TclProcDeleteProc
+#define TclProcDeleteProc(clientData) \
+ (tclIntStubsPtr->tclProcDeleteProc)(clientData) /* 107 */
+#endif
+#ifndef TclProcInterpProc
+#define TclProcInterpProc(clientData, interp, argc, argv) \
+ (tclIntStubsPtr->tclProcInterpProc)(clientData, interp, argc, argv) /* 108 */
+#endif
+#ifndef TclRenameCommand
+#define TclRenameCommand(interp, oldName, newName) \
+ (tclIntStubsPtr->tclRenameCommand)(interp, oldName, newName) /* 109 */
+#endif
+#ifndef TclResetShadowedCmdRefs
+#define TclResetShadowedCmdRefs(interp, newCmdPtr) \
+ (tclIntStubsPtr->tclResetShadowedCmdRefs)(interp, newCmdPtr) /* 110 */
+#endif
+#ifndef TclServiceIdle
+#define TclServiceIdle() \
+ (tclIntStubsPtr->tclServiceIdle)() /* 111 */
+#endif
+#ifndef TclSetElementOfIndexedArray
+#define TclSetElementOfIndexedArray(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) \
+ (tclIntStubsPtr->tclSetElementOfIndexedArray)(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) /* 112 */
+#endif
+#ifndef TclSetIndexedScalar
+#define TclSetIndexedScalar(interp, localIndex, objPtr, leaveErrorMsg) \
+ (tclIntStubsPtr->tclSetIndexedScalar)(interp, localIndex, objPtr, leaveErrorMsg) /* 113 */
+#endif
+#ifndef TclSetPreInitScript
+#define TclSetPreInitScript(string) \
+ (tclIntStubsPtr->tclSetPreInitScript)(string) /* 114 */
+#endif
+#ifndef TclSetupEnv
+#define TclSetupEnv(interp) \
+ (tclIntStubsPtr->tclSetupEnv)(interp) /* 115 */
+#endif
+#ifndef TclSockGetPort
+#define TclSockGetPort(interp, string, proto, portPtr) \
+ (tclIntStubsPtr->tclSockGetPort)(interp, string, proto, portPtr) /* 116 */
+#endif
+#ifndef TclSockMinimumBuffers
+#define TclSockMinimumBuffers(sock, size) \
+ (tclIntStubsPtr->tclSockMinimumBuffers)(sock, size) /* 117 */
+#endif
+#ifndef TclStat
+#define TclStat(path, buf) \
+ (tclIntStubsPtr->tclStat)(path, buf) /* 118 */
+#endif
+#ifndef TclStatDeleteProc
+#define TclStatDeleteProc(proc) \
+ (tclIntStubsPtr->tclStatDeleteProc)(proc) /* 119 */
+#endif
+#ifndef TclStatInsertProc
+#define TclStatInsertProc(proc) \
+ (tclIntStubsPtr->tclStatInsertProc)(proc) /* 120 */
+#endif
+#ifndef TclTeardownNamespace
+#define TclTeardownNamespace(nsPtr) \
+ (tclIntStubsPtr->tclTeardownNamespace)(nsPtr) /* 121 */
+#endif
+#ifndef TclUpdateReturnInfo
+#define TclUpdateReturnInfo(iPtr) \
+ (tclIntStubsPtr->tclUpdateReturnInfo)(iPtr) /* 122 */
+#endif
+#ifndef TclWordEnd
+#define TclWordEnd(start, lastChar, nested, semiPtr) \
+ (tclIntStubsPtr->tclWordEnd)(start, lastChar, nested, semiPtr) /* 123 */
+#endif
+#ifndef Tcl_AddInterpResolvers
+#define Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc) \
+ (tclIntStubsPtr->tcl_AddInterpResolvers)(interp, name, cmdProc, varProc, compiledVarProc) /* 124 */
+#endif
+#ifndef Tcl_AppendExportList
+#define Tcl_AppendExportList(interp, nsPtr, objPtr) \
+ (tclIntStubsPtr->tcl_AppendExportList)(interp, nsPtr, objPtr) /* 125 */
+#endif
+#ifndef Tcl_CreateNamespace
+#define Tcl_CreateNamespace(interp, name, clientData, deleteProc) \
+ (tclIntStubsPtr->tcl_CreateNamespace)(interp, name, clientData, deleteProc) /* 126 */
+#endif
+#ifndef Tcl_DeleteNamespace
+#define Tcl_DeleteNamespace(nsPtr) \
+ (tclIntStubsPtr->tcl_DeleteNamespace)(nsPtr) /* 127 */
+#endif
+#ifndef Tcl_Export
+#define Tcl_Export(interp, nsPtr, pattern, resetListFirst) \
+ (tclIntStubsPtr->tcl_Export)(interp, nsPtr, pattern, resetListFirst) /* 128 */
+#endif
+#ifndef Tcl_FindCommand
+#define Tcl_FindCommand(interp, name, contextNsPtr, flags) \
+ (tclIntStubsPtr->tcl_FindCommand)(interp, name, contextNsPtr, flags) /* 129 */
+#endif
+#ifndef Tcl_FindNamespace
+#define Tcl_FindNamespace(interp, name, contextNsPtr, flags) \
+ (tclIntStubsPtr->tcl_FindNamespace)(interp, name, contextNsPtr, flags) /* 130 */
+#endif
+#ifndef Tcl_GetInterpResolvers
+#define Tcl_GetInterpResolvers(interp, name, resInfo) \
+ (tclIntStubsPtr->tcl_GetInterpResolvers)(interp, name, resInfo) /* 131 */
+#endif
+#ifndef Tcl_GetNamespaceResolvers
+#define Tcl_GetNamespaceResolvers(namespacePtr, resInfo) \
+ (tclIntStubsPtr->tcl_GetNamespaceResolvers)(namespacePtr, resInfo) /* 132 */
+#endif
+#ifndef Tcl_FindNamespaceVar
+#define Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags) \
+ (tclIntStubsPtr->tcl_FindNamespaceVar)(interp, name, contextNsPtr, flags) /* 133 */
+#endif
+#ifndef Tcl_ForgetImport
+#define Tcl_ForgetImport(interp, nsPtr, pattern) \
+ (tclIntStubsPtr->tcl_ForgetImport)(interp, nsPtr, pattern) /* 134 */
+#endif
+#ifndef Tcl_GetCommandFromObj
+#define Tcl_GetCommandFromObj(interp, objPtr) \
+ (tclIntStubsPtr->tcl_GetCommandFromObj)(interp, objPtr) /* 135 */
+#endif
+#ifndef Tcl_GetCommandFullName
+#define Tcl_GetCommandFullName(interp, command, objPtr) \
+ (tclIntStubsPtr->tcl_GetCommandFullName)(interp, command, objPtr) /* 136 */
+#endif
+#ifndef Tcl_GetCurrentNamespace
+#define Tcl_GetCurrentNamespace(interp) \
+ (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp) /* 137 */
+#endif
+#ifndef Tcl_GetGlobalNamespace
+#define Tcl_GetGlobalNamespace(interp) \
+ (tclIntStubsPtr->tcl_GetGlobalNamespace)(interp) /* 138 */
+#endif
+#ifndef Tcl_GetVariableFullName
+#define Tcl_GetVariableFullName(interp, variable, objPtr) \
+ (tclIntStubsPtr->tcl_GetVariableFullName)(interp, variable, objPtr) /* 139 */
+#endif
+#ifndef Tcl_Import
+#define Tcl_Import(interp, nsPtr, pattern, allowOverwrite) \
+ (tclIntStubsPtr->tcl_Import)(interp, nsPtr, pattern, allowOverwrite) /* 140 */
+#endif
+#ifndef Tcl_PopCallFrame
+#define Tcl_PopCallFrame(interp) \
+ (tclIntStubsPtr->tcl_PopCallFrame)(interp) /* 141 */
+#endif
+#ifndef Tcl_PushCallFrame
+#define Tcl_PushCallFrame(interp, framePtr, nsPtr, isProcCallFrame) \
+ (tclIntStubsPtr->tcl_PushCallFrame)(interp, framePtr, nsPtr, isProcCallFrame) /* 142 */
+#endif
+#ifndef Tcl_RemoveInterpResolvers
+#define Tcl_RemoveInterpResolvers(interp, name) \
+ (tclIntStubsPtr->tcl_RemoveInterpResolvers)(interp, name) /* 143 */
+#endif
+#ifndef Tcl_SetNamespaceResolvers
+#define Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc) \
+ (tclIntStubsPtr->tcl_SetNamespaceResolvers)(namespacePtr, cmdProc, varProc, compiledVarProc) /* 144 */
+#endif
+#ifndef TclCompileBreakCmd
+#define TclCompileBreakCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileBreakCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 145 */
+#endif
+#ifndef TclCompileCatchCmd
+#define TclCompileCatchCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileCatchCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 146 */
+#endif
+#ifndef TclCompileContinueCmd
+#define TclCompileContinueCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileContinueCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 147 */
+#endif
+#ifndef TclCompileExprCmd
+#define TclCompileExprCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileExprCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 148 */
+#endif
+#ifndef TclCompileForCmd
+#define TclCompileForCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileForCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 149 */
+#endif
+#ifndef TclCompileForeachCmd
+#define TclCompileForeachCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileForeachCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 150 */
+#endif
+#ifndef TclCompileIfCmd
+#define TclCompileIfCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileIfCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 151 */
+#endif
+#ifndef TclCompileIncrCmd
+#define TclCompileIncrCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileIncrCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 152 */
+#endif
+#ifndef TclCompileSetCmd
+#define TclCompileSetCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileSetCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 153 */
+#endif
+#ifndef TclCompileWhileCmd
+#define TclCompileWhileCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \
+ (tclIntStubsPtr->tclCompileWhileCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 154 */
+#endif
+
+#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _TCLINTDECLS */
+
diff --git a/generic/tclIntPlatDecls.h b/generic/tclIntPlatDecls.h
new file mode 100644
index 0000000..35d5b95
--- /dev/null
+++ b/generic/tclIntPlatDecls.h
@@ -0,0 +1,159 @@
+/*
+ * tclIntPlatDecls.h --
+ *
+ * This file contains the declarations for all platform dependent
+ * unsupported functions that are exported by the Tcl library. These
+ * interfaces are not guaranteed to remain the same between
+ * versions. Use at your own risk.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * All rights reserved.
+ *
+ * RCS: @(#) $Id: tclIntPlatDecls.h,v 1.1 1999/03/03 00:38:41 stanton Exp $
+ */
+
+#ifndef _TCLINTPLATDECLS
+#define _TCLINTPLATDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tclInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+#ifdef __WIN32__
+/* 0 */
+EXTERN void TclWinConvertError _ANSI_ARGS_((DWORD errCode));
+/* 1 */
+EXTERN void TclWinConvertWSAError _ANSI_ARGS_((DWORD errCode));
+/* 2 */
+EXTERN struct servent * TclWinGetServByName _ANSI_ARGS_((const char * nm,
+ const char * proto));
+/* 3 */
+EXTERN int TclWinGetSockOpt _ANSI_ARGS_((SOCKET s, int level,
+ int optname, char FAR * optval,
+ int FAR * optlen));
+/* 4 */
+EXTERN HINSTANCE TclWinGetTclInstance _ANSI_ARGS_((void));
+/* 5 */
+EXTERN HINSTANCE TclWinLoadLibrary _ANSI_ARGS_((char * name));
+/* 6 */
+EXTERN u_short TclWinNToHS _ANSI_ARGS_((u_short ns));
+/* 7 */
+EXTERN int TclWinSetSockOpt _ANSI_ARGS_((SOCKET s, int level,
+ int optname, const char FAR * optval,
+ int optlen));
+#endif /* __WIN32__ */
+#ifdef MAC_TCL
+/* 0 */
+EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void));
+/* 1 */
+EXTERN VOID * TclpSysAlloc _ANSI_ARGS_((long size, int isBin));
+/* 2 */
+EXTERN void TclpSysFree _ANSI_ARGS_((VOID * ptr));
+/* 3 */
+EXTERN VOID * TclpSysRealloc _ANSI_ARGS_((VOID * cp,
+ unsigned int size));
+/* 4 */
+EXTERN void TclPlatformExit _ANSI_ARGS_((int status));
+#endif /* MAC_TCL */
+
+typedef struct TclIntPlatStubs {
+ int magic;
+ struct TclIntPlatStubHooks *hooks;
+
+#ifdef __WIN32__
+ void (*tclWinConvertError) _ANSI_ARGS_((DWORD errCode)); /* 0 */
+ void (*tclWinConvertWSAError) _ANSI_ARGS_((DWORD errCode)); /* 1 */
+ struct servent * (*tclWinGetServByName) _ANSI_ARGS_((const char * nm, const char * proto)); /* 2 */
+ int (*tclWinGetSockOpt) _ANSI_ARGS_((SOCKET s, int level, int optname, char FAR * optval, int FAR * optlen)); /* 3 */
+ HINSTANCE (*tclWinGetTclInstance) _ANSI_ARGS_((void)); /* 4 */
+ HINSTANCE (*tclWinLoadLibrary) _ANSI_ARGS_((char * name)); /* 5 */
+ u_short (*tclWinNToHS) _ANSI_ARGS_((u_short ns)); /* 6 */
+ int (*tclWinSetSockOpt) _ANSI_ARGS_((SOCKET s, int level, int optname, const char FAR * optval, int optlen)); /* 7 */
+#endif /* __WIN32__ */
+#ifdef MAC_TCL
+ int (*tclpCheckStackSpace) _ANSI_ARGS_((void)); /* 0 */
+ VOID * (*tclpSysAlloc) _ANSI_ARGS_((long size, int isBin)); /* 1 */
+ void (*tclpSysFree) _ANSI_ARGS_((VOID * ptr)); /* 2 */
+ VOID * (*tclpSysRealloc) _ANSI_ARGS_((VOID * cp, unsigned int size)); /* 3 */
+ void (*tclPlatformExit) _ANSI_ARGS_((int status)); /* 4 */
+#endif /* MAC_TCL */
+} TclIntPlatStubs;
+
+extern TclIntPlatStubs *tclIntPlatStubsPtr;
+
+#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+#ifdef __WIN32__
+#ifndef TclWinConvertError
+#define TclWinConvertError(errCode) \
+ (tclIntPlatStubsPtr->tclWinConvertError)(errCode) /* 0 */
+#endif
+#ifndef TclWinConvertWSAError
+#define TclWinConvertWSAError(errCode) \
+ (tclIntPlatStubsPtr->tclWinConvertWSAError)(errCode) /* 1 */
+#endif
+#ifndef TclWinGetServByName
+#define TclWinGetServByName(nm, proto) \
+ (tclIntPlatStubsPtr->tclWinGetServByName)(nm, proto) /* 2 */
+#endif
+#ifndef TclWinGetSockOpt
+#define TclWinGetSockOpt(s, level, optname, optval, optlen) \
+ (tclIntPlatStubsPtr->tclWinGetSockOpt)(s, level, optname, optval, optlen) /* 3 */
+#endif
+#ifndef TclWinGetTclInstance
+#define TclWinGetTclInstance() \
+ (tclIntPlatStubsPtr->tclWinGetTclInstance)() /* 4 */
+#endif
+#ifndef TclWinLoadLibrary
+#define TclWinLoadLibrary(name) \
+ (tclIntPlatStubsPtr->tclWinLoadLibrary)(name) /* 5 */
+#endif
+#ifndef TclWinNToHS
+#define TclWinNToHS(ns) \
+ (tclIntPlatStubsPtr->tclWinNToHS)(ns) /* 6 */
+#endif
+#ifndef TclWinSetSockOpt
+#define TclWinSetSockOpt(s, level, optname, optval, optlen) \
+ (tclIntPlatStubsPtr->tclWinSetSockOpt)(s, level, optname, optval, optlen) /* 7 */
+#endif
+#endif /* __WIN32__ */
+#ifdef MAC_TCL
+#ifndef TclpCheckStackSpace
+#define TclpCheckStackSpace() \
+ (tclIntPlatStubsPtr->tclpCheckStackSpace)() /* 0 */
+#endif
+#ifndef TclpSysAlloc
+#define TclpSysAlloc(size, isBin) \
+ (tclIntPlatStubsPtr->tclpSysAlloc)(size, isBin) /* 1 */
+#endif
+#ifndef TclpSysFree
+#define TclpSysFree(ptr) \
+ (tclIntPlatStubsPtr->tclpSysFree)(ptr) /* 2 */
+#endif
+#ifndef TclpSysRealloc
+#define TclpSysRealloc(cp, size) \
+ (tclIntPlatStubsPtr->tclpSysRealloc)(cp, size) /* 3 */
+#endif
+#ifndef TclPlatformExit
+#define TclPlatformExit(status) \
+ (tclIntPlatStubsPtr->tclPlatformExit)(status) /* 4 */
+#endif
+#endif /* MAC_TCL */
+
+#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _TCLINTPLATDECLS */
diff --git a/generic/tclIntPlatStubs.c b/generic/tclIntPlatStubs.c
new file mode 100644
index 0000000..1a10ac5
--- /dev/null
+++ b/generic/tclIntPlatStubs.c
@@ -0,0 +1,146 @@
+/*
+ * tclIntPlatStubs.c --
+ *
+ * This file contains the wrapper functions for the platform dependent
+ * unsupported Tcl API.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * All rights reserved.
+ *
+ * RCS: @(#) $Id: tclIntPlatStubs.c,v 1.1 1999/03/03 00:38:41 stanton Exp $
+ */
+
+#include "tclInt.h"
+#include "tclPort.h"
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tclInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported stub functions:
+ */
+
+#ifdef __WIN32__
+/* Slot 0 */
+void
+TclWinConvertError(errCode)
+ DWORD errCode;
+{
+ (tclIntPlatStubsPtr->tclWinConvertError)(errCode);
+}
+
+/* Slot 1 */
+void
+TclWinConvertWSAError(errCode)
+ DWORD errCode;
+{
+ (tclIntPlatStubsPtr->tclWinConvertWSAError)(errCode);
+}
+
+/* Slot 2 */
+struct servent *
+TclWinGetServByName(nm, proto)
+ const char * nm;
+ const char * proto;
+{
+ return (tclIntPlatStubsPtr->tclWinGetServByName)(nm, proto);
+}
+
+/* Slot 3 */
+int
+TclWinGetSockOpt(s, level, optname, optval, optlen)
+ SOCKET s;
+ int level;
+ int optname;
+ char FAR * optval;
+ int FAR * optlen;
+{
+ return (tclIntPlatStubsPtr->tclWinGetSockOpt)(s, level, optname, optval, optlen);
+}
+
+/* Slot 4 */
+HINSTANCE
+TclWinGetTclInstance()
+{
+ return (tclIntPlatStubsPtr->tclWinGetTclInstance)();
+}
+
+/* Slot 5 */
+HINSTANCE
+TclWinLoadLibrary(name)
+ char * name;
+{
+ return (tclIntPlatStubsPtr->tclWinLoadLibrary)(name);
+}
+
+/* Slot 6 */
+u_short
+TclWinNToHS(ns)
+ u_short ns;
+{
+ return (tclIntPlatStubsPtr->tclWinNToHS)(ns);
+}
+
+/* Slot 7 */
+int
+TclWinSetSockOpt(s, level, optname, optval, optlen)
+ SOCKET s;
+ int level;
+ int optname;
+ const char FAR * optval;
+ int optlen;
+{
+ return (tclIntPlatStubsPtr->tclWinSetSockOpt)(s, level, optname, optval, optlen);
+}
+
+#endif /* __WIN32__ */
+#ifdef MAC_TCL
+/* Slot 0 */
+int
+TclpCheckStackSpace()
+{
+ return (tclIntPlatStubsPtr->tclpCheckStackSpace)();
+}
+
+/* Slot 1 */
+VOID *
+TclpSysAlloc(size, isBin)
+ long size;
+ int isBin;
+{
+ return (tclIntPlatStubsPtr->tclpSysAlloc)(size, isBin);
+}
+
+/* Slot 2 */
+void
+TclpSysFree(ptr)
+ VOID * ptr;
+{
+ (tclIntPlatStubsPtr->tclpSysFree)(ptr);
+}
+
+/* Slot 3 */
+VOID *
+TclpSysRealloc(cp, size)
+ VOID * cp;
+ unsigned int size;
+{
+ return (tclIntPlatStubsPtr->tclpSysRealloc)(cp, size);
+}
+
+/* Slot 4 */
+void
+TclPlatformExit(status)
+ int status;
+{
+ (tclIntPlatStubsPtr->tclPlatformExit)(status);
+}
+
+#endif /* MAC_TCL */
+
+/* !END!: Do not edit above this line. */
diff --git a/generic/tclIntStubs.c b/generic/tclIntStubs.c
new file mode 100644
index 0000000..34ea414
--- /dev/null
+++ b/generic/tclIntStubs.c
@@ -0,0 +1,1529 @@
+/*
+ * tclIntStubs.c --
+ *
+ * This file contains the wrapper functions for the platform independent
+ * unsupported Tcl API.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * All rights reserved.
+ *
+ * RCS: @(#) $Id: tclIntStubs.c,v 1.1 1999/03/03 00:38:41 stanton Exp $
+ */
+
+#include "tclInt.h"
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tclInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported stub functions:
+ */
+
+/* Slot 0 */
+int
+TclAccess(path, mode)
+ CONST char * path;
+ int mode;
+{
+ return (tclIntStubsPtr->tclAccess)(path, mode);
+}
+
+/* Slot 1 */
+int
+TclAccessDeleteProc(proc)
+ TclAccessProc_ * proc;
+{
+ return (tclIntStubsPtr->tclAccessDeleteProc)(proc);
+}
+
+/* Slot 2 */
+int
+TclAccessInsertProc(proc)
+ TclAccessProc_ * proc;
+{
+ return (tclIntStubsPtr->tclAccessInsertProc)(proc);
+}
+
+/* Slot 3 */
+void
+TclAllocateFreeObjects()
+{
+ (tclIntStubsPtr->tclAllocateFreeObjects)();
+}
+
+/* Slot 4 */
+int
+TclChdir(interp, dirName)
+ Tcl_Interp * interp;
+ char * dirName;
+{
+ return (tclIntStubsPtr->tclChdir)(interp, dirName);
+}
+
+/* Slot 5 */
+int
+TclCleanupChildren(interp, numPids, pidPtr, errorChan)
+ Tcl_Interp * interp;
+ int numPids;
+ Tcl_Pid * pidPtr;
+ Tcl_Channel errorChan;
+{
+ return (tclIntStubsPtr->tclCleanupChildren)(interp, numPids, pidPtr, errorChan);
+}
+
+/* Slot 6 */
+void
+TclCleanupCommand(cmdPtr)
+ Command * cmdPtr;
+{
+ (tclIntStubsPtr->tclCleanupCommand)(cmdPtr);
+}
+
+/* Slot 7 */
+int
+TclCopyAndCollapse(count, src, dst)
+ int count;
+ char * src;
+ char * dst;
+{
+ return (tclIntStubsPtr->tclCopyAndCollapse)(count, src, dst);
+}
+
+/* Slot 8 */
+int
+TclCopyChannel(interp, inChan, outChan, toRead, cmdPtr)
+ Tcl_Interp * interp;
+ Tcl_Channel inChan;
+ Tcl_Channel outChan;
+ int toRead;
+ Tcl_Obj * cmdPtr;
+{
+ return (tclIntStubsPtr->tclCopyChannel)(interp, inChan, outChan, toRead, cmdPtr);
+}
+
+/* Slot 9 */
+int
+TclCreatePipeline(interp, argc, argv, pidArrayPtr, inPipePtr, outPipePtr, errFilePtr)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+ Tcl_Pid ** pidArrayPtr;
+ TclFile * inPipePtr;
+ TclFile * outPipePtr;
+ TclFile * errFilePtr;
+{
+ return (tclIntStubsPtr->tclCreatePipeline)(interp, argc, argv, pidArrayPtr, inPipePtr, outPipePtr, errFilePtr);
+}
+
+/* Slot 10 */
+int
+TclCreateProc(interp, nsPtr, procName, argsPtr, bodyPtr, procPtrPtr)
+ Tcl_Interp * interp;
+ Namespace * nsPtr;
+ char * procName;
+ Tcl_Obj * argsPtr;
+ Tcl_Obj * bodyPtr;
+ Proc ** procPtrPtr;
+{
+ return (tclIntStubsPtr->tclCreateProc)(interp, nsPtr, procName, argsPtr, bodyPtr, procPtrPtr);
+}
+
+/* Slot 11 */
+void
+TclDeleteCompiledLocalVars(iPtr, framePtr)
+ Interp * iPtr;
+ CallFrame * framePtr;
+{
+ (tclIntStubsPtr->tclDeleteCompiledLocalVars)(iPtr, framePtr);
+}
+
+/* Slot 12 */
+void
+TclDeleteVars(iPtr, tablePtr)
+ Interp * iPtr;
+ Tcl_HashTable * tablePtr;
+{
+ (tclIntStubsPtr->tclDeleteVars)(iPtr, tablePtr);
+}
+
+/* Slot 13 */
+int
+TclDoGlob(interp, separators, headPtr, tail)
+ Tcl_Interp * interp;
+ char * separators;
+ Tcl_DString * headPtr;
+ char * tail;
+{
+ return (tclIntStubsPtr->tclDoGlob)(interp, separators, headPtr, tail);
+}
+
+/* Slot 14 */
+void
+TclDumpMemoryInfo(outFile)
+ FILE * outFile;
+{
+ (tclIntStubsPtr->tclDumpMemoryInfo)(outFile);
+}
+
+/* Slot 15 */
+void
+TclExpandParseValue(pvPtr, needed)
+ ParseValue * pvPtr;
+ int needed;
+{
+ (tclIntStubsPtr->tclExpandParseValue)(pvPtr, needed);
+}
+
+/* Slot 16 */
+void
+TclExprFloatError(interp, value)
+ Tcl_Interp * interp;
+ double value;
+{
+ (tclIntStubsPtr->tclExprFloatError)(interp, value);
+}
+
+/* Slot 17 */
+int
+TclFileAttrsCmd(interp, objc, objv)
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclIntStubsPtr->tclFileAttrsCmd)(interp, objc, objv);
+}
+
+/* Slot 18 */
+int
+TclFileCopyCmd(interp, argc, argv)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclFileCopyCmd)(interp, argc, argv);
+}
+
+/* Slot 19 */
+int
+TclFileDeleteCmd(interp, argc, argv)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclFileDeleteCmd)(interp, argc, argv);
+}
+
+/* Slot 20 */
+int
+TclFileMakeDirsCmd(interp, argc, argv)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclFileMakeDirsCmd)(interp, argc, argv);
+}
+
+/* Slot 21 */
+int
+TclFileRenameCmd(interp, argc, argv)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclFileRenameCmd)(interp, argc, argv);
+}
+
+/* Slot 22 */
+void
+TclFinalizeCompExecEnv()
+{
+ (tclIntStubsPtr->tclFinalizeCompExecEnv)();
+}
+
+/* Slot 23 */
+void
+TclFinalizeEnvironment()
+{
+ (tclIntStubsPtr->tclFinalizeEnvironment)();
+}
+
+/* Slot 24 */
+void
+TclFinalizeExecEnv()
+{
+ (tclIntStubsPtr->tclFinalizeExecEnv)();
+}
+
+/* Slot 25 */
+int
+TclFindElement(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr)
+ Tcl_Interp * interp;
+ char * list;
+ int listLength;
+ char ** elementPtr;
+ char ** nextPtr;
+ int * sizePtr;
+ int * bracePtr;
+{
+ return (tclIntStubsPtr->tclFindElement)(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr);
+}
+
+/* Slot 26 */
+Proc *
+TclFindProc(iPtr, procName)
+ Interp * iPtr;
+ char * procName;
+{
+ return (tclIntStubsPtr->tclFindProc)(iPtr, procName);
+}
+
+/* Slot 27 */
+int
+TclFormatInt(buffer, n)
+ char * buffer;
+ long n;
+{
+ return (tclIntStubsPtr->tclFormatInt)(buffer, n);
+}
+
+/* Slot 28 */
+void
+TclFreePackageInfo(iPtr)
+ Interp * iPtr;
+{
+ (tclIntStubsPtr->tclFreePackageInfo)(iPtr);
+}
+
+/* Slot 29 */
+void
+TclGetAndDetachPids(interp, chan)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+{
+ (tclIntStubsPtr->tclGetAndDetachPids)(interp, chan);
+}
+
+/* Slot 30 */
+char *
+TclGetCwd(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tclGetCwd)(interp);
+}
+
+/* Slot 31 */
+int
+TclGetDate(p, now, zone, timePtr)
+ char * p;
+ unsigned long now;
+ long zone;
+ unsigned long * timePtr;
+{
+ return (tclIntStubsPtr->tclGetDate)(p, now, zone, timePtr);
+}
+
+/* Slot 32 */
+Tcl_Channel
+TclGetDefaultStdChannel(type)
+ int type;
+{
+ return (tclIntStubsPtr->tclGetDefaultStdChannel)(type);
+}
+
+/* Slot 33 */
+Tcl_Obj *
+TclGetElementOfIndexedArray(interp, localIndex, elemPtr, leaveErrorMsg)
+ Tcl_Interp * interp;
+ int localIndex;
+ Tcl_Obj * elemPtr;
+ int leaveErrorMsg;
+{
+ return (tclIntStubsPtr->tclGetElementOfIndexedArray)(interp, localIndex, elemPtr, leaveErrorMsg);
+}
+
+/* Slot 34 */
+char *
+TclGetEnv(name)
+ CONST char * name;
+{
+ return (tclIntStubsPtr->tclGetEnv)(name);
+}
+
+/* Slot 35 */
+char *
+TclGetExtension(name)
+ char * name;
+{
+ return (tclIntStubsPtr->tclGetExtension)(name);
+}
+
+/* Slot 36 */
+int
+TclGetFrame(interp, string, framePtrPtr)
+ Tcl_Interp * interp;
+ char * string;
+ CallFrame ** framePtrPtr;
+{
+ return (tclIntStubsPtr->tclGetFrame)(interp, string, framePtrPtr);
+}
+
+/* Slot 37 */
+TclCmdProcType
+TclGetInterpProc()
+{
+ return (tclIntStubsPtr->tclGetInterpProc)();
+}
+
+/* Slot 38 */
+int
+TclGetIntForIndex(interp, objPtr, endValue, indexPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ int endValue;
+ int * indexPtr;
+{
+ return (tclIntStubsPtr->tclGetIntForIndex)(interp, objPtr, endValue, indexPtr);
+}
+
+/* Slot 39 */
+Tcl_Obj *
+TclGetIndexedScalar(interp, localIndex, leaveErrorMsg)
+ Tcl_Interp * interp;
+ int localIndex;
+ int leaveErrorMsg;
+{
+ return (tclIntStubsPtr->tclGetIndexedScalar)(interp, localIndex, leaveErrorMsg);
+}
+
+/* Slot 40 */
+int
+TclGetLong(interp, string, longPtr)
+ Tcl_Interp * interp;
+ char * string;
+ long * longPtr;
+{
+ return (tclIntStubsPtr->tclGetLong)(interp, string, longPtr);
+}
+
+/* Slot 41 */
+int
+TclGetLoadedPackages(interp, targetName)
+ Tcl_Interp * interp;
+ char * targetName;
+{
+ return (tclIntStubsPtr->tclGetLoadedPackages)(interp, targetName);
+}
+
+/* Slot 42 */
+int
+TclGetNamespaceForQualName(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr)
+ Tcl_Interp * interp;
+ char * qualName;
+ Namespace * cxtNsPtr;
+ int flags;
+ Namespace ** nsPtrPtr;
+ Namespace ** altNsPtrPtr;
+ Namespace ** actualCxtPtrPtr;
+ char ** simpleNamePtr;
+{
+ return (tclIntStubsPtr->tclGetNamespaceForQualName)(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr);
+}
+
+/* Slot 43 */
+TclObjCmdProcType
+TclGetObjInterpProc()
+{
+ return (tclIntStubsPtr->tclGetObjInterpProc)();
+}
+
+/* Slot 44 */
+int
+TclGetOpenMode(interp, string, seekFlagPtr)
+ Tcl_Interp * interp;
+ char * string;
+ int * seekFlagPtr;
+{
+ return (tclIntStubsPtr->tclGetOpenMode)(interp, string, seekFlagPtr);
+}
+
+/* Slot 45 */
+Tcl_Command
+TclGetOriginalCommand(command)
+ Tcl_Command command;
+{
+ return (tclIntStubsPtr->tclGetOriginalCommand)(command);
+}
+
+/* Slot 46 */
+char *
+TclpGetUserHome(name, bufferPtr)
+ char * name;
+ Tcl_DString * bufferPtr;
+{
+ return (tclIntStubsPtr->tclpGetUserHome)(name, bufferPtr);
+}
+
+/* Slot 47 */
+int
+TclGlobalInvoke(interp, argc, argv, flags)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+ int flags;
+{
+ return (tclIntStubsPtr->tclGlobalInvoke)(interp, argc, argv, flags);
+}
+
+/* Slot 48 */
+int
+TclGuessPackageName(fileName, bufPtr)
+ char * fileName;
+ Tcl_DString * bufPtr;
+{
+ return (tclIntStubsPtr->tclGuessPackageName)(fileName, bufPtr);
+}
+
+/* Slot 49 */
+int
+TclHasSockets(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tclHasSockets)(interp);
+}
+
+/* Slot 50 */
+int
+TclHideUnsafeCommands(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tclHideUnsafeCommands)(interp);
+}
+
+/* Slot 51 */
+int
+TclInExit()
+{
+ return (tclIntStubsPtr->tclInExit)();
+}
+
+/* Slot 52 */
+Tcl_Obj *
+TclIncrElementOfIndexedArray(interp, localIndex, elemPtr, incrAmount)
+ Tcl_Interp * interp;
+ int localIndex;
+ Tcl_Obj * elemPtr;
+ long incrAmount;
+{
+ return (tclIntStubsPtr->tclIncrElementOfIndexedArray)(interp, localIndex, elemPtr, incrAmount);
+}
+
+/* Slot 53 */
+Tcl_Obj *
+TclIncrIndexedScalar(interp, localIndex, incrAmount)
+ Tcl_Interp * interp;
+ int localIndex;
+ long incrAmount;
+{
+ return (tclIntStubsPtr->tclIncrIndexedScalar)(interp, localIndex, incrAmount);
+}
+
+/* Slot 54 */
+Tcl_Obj *
+TclIncrVar2(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed)
+ Tcl_Interp * interp;
+ Tcl_Obj * part1Ptr;
+ Tcl_Obj * part2Ptr;
+ long incrAmount;
+ int part1NotParsed;
+{
+ return (tclIntStubsPtr->tclIncrVar2)(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed);
+}
+
+/* Slot 55 */
+void
+TclInitCompiledLocals(interp, framePtr, nsPtr)
+ Tcl_Interp * interp;
+ CallFrame * framePtr;
+ Namespace * nsPtr;
+{
+ (tclIntStubsPtr->tclInitCompiledLocals)(interp, framePtr, nsPtr);
+}
+
+/* Slot 56 */
+void
+TclInitNamespaces()
+{
+ (tclIntStubsPtr->tclInitNamespaces)();
+}
+
+/* Slot 57 */
+int
+TclInterpInit(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tclInterpInit)(interp);
+}
+
+/* Slot 58 */
+int
+TclInvoke(interp, argc, argv, flags)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+ int flags;
+{
+ return (tclIntStubsPtr->tclInvoke)(interp, argc, argv, flags);
+}
+
+/* Slot 59 */
+int
+TclInvokeObjectCommand(clientData, interp, argc, argv)
+ ClientData clientData;
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclInvokeObjectCommand)(clientData, interp, argc, argv);
+}
+
+/* Slot 60 */
+int
+TclInvokeStringCommand(clientData, interp, objc, objv)
+ ClientData clientData;
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclIntStubsPtr->tclInvokeStringCommand)(clientData, interp, objc, objv);
+}
+
+/* Slot 61 */
+Proc *
+TclIsProc(cmdPtr)
+ Command * cmdPtr;
+{
+ return (tclIntStubsPtr->tclIsProc)(cmdPtr);
+}
+
+/* Slot 62 */
+int
+TclLoadFile(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr)
+ Tcl_Interp * interp;
+ char * fileName;
+ char * sym1;
+ char * sym2;
+ Tcl_PackageInitProc ** proc1Ptr;
+ Tcl_PackageInitProc ** proc2Ptr;
+{
+ return (tclIntStubsPtr->tclLoadFile)(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr);
+}
+
+/* Slot 63 */
+int
+TclLooksLikeInt(p)
+ char * p;
+{
+ return (tclIntStubsPtr->tclLooksLikeInt)(p);
+}
+
+/* Slot 64 */
+Var *
+TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+ char * msg;
+ int createPart1;
+ int createPart2;
+ Var ** arrayPtrPtr;
+{
+ return (tclIntStubsPtr->tclLookupVar)(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr);
+}
+
+/* Slot 65 */
+int
+TclMatchFiles(interp, separators, dirPtr, pattern, tail)
+ Tcl_Interp * interp;
+ char * separators;
+ Tcl_DString * dirPtr;
+ char * pattern;
+ char * tail;
+{
+ return (tclIntStubsPtr->tclMatchFiles)(interp, separators, dirPtr, pattern, tail);
+}
+
+/* Slot 66 */
+int
+TclNeedSpace(start, end)
+ char * start;
+ char * end;
+{
+ return (tclIntStubsPtr->tclNeedSpace)(start, end);
+}
+
+/* Slot 67 */
+Tcl_Obj *
+TclNewProcBodyObj(procPtr)
+ Proc * procPtr;
+{
+ return (tclIntStubsPtr->tclNewProcBodyObj)(procPtr);
+}
+
+/* Slot 68 */
+int
+TclObjCommandComplete(cmdPtr)
+ Tcl_Obj * cmdPtr;
+{
+ return (tclIntStubsPtr->tclObjCommandComplete)(cmdPtr);
+}
+
+/* Slot 69 */
+int
+TclObjInterpProc(clientData, interp, objc, objv)
+ ClientData clientData;
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclIntStubsPtr->tclObjInterpProc)(clientData, interp, objc, objv);
+}
+
+/* Slot 70 */
+int
+TclObjInvoke(interp, objc, objv, flags)
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+ int flags;
+{
+ return (tclIntStubsPtr->tclObjInvoke)(interp, objc, objv, flags);
+}
+
+/* Slot 71 */
+int
+TclObjInvokeGlobal(interp, objc, objv, flags)
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+ int flags;
+{
+ return (tclIntStubsPtr->tclObjInvokeGlobal)(interp, objc, objv, flags);
+}
+
+/* Slot 72 */
+int
+TclOpenFileChannelDeleteProc(proc)
+ TclOpenFileChannelProc_ * proc;
+{
+ return (tclIntStubsPtr->tclOpenFileChannelDeleteProc)(proc);
+}
+
+/* Slot 73 */
+int
+TclOpenFileChannelInsertProc(proc)
+ TclOpenFileChannelProc_ * proc;
+{
+ return (tclIntStubsPtr->tclOpenFileChannelInsertProc)(proc);
+}
+
+/* Slot 74 */
+char *
+TclpAlloc(size)
+ unsigned int size;
+{
+ return (tclIntStubsPtr->tclpAlloc)(size);
+}
+
+/* Slot 75 */
+int
+TclpCloseFile(file)
+ TclFile file;
+{
+ return (tclIntStubsPtr->tclpCloseFile)(file);
+}
+
+/* Slot 76 */
+int
+TclpCopyFile(source, dest)
+ char * source;
+ char * dest;
+{
+ return (tclIntStubsPtr->tclpCopyFile)(source, dest);
+}
+
+/* Slot 77 */
+int
+TclpCopyDirectory(source, dest, errorPtr)
+ char * source;
+ char * dest;
+ Tcl_DString * errorPtr;
+{
+ return (tclIntStubsPtr->tclpCopyDirectory)(source, dest, errorPtr);
+}
+
+/* Slot 78 */
+Tcl_Channel
+TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr)
+ TclFile readFile;
+ TclFile writeFile;
+ TclFile errorFile;
+ int numPids;
+ Tcl_Pid * pidPtr;
+{
+ return (tclIntStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr);
+}
+
+/* Slot 79 */
+int
+TclpCreateDirectory(path)
+ char * path;
+{
+ return (tclIntStubsPtr->tclpCreateDirectory)(path);
+}
+
+/* Slot 80 */
+int
+TclpCreatePipe(readPipe, writePipe)
+ TclFile * readPipe;
+ TclFile * writePipe;
+{
+ return (tclIntStubsPtr->tclpCreatePipe)(readPipe, writePipe);
+}
+
+/* Slot 81 */
+int
+TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+ TclFile inputFile;
+ TclFile outputFile;
+ TclFile errorFile;
+ Tcl_Pid * pidPtr;
+{
+ return (tclIntStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr);
+}
+
+/* Slot 82 */
+TclFile
+TclpCreateTempFile(contents, namePtr)
+ char * contents;
+ Tcl_DString * namePtr;
+{
+ return (tclIntStubsPtr->tclpCreateTempFile)(contents, namePtr);
+}
+
+/* Slot 83 */
+int
+TclpDeleteFile(path)
+ char * path;
+{
+ return (tclIntStubsPtr->tclpDeleteFile)(path);
+}
+
+/* Slot 84 */
+void
+TclpFinalize()
+{
+ (tclIntStubsPtr->tclpFinalize)();
+}
+
+/* Slot 85 */
+void
+TclpFree(ptr)
+ char * ptr;
+{
+ (tclIntStubsPtr->tclpFree)(ptr);
+}
+
+/* Slot 86 */
+unsigned long
+TclpGetClicks()
+{
+ return (tclIntStubsPtr->tclpGetClicks)();
+}
+
+/* Slot 87 */
+unsigned long
+TclpGetSeconds()
+{
+ return (tclIntStubsPtr->tclpGetSeconds)();
+}
+
+/* Slot 88 */
+void
+TclpGetTime(time)
+ Tcl_Time * time;
+{
+ (tclIntStubsPtr->tclpGetTime)(time);
+}
+
+/* Slot 89 */
+int
+TclpGetTimeZone(time)
+ unsigned long time;
+{
+ return (tclIntStubsPtr->tclpGetTimeZone)(time);
+}
+
+/* Slot 90 */
+char *
+TclpGetTZName()
+{
+ return (tclIntStubsPtr->tclpGetTZName)();
+}
+
+/* Slot 91 */
+int
+TclpListVolumes(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tclpListVolumes)(interp);
+}
+
+/* Slot 92 */
+TclFile
+TclpMakeFile(channel, direction)
+ Tcl_Channel channel;
+ int direction;
+{
+ return (tclIntStubsPtr->tclpMakeFile)(channel, direction);
+}
+
+/* Slot 93 */
+TclFile
+TclpOpenFile(fname, mode)
+ char * fname;
+ int mode;
+{
+ return (tclIntStubsPtr->tclpOpenFile)(fname, mode);
+}
+
+/* Slot 94 */
+Tcl_Channel
+TclpOpenFileChannel(interp, fileName, modeString, permissions)
+ Tcl_Interp * interp;
+ char * fileName;
+ char * modeString;
+ int permissions;
+{
+ return (tclIntStubsPtr->tclpOpenFileChannel)(interp, fileName, modeString, permissions);
+}
+
+/* Slot 95 */
+char *
+TclpRealloc(ptr, size)
+ char * ptr;
+ unsigned int size;
+{
+ return (tclIntStubsPtr->tclpRealloc)(ptr, size);
+}
+
+/* Slot 96 */
+int
+TclpRemoveDirectory(path, recursive, errorPtr)
+ char * path;
+ int recursive;
+ Tcl_DString * errorPtr;
+{
+ return (tclIntStubsPtr->tclpRemoveDirectory)(path, recursive, errorPtr);
+}
+
+/* Slot 97 */
+int
+TclpRenameFile(source, dest)
+ char * source;
+ char * dest;
+{
+ return (tclIntStubsPtr->tclpRenameFile)(source, dest);
+}
+
+/* Slot 98 */
+int
+TclParseBraces(interp, string, termPtr, pvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char ** termPtr;
+ ParseValue * pvPtr;
+{
+ return (tclIntStubsPtr->tclParseBraces)(interp, string, termPtr, pvPtr);
+}
+
+/* Slot 99 */
+int
+TclParseNestedCmd(interp, string, flags, termPtr, pvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ int flags;
+ char ** termPtr;
+ ParseValue * pvPtr;
+{
+ return (tclIntStubsPtr->tclParseNestedCmd)(interp, string, flags, termPtr, pvPtr);
+}
+
+/* Slot 100 */
+int
+TclParseQuotes(interp, string, termChar, flags, termPtr, pvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ int termChar;
+ int flags;
+ char ** termPtr;
+ ParseValue * pvPtr;
+{
+ return (tclIntStubsPtr->tclParseQuotes)(interp, string, termChar, flags, termPtr, pvPtr);
+}
+
+/* Slot 101 */
+void
+TclPlatformInit(interp)
+ Tcl_Interp * interp;
+{
+ (tclIntStubsPtr->tclPlatformInit)(interp);
+}
+
+/* Slot 102 */
+char *
+TclPrecTraceProc(clientData, interp, name1, name2, flags)
+ ClientData clientData;
+ Tcl_Interp * interp;
+ char * name1;
+ char * name2;
+ int flags;
+{
+ return (tclIntStubsPtr->tclPrecTraceProc)(clientData, interp, name1, name2, flags);
+}
+
+/* Slot 103 */
+int
+TclPreventAliasLoop(interp, cmdInterp, cmd)
+ Tcl_Interp * interp;
+ Tcl_Interp * cmdInterp;
+ Tcl_Command cmd;
+{
+ return (tclIntStubsPtr->tclPreventAliasLoop)(interp, cmdInterp, cmd);
+}
+
+/* Slot 104 */
+void
+TclPrintByteCodeObj(interp, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+{
+ (tclIntStubsPtr->tclPrintByteCodeObj)(interp, objPtr);
+}
+
+/* Slot 105 */
+void
+TclProcCleanupProc(procPtr)
+ Proc * procPtr;
+{
+ (tclIntStubsPtr->tclProcCleanupProc)(procPtr);
+}
+
+/* Slot 106 */
+int
+TclProcCompileProc(interp, procPtr, bodyPtr, nsPtr, description, procName)
+ Tcl_Interp * interp;
+ Proc * procPtr;
+ Tcl_Obj * bodyPtr;
+ Namespace * nsPtr;
+ CONST char * description;
+ CONST char * procName;
+{
+ return (tclIntStubsPtr->tclProcCompileProc)(interp, procPtr, bodyPtr, nsPtr, description, procName);
+}
+
+/* Slot 107 */
+void
+TclProcDeleteProc(clientData)
+ ClientData clientData;
+{
+ (tclIntStubsPtr->tclProcDeleteProc)(clientData);
+}
+
+/* Slot 108 */
+int
+TclProcInterpProc(clientData, interp, argc, argv)
+ ClientData clientData;
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+{
+ return (tclIntStubsPtr->tclProcInterpProc)(clientData, interp, argc, argv);
+}
+
+/* Slot 109 */
+int
+TclRenameCommand(interp, oldName, newName)
+ Tcl_Interp * interp;
+ char * oldName;
+ char * newName;
+{
+ return (tclIntStubsPtr->tclRenameCommand)(interp, oldName, newName);
+}
+
+/* Slot 110 */
+void
+TclResetShadowedCmdRefs(interp, newCmdPtr)
+ Tcl_Interp * interp;
+ Command * newCmdPtr;
+{
+ (tclIntStubsPtr->tclResetShadowedCmdRefs)(interp, newCmdPtr);
+}
+
+/* Slot 111 */
+int
+TclServiceIdle()
+{
+ return (tclIntStubsPtr->tclServiceIdle)();
+}
+
+/* Slot 112 */
+Tcl_Obj *
+TclSetElementOfIndexedArray(interp, localIndex, elemPtr, objPtr, leaveErrorMsg)
+ Tcl_Interp * interp;
+ int localIndex;
+ Tcl_Obj * elemPtr;
+ Tcl_Obj * objPtr;
+ int leaveErrorMsg;
+{
+ return (tclIntStubsPtr->tclSetElementOfIndexedArray)(interp, localIndex, elemPtr, objPtr, leaveErrorMsg);
+}
+
+/* Slot 113 */
+Tcl_Obj *
+TclSetIndexedScalar(interp, localIndex, objPtr, leaveErrorMsg)
+ Tcl_Interp * interp;
+ int localIndex;
+ Tcl_Obj * objPtr;
+ int leaveErrorMsg;
+{
+ return (tclIntStubsPtr->tclSetIndexedScalar)(interp, localIndex, objPtr, leaveErrorMsg);
+}
+
+/* Slot 114 */
+char *
+TclSetPreInitScript(string)
+ char * string;
+{
+ return (tclIntStubsPtr->tclSetPreInitScript)(string);
+}
+
+/* Slot 115 */
+void
+TclSetupEnv(interp)
+ Tcl_Interp * interp;
+{
+ (tclIntStubsPtr->tclSetupEnv)(interp);
+}
+
+/* Slot 116 */
+int
+TclSockGetPort(interp, string, proto, portPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * proto;
+ int * portPtr;
+{
+ return (tclIntStubsPtr->tclSockGetPort)(interp, string, proto, portPtr);
+}
+
+/* Slot 117 */
+int
+TclSockMinimumBuffers(sock, size)
+ int sock;
+ int size;
+{
+ return (tclIntStubsPtr->tclSockMinimumBuffers)(sock, size);
+}
+
+/* Slot 118 */
+int
+TclStat(path, buf)
+ CONST char * path;
+ TclStat_ * buf;
+{
+ return (tclIntStubsPtr->tclStat)(path, buf);
+}
+
+/* Slot 119 */
+int
+TclStatDeleteProc(proc)
+ TclStatProc_ * proc;
+{
+ return (tclIntStubsPtr->tclStatDeleteProc)(proc);
+}
+
+/* Slot 120 */
+int
+TclStatInsertProc(proc)
+ TclStatProc_ * proc;
+{
+ return (tclIntStubsPtr->tclStatInsertProc)(proc);
+}
+
+/* Slot 121 */
+void
+TclTeardownNamespace(nsPtr)
+ Namespace * nsPtr;
+{
+ (tclIntStubsPtr->tclTeardownNamespace)(nsPtr);
+}
+
+/* Slot 122 */
+int
+TclUpdateReturnInfo(iPtr)
+ Interp * iPtr;
+{
+ return (tclIntStubsPtr->tclUpdateReturnInfo)(iPtr);
+}
+
+/* Slot 123 */
+char *
+TclWordEnd(start, lastChar, nested, semiPtr)
+ char * start;
+ char * lastChar;
+ int nested;
+ int * semiPtr;
+{
+ return (tclIntStubsPtr->tclWordEnd)(start, lastChar, nested, semiPtr);
+}
+
+/* Slot 124 */
+void
+Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_ResolveCmdProc * cmdProc;
+ Tcl_ResolveVarProc * varProc;
+ Tcl_ResolveCompiledVarProc * compiledVarProc;
+{
+ (tclIntStubsPtr->tcl_AddInterpResolvers)(interp, name, cmdProc, varProc, compiledVarProc);
+}
+
+/* Slot 125 */
+int
+Tcl_AppendExportList(interp, nsPtr, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Namespace * nsPtr;
+ Tcl_Obj * objPtr;
+{
+ return (tclIntStubsPtr->tcl_AppendExportList)(interp, nsPtr, objPtr);
+}
+
+/* Slot 126 */
+Tcl_Namespace *
+Tcl_CreateNamespace(interp, name, clientData, deleteProc)
+ Tcl_Interp * interp;
+ char * name;
+ ClientData clientData;
+ Tcl_NamespaceDeleteProc * deleteProc;
+{
+ return (tclIntStubsPtr->tcl_CreateNamespace)(interp, name, clientData, deleteProc);
+}
+
+/* Slot 127 */
+void
+Tcl_DeleteNamespace(nsPtr)
+ Tcl_Namespace * nsPtr;
+{
+ (tclIntStubsPtr->tcl_DeleteNamespace)(nsPtr);
+}
+
+/* Slot 128 */
+int
+Tcl_Export(interp, nsPtr, pattern, resetListFirst)
+ Tcl_Interp * interp;
+ Tcl_Namespace * nsPtr;
+ char * pattern;
+ int resetListFirst;
+{
+ return (tclIntStubsPtr->tcl_Export)(interp, nsPtr, pattern, resetListFirst);
+}
+
+/* Slot 129 */
+Tcl_Command
+Tcl_FindCommand(interp, name, contextNsPtr, flags)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_Namespace * contextNsPtr;
+ int flags;
+{
+ return (tclIntStubsPtr->tcl_FindCommand)(interp, name, contextNsPtr, flags);
+}
+
+/* Slot 130 */
+Tcl_Namespace *
+Tcl_FindNamespace(interp, name, contextNsPtr, flags)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_Namespace * contextNsPtr;
+ int flags;
+{
+ return (tclIntStubsPtr->tcl_FindNamespace)(interp, name, contextNsPtr, flags);
+}
+
+/* Slot 131 */
+int
+Tcl_GetInterpResolvers(interp, name, resInfo)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_ResolverInfo * resInfo;
+{
+ return (tclIntStubsPtr->tcl_GetInterpResolvers)(interp, name, resInfo);
+}
+
+/* Slot 132 */
+int
+Tcl_GetNamespaceResolvers(namespacePtr, resInfo)
+ Tcl_Namespace * namespacePtr;
+ Tcl_ResolverInfo * resInfo;
+{
+ return (tclIntStubsPtr->tcl_GetNamespaceResolvers)(namespacePtr, resInfo);
+}
+
+/* Slot 133 */
+Tcl_Var
+Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_Namespace * contextNsPtr;
+ int flags;
+{
+ return (tclIntStubsPtr->tcl_FindNamespaceVar)(interp, name, contextNsPtr, flags);
+}
+
+/* Slot 134 */
+int
+Tcl_ForgetImport(interp, nsPtr, pattern)
+ Tcl_Interp * interp;
+ Tcl_Namespace * nsPtr;
+ char * pattern;
+{
+ return (tclIntStubsPtr->tcl_ForgetImport)(interp, nsPtr, pattern);
+}
+
+/* Slot 135 */
+Tcl_Command
+Tcl_GetCommandFromObj(interp, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+{
+ return (tclIntStubsPtr->tcl_GetCommandFromObj)(interp, objPtr);
+}
+
+/* Slot 136 */
+void
+Tcl_GetCommandFullName(interp, command, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Command command;
+ Tcl_Obj * objPtr;
+{
+ (tclIntStubsPtr->tcl_GetCommandFullName)(interp, command, objPtr);
+}
+
+/* Slot 137 */
+Tcl_Namespace *
+Tcl_GetCurrentNamespace(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp);
+}
+
+/* Slot 138 */
+Tcl_Namespace *
+Tcl_GetGlobalNamespace(interp)
+ Tcl_Interp * interp;
+{
+ return (tclIntStubsPtr->tcl_GetGlobalNamespace)(interp);
+}
+
+/* Slot 139 */
+void
+Tcl_GetVariableFullName(interp, variable, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Var variable;
+ Tcl_Obj * objPtr;
+{
+ (tclIntStubsPtr->tcl_GetVariableFullName)(interp, variable, objPtr);
+}
+
+/* Slot 140 */
+int
+Tcl_Import(interp, nsPtr, pattern, allowOverwrite)
+ Tcl_Interp * interp;
+ Tcl_Namespace * nsPtr;
+ char * pattern;
+ int allowOverwrite;
+{
+ return (tclIntStubsPtr->tcl_Import)(interp, nsPtr, pattern, allowOverwrite);
+}
+
+/* Slot 141 */
+void
+Tcl_PopCallFrame(interp)
+ Tcl_Interp* interp;
+{
+ (tclIntStubsPtr->tcl_PopCallFrame)(interp);
+}
+
+/* Slot 142 */
+int
+Tcl_PushCallFrame(interp, framePtr, nsPtr, isProcCallFrame)
+ Tcl_Interp* interp;
+ Tcl_CallFrame * framePtr;
+ Tcl_Namespace * nsPtr;
+ int isProcCallFrame;
+{
+ return (tclIntStubsPtr->tcl_PushCallFrame)(interp, framePtr, nsPtr, isProcCallFrame);
+}
+
+/* Slot 143 */
+int
+Tcl_RemoveInterpResolvers(interp, name)
+ Tcl_Interp * interp;
+ char * name;
+{
+ return (tclIntStubsPtr->tcl_RemoveInterpResolvers)(interp, name);
+}
+
+/* Slot 144 */
+void
+Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc)
+ Tcl_Namespace * namespacePtr;
+ Tcl_ResolveCmdProc * cmdProc;
+ Tcl_ResolveVarProc * varProc;
+ Tcl_ResolveCompiledVarProc * compiledVarProc;
+{
+ (tclIntStubsPtr->tcl_SetNamespaceResolvers)(namespacePtr, cmdProc, varProc, compiledVarProc);
+}
+
+/* Slot 145 */
+int
+TclCompileBreakCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileBreakCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 146 */
+int
+TclCompileCatchCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileCatchCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 147 */
+int
+TclCompileContinueCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileContinueCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 148 */
+int
+TclCompileExprCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileExprCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 149 */
+int
+TclCompileForCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileForCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 150 */
+int
+TclCompileForeachCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileForeachCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 151 */
+int
+TclCompileIfCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileIfCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 152 */
+int
+TclCompileIncrCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileIncrCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 153 */
+int
+TclCompileSetCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileSetCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+/* Slot 154 */
+int
+TclCompileWhileCmd(interp, string, lastChar, compileFlags, compileEnvPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char * lastChar;
+ int compileFlags;
+ struct CompileEnv * compileEnvPtr;
+{
+ return (tclIntStubsPtr->tclCompileWhileCmd)(interp, string, lastChar, compileFlags, compileEnvPtr);
+}
+
+
+/* !END!: Do not edit above this line. */
diff --git a/generic/panic.c b/generic/tclPanic.c
index f7ea508..af795e1 100644
--- a/generic/panic.c
+++ b/generic/tclPanic.c
@@ -1,36 +1,21 @@
/*
- * panic.c --
+ * tclPanic.c --
*
- * Source code for the "panic" library procedure for Tcl;
+ * Source code for the "Tcl_Panic" library procedure for Tcl;
* individual applications will probably override this with
* an application-specific panic procedure.
*
* Copyright (c) 1988-1993 The Regents of the University of California.
* Copyright (c) 1994 Sun Microsystems, Inc.
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: panic.c,v 1.4 1998/09/14 18:39:56 stanton Exp $
+ * RCS: @(#) $Id: tclPanic.c,v 1.1 1999/03/03 00:38:42 stanton Exp $
*/
-#include <stdio.h>
-#ifdef NO_STDLIB_H
-# include "../compat/stdlib.h"
-#else
-# include <stdlib.h>
-#endif
-
-#define panic panicDummy
-#include "tcl.h"
-#undef panic
-
-# undef TCL_STORAGE_CLASS
-# define TCL_STORAGE_CLASS DLLEXPORT
-
-EXTERN void panic _ANSI_ARGS_((char *format, char *arg1,
- char *arg2, char *arg3, char *arg4, char *arg5,
- char *arg6, char *arg7, char *arg8));
+#include "tclInt.h"
/*
* The panicProc variable contains a pointer to an application
@@ -65,7 +50,7 @@ Tcl_SetPanicProc(proc)
/*
*----------------------------------------------------------------------
*
- * panic --
+ * Tcl_PanicVA --
*
* Print an error message and kill the process.
*
@@ -78,17 +63,28 @@ Tcl_SetPanicProc(proc)
*----------------------------------------------------------------------
*/
- /* VARARGS ARGSUSED */
void
-panic(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
+Tcl_PanicVA (format, argList)
char *format; /* Format string, suitable for passing to
* fprintf. */
- char *arg1, *arg2, *arg3; /* Additional arguments (variable in number)
- * to pass to fprintf. */
- char *arg4, *arg5, *arg6, *arg7, *arg8;
+ va_list argList; /* Variable argument list. */
{
+ char *arg1, *arg2, *arg3, *arg4; /* Additional arguments (variable in
+ * number) to pass to fprintf. */
+ char *arg5, *arg6, *arg7, *arg8;
+
+ arg1 = va_arg(argList, char *);
+ arg2 = va_arg(argList, char *);
+ arg3 = va_arg(argList, char *);
+ arg4 = va_arg(argList, char *);
+ arg5 = va_arg(argList, char *);
+ arg6 = va_arg(argList, char *);
+ arg7 = va_arg(argList, char *);
+ arg8 = va_arg(argList, char *);
+
if (panicProc != NULL) {
- (void) (*panicProc)(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
+ (void) (*panicProc)(format, arg1, arg2, arg3, arg4,
+ arg5, arg6, arg7, arg8);
} else {
(void) fprintf(stderr, format, arg1, arg2, arg3, arg4, arg5, arg6,
arg7, arg8);
@@ -97,3 +93,31 @@ panic(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
abort();
}
}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * Tcl_Panic --
+ *
+ * Print an error message and kill the process.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * The process dies, entering the debugger if possible.
+ *
+ *----------------------------------------------------------------------
+ */
+
+ /* VARARGS ARGSUSED */
+void
+Tcl_Panic TCL_VARARGS_DEF(char *,arg1)
+{
+ va_list argList;
+ char *format;
+
+ format = TCL_VARARGS_START(char *,arg1,argList);
+ Tcl_PanicVA(format, argList);
+ va_end (argList);
+}
diff --git a/generic/tclPlatDecls.h b/generic/tclPlatDecls.h
new file mode 100644
index 0000000..3ef035a
--- /dev/null
+++ b/generic/tclPlatDecls.h
@@ -0,0 +1,56 @@
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+#if !defined(__WIN32__) && !defined(MAC_TCL)
+/* 0 */
+EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask,
+ Tcl_FileProc * proc, ClientData clientData));
+/* 1 */
+EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd));
+/* 2 */
+EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int write, int checkUsage,
+ ClientData * filePtr));
+#endif /* UNIX */
+
+typedef struct TclPlatStubs {
+ int magic;
+ struct TclPlatStubHooks *hooks;
+
+#if !defined(__WIN32__) && !defined(MAC_TCL)
+ void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 0 */
+ void (*tcl_DeleteFileHandler) _ANSI_ARGS_((int fd)); /* 1 */
+ int (*tcl_GetOpenFile) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int write, int checkUsage, ClientData * filePtr)); /* 2 */
+#endif /* UNIX */
+} TclPlatStubs;
+
+extern TclPlatStubs *tclPlatStubsPtr;
+
+#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+#if !defined(__WIN32__) && !defined(MAC_TCL)
+#ifndef Tcl_CreateFileHandler
+#define Tcl_CreateFileHandler(fd, mask, proc, clientData) \
+ (tclPlatStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData) /* 0 */
+#endif
+#ifndef Tcl_DeleteFileHandler
+#define Tcl_DeleteFileHandler(fd) \
+ (tclPlatStubsPtr->tcl_DeleteFileHandler)(fd) /* 1 */
+#endif
+#ifndef Tcl_GetOpenFile
+#define Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr) \
+ (tclPlatStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr) /* 2 */
+#endif
+#endif /* UNIX */
+
+#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
diff --git a/generic/tclPlatStubs.c b/generic/tclPlatStubs.c
new file mode 100644
index 0000000..82f8b4d
--- /dev/null
+++ b/generic/tclPlatStubs.c
@@ -0,0 +1,62 @@
+/*
+ * tclPlatStubs.c --
+ *
+ * This file contains the wrapper functions for the platform independent
+ * unsupported Tcl API.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * All rights reserved.
+ *
+ * RCS: @(#) $Id: tclPlatStubs.c,v 1.1 1999/03/03 00:38:42 stanton Exp $
+ */
+
+#include "tcl.h"
+#include "tclPort.h"
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tclInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported stub functions:
+ */
+
+#if !defined(__WIN32__) && !defined(MAC_TCL)
+/* Slot 0 */
+void
+Tcl_CreateFileHandler(fd, mask, proc, clientData)
+ int fd;
+ int mask;
+ Tcl_FileProc * proc;
+ ClientData clientData;
+{
+ (tclPlatStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData);
+}
+
+/* Slot 1 */
+void
+Tcl_DeleteFileHandler(fd)
+ int fd;
+{
+ (tclPlatStubsPtr->tcl_DeleteFileHandler)(fd);
+}
+
+/* Slot 2 */
+int
+Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr)
+ Tcl_Interp * interp;
+ char * string;
+ int write;
+ int checkUsage;
+ ClientData * filePtr;
+{
+ return (tclPlatStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr);
+}
+
+#endif /* UNIX */
+
+/* !END!: Do not edit above this line. */
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
new file mode 100644
index 0000000..2737f9c
--- /dev/null
+++ b/generic/tclStubInit.c
@@ -0,0 +1,514 @@
+/*
+ * tclStubInit.c --
+ *
+ * This file contains the initializers for the Tcl stub vectors.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclStubInit.c,v 1.1 1999/03/03 00:38:43 stanton Exp $
+ */
+
+#include "tclInt.h"
+#include "tclPort.h"
+
+/*
+ * WARNING: The contents of this file is automatically generated by the
+ * tools/genStubs.tcl script. Any modifications to the function declarations
+ * below should be made in the generic/tcl.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+static TclStubHooks tclStubHooks;
+
+TclStubs tclStubs = {
+ TCL_STUB_MAGIC,
+ &tclStubHooks,
+ Tcl_AddErrorInfo, /* 0 */
+ Tcl_AddObjErrorInfo, /* 1 */
+ Tcl_Alloc, /* 2 */
+ Tcl_AllowExceptions, /* 3 */
+ Tcl_AppendAllObjTypes, /* 4 */
+ Tcl_AppendElement, /* 5 */
+ Tcl_AppendResult, /* 6 */
+ Tcl_AppendResultVA, /* 7 */
+ Tcl_AppendToObj, /* 8 */
+ Tcl_AppendStringsToObj, /* 9 */
+ Tcl_AppendStringsToObjVA, /* 10 */
+ Tcl_AsyncCreate, /* 11 */
+ Tcl_AsyncDelete, /* 12 */
+ Tcl_AsyncInvoke, /* 13 */
+ Tcl_AsyncMark, /* 14 */
+ Tcl_AsyncReady, /* 15 */
+ Tcl_BackgroundError, /* 16 */
+ Tcl_Backslash, /* 17 */
+ Tcl_BadChannelOption, /* 18 */
+ Tcl_CallWhenDeleted, /* 19 */
+ Tcl_CancelIdleCall, /* 20 */
+ Tcl_Close, /* 21 */
+ Tcl_CommandComplete, /* 22 */
+ Tcl_Concat, /* 23 */
+ Tcl_ConcatObj, /* 24 */
+ Tcl_ConvertCountedElement, /* 25 */
+ Tcl_ConvertElement, /* 26 */
+ Tcl_ConvertToType, /* 27 */
+ Tcl_CreateAlias, /* 28 */
+ Tcl_CreateAliasObj, /* 29 */
+ Tcl_CreateChannel, /* 30 */
+ Tcl_CreateChannelHandler, /* 31 */
+ Tcl_CreateCloseHandler, /* 32 */
+ Tcl_CreateCommand, /* 33 */
+ Tcl_CreateEventSource, /* 34 */
+ Tcl_CreateExitHandler, /* 35 */
+ Tcl_CreateInterp, /* 36 */
+ Tcl_CreateMathFunc, /* 37 */
+ Tcl_CreateObjCommand, /* 38 */
+ Tcl_CreateSlave, /* 39 */
+ Tcl_CreateTimerHandler, /* 40 */
+ Tcl_CreateTrace, /* 41 */
+ Tcl_DbCkalloc, /* 42 */
+ Tcl_DbCkfree, /* 43 */
+ Tcl_DbCkrealloc, /* 44 */
+ Tcl_DbDecrRefCount, /* 45 */
+ Tcl_DbIncrRefCount, /* 46 */
+ Tcl_DbIsShared, /* 47 */
+ Tcl_DbNewBooleanObj, /* 48 */
+ Tcl_DbNewByteArrayObj, /* 49 */
+ Tcl_DbNewDoubleObj, /* 50 */
+ Tcl_DbNewListObj, /* 51 */
+ Tcl_DbNewLongObj, /* 52 */
+ Tcl_DbNewObj, /* 53 */
+ Tcl_DbNewStringObj, /* 54 */
+ Tcl_DeleteAssocData, /* 55 */
+ Tcl_DeleteCommand, /* 56 */
+ Tcl_DeleteCommandFromToken, /* 57 */
+ Tcl_DeleteChannelHandler, /* 58 */
+ Tcl_DeleteCloseHandler, /* 59 */
+ Tcl_DeleteEvents, /* 60 */
+ Tcl_DeleteEventSource, /* 61 */
+ Tcl_DeleteExitHandler, /* 62 */
+ Tcl_DeleteHashEntry, /* 63 */
+ Tcl_DeleteHashTable, /* 64 */
+ Tcl_DeleteInterp, /* 65 */
+ Tcl_DeleteTimerHandler, /* 66 */
+ Tcl_DeleteTrace, /* 67 */
+ Tcl_DetachPids, /* 68 */
+ Tcl_DontCallWhenDeleted, /* 69 */
+ Tcl_DoOneEvent, /* 70 */
+ Tcl_DoWhenIdle, /* 71 */
+ Tcl_DStringAppend, /* 72 */
+ Tcl_DStringAppendElement, /* 73 */
+ Tcl_DStringEndSublist, /* 74 */
+ Tcl_DStringFree, /* 75 */
+ Tcl_DStringGetResult, /* 76 */
+ Tcl_DStringInit, /* 77 */
+ Tcl_DStringResult, /* 78 */
+ Tcl_DStringSetLength, /* 79 */
+ Tcl_DStringStartSublist, /* 80 */
+ Tcl_DumpActiveMemory, /* 81 */
+ Tcl_DuplicateObj, /* 82 */
+ Tcl_Eof, /* 83 */
+ Tcl_ErrnoId, /* 84 */
+ Tcl_ErrnoMsg, /* 85 */
+ Tcl_Eval, /* 86 */
+ Tcl_EvalFile, /* 87 */
+ Tcl_EventuallyFree, /* 88 */
+ Tcl_EvalObj, /* 89 */
+ Tcl_Exit, /* 90 */
+ Tcl_ExposeCommand, /* 91 */
+ Tcl_ExprBoolean, /* 92 */
+ Tcl_ExprBooleanObj, /* 93 */
+ Tcl_ExprDouble, /* 94 */
+ Tcl_ExprDoubleObj, /* 95 */
+ Tcl_ExprLong, /* 96 */
+ Tcl_ExprLongObj, /* 97 */
+ Tcl_ExprObj, /* 98 */
+ Tcl_ExprString, /* 99 */
+ Tcl_Finalize, /* 100 */
+ Tcl_FindExecutable, /* 101 */
+ Tcl_FirstHashEntry, /* 102 */
+ Tcl_Flush, /* 103 */
+ Tcl_Free, /* 104 */
+ TclFreeObj, /* 105 */
+ Tcl_FreeResult, /* 106 */
+ Tcl_GetAlias, /* 107 */
+ Tcl_GetAliasObj, /* 108 */
+ Tcl_GetAssocData, /* 109 */
+ Tcl_GetBoolean, /* 110 */
+ Tcl_GetBooleanFromObj, /* 111 */
+ Tcl_GetByteArrayFromObj, /* 112 */
+ Tcl_GetChannel, /* 113 */
+ Tcl_GetChannelBufferSize, /* 114 */
+ Tcl_GetChannelHandle, /* 115 */
+ Tcl_GetChannelInstanceData, /* 116 */
+ Tcl_GetChannelMode, /* 117 */
+ Tcl_GetChannelName, /* 118 */
+ Tcl_GetChannelOption, /* 119 */
+ Tcl_GetChannelType, /* 120 */
+ Tcl_GetCommandInfo, /* 121 */
+ Tcl_GetCommandName, /* 122 */
+ Tcl_GetDouble, /* 123 */
+ Tcl_GetDoubleFromObj, /* 124 */
+ Tcl_GetErrno, /* 125 */
+ Tcl_GetHostName, /* 126 */
+ Tcl_GetIndexFromObj, /* 127 */
+ Tcl_GetInt, /* 128 */
+ Tcl_GetInterpPath, /* 129 */
+ Tcl_GetIntFromObj, /* 130 */
+ Tcl_GetLongFromObj, /* 131 */
+ Tcl_GetMaster, /* 132 */
+ Tcl_GetNameOfExecutable, /* 133 */
+ Tcl_GetObjResult, /* 134 */
+ Tcl_GetObjType, /* 135 */
+ Tcl_GetPathType, /* 136 */
+ Tcl_Gets, /* 137 */
+ Tcl_GetsObj, /* 138 */
+ Tcl_GetServiceMode, /* 139 */
+ Tcl_GetSlave, /* 140 */
+ Tcl_GetStdChannel, /* 141 */
+ Tcl_GetStringFromObj, /* 142 */
+ Tcl_GetStringResult, /* 143 */
+ Tcl_GetVar, /* 144 */
+ Tcl_GetVar2, /* 145 */
+ Tcl_GlobalEval, /* 146 */
+ Tcl_GlobalEvalObj, /* 147 */
+ Tcl_HashStats, /* 148 */
+ Tcl_HideCommand, /* 149 */
+ Tcl_Init, /* 150 */
+ Tcl_InitHashTable, /* 151 */
+ Tcl_InputBlocked, /* 152 */
+ Tcl_InputBuffered, /* 153 */
+ Tcl_InterpDeleted, /* 154 */
+ Tcl_IsSafe, /* 155 */
+ Tcl_InvalidateStringRep, /* 156 */
+ Tcl_JoinPath, /* 157 */
+ Tcl_LinkVar, /* 158 */
+ Tcl_ListObjAppendList, /* 159 */
+ Tcl_ListObjAppendElement, /* 160 */
+ Tcl_ListObjGetElements, /* 161 */
+ Tcl_ListObjIndex, /* 162 */
+ Tcl_ListObjLength, /* 163 */
+ Tcl_ListObjReplace, /* 164 */
+ Tcl_MakeFileChannel, /* 165 */
+ Tcl_MakeSafe, /* 166 */
+ Tcl_MakeTcpClientChannel, /* 167 */
+ Tcl_Merge, /* 168 */
+ Tcl_NewBooleanObj, /* 169 */
+ Tcl_NewByteArrayObj, /* 170 */
+ Tcl_NewDoubleObj, /* 171 */
+ Tcl_NewIntObj, /* 172 */
+ Tcl_NewListObj, /* 173 */
+ Tcl_NewLongObj, /* 174 */
+ Tcl_NewObj, /* 175 */
+ Tcl_NewStringObj, /* 176 */
+ Tcl_NextHashEntry, /* 177 */
+ Tcl_NotifyChannel, /* 178 */
+ Tcl_ObjGetVar2, /* 179 */
+ Tcl_ObjSetVar2, /* 180 */
+ Tcl_OpenCommandChannel, /* 181 */
+ Tcl_OpenFileChannel, /* 182 */
+ Tcl_OpenTcpClient, /* 183 */
+ Tcl_OpenTcpServer, /* 184 */
+ Tcl_Panic, /* 185 */
+ Tcl_PanicVA, /* 186 */
+ Tcl_ParseVar, /* 187 */
+ Tcl_PkgPresent, /* 188 */
+ Tcl_PkgPresentEx, /* 189 */
+ Tcl_PkgProvide, /* 190 */
+ Tcl_PkgProvideEx, /* 191 */
+ Tcl_PkgRequire, /* 192 */
+ Tcl_PkgRequireEx, /* 193 */
+ Tcl_PosixError, /* 194 */
+ Tcl_Preserve, /* 195 */
+ Tcl_PrintDouble, /* 196 */
+ Tcl_PutEnv, /* 197 */
+ Tcl_QueueEvent, /* 198 */
+ Tcl_Read, /* 199 */
+ Tcl_Realloc, /* 200 */
+ Tcl_ReapDetachedProcs, /* 201 */
+ Tcl_RecordAndEval, /* 202 */
+ Tcl_RecordAndEvalObj, /* 203 */
+ Tcl_RegExpCompile, /* 204 */
+ Tcl_RegExpExec, /* 205 */
+ Tcl_RegExpMatch, /* 206 */
+ Tcl_RegExpRange, /* 207 */
+ Tcl_RegisterChannel, /* 208 */
+ Tcl_RegisterObjType, /* 209 */
+ Tcl_Release, /* 210 */
+ Tcl_ResetResult, /* 211 */
+ Tcl_ScanCountedElement, /* 212 */
+ Tcl_ScanElement, /* 213 */
+ Tcl_Seek, /* 214 */
+ Tcl_ServiceAll, /* 215 */
+ Tcl_ServiceEvent, /* 216 */
+ Tcl_SetAssocData, /* 217 */
+ Tcl_SetBooleanObj, /* 218 */
+ Tcl_SetByteArrayLength, /* 219 */
+ Tcl_SetByteArrayObj, /* 220 */
+ Tcl_SetChannelBufferSize, /* 221 */
+ Tcl_SetChannelOption, /* 222 */
+ Tcl_SetCommandInfo, /* 223 */
+ Tcl_SetDoubleObj, /* 224 */
+ Tcl_SetErrno, /* 225 */
+ Tcl_SetErrorCode, /* 226 */
+ Tcl_SetErrorCodeVA, /* 227 */
+ Tcl_SetIntObj, /* 228 */
+ Tcl_SetListObj, /* 229 */
+ Tcl_SetLongObj, /* 230 */
+ Tcl_SetMaxBlockTime, /* 231 */
+ Tcl_SetObjErrorCode, /* 232 */
+ Tcl_SetObjLength, /* 233 */
+ Tcl_SetObjResult, /* 234 */
+ Tcl_SetPanicProc, /* 235 */
+ Tcl_SetRecursionLimit, /* 236 */
+ Tcl_SetResult, /* 237 */
+ Tcl_SetServiceMode, /* 238 */
+ Tcl_SetStdChannel, /* 239 */
+ Tcl_SetStringObj, /* 240 */
+ Tcl_SetTimer, /* 241 */
+ Tcl_SetVar, /* 242 */
+ Tcl_SetVar2, /* 243 */
+ Tcl_SignalId, /* 244 */
+ Tcl_SignalMsg, /* 245 */
+ Tcl_Sleep, /* 246 */
+ Tcl_SourceRCFile, /* 247 */
+ Tcl_SplitList, /* 248 */
+ Tcl_SplitPath, /* 249 */
+ Tcl_StaticPackage, /* 250 */
+ Tcl_StringMatch, /* 251 */
+ Tcl_Tell, /* 252 */
+ Tcl_TraceVar, /* 253 */
+ Tcl_TraceVar2, /* 254 */
+ Tcl_TranslateFileName, /* 255 */
+ Tcl_Ungets, /* 256 */
+ Tcl_UnlinkVar, /* 257 */
+ Tcl_UnregisterChannel, /* 258 */
+ Tcl_UnsetVar, /* 259 */
+ Tcl_UnsetVar2, /* 260 */
+ Tcl_UntraceVar, /* 261 */
+ Tcl_UntraceVar2, /* 262 */
+ Tcl_UpdateLinkedVar, /* 263 */
+ Tcl_UpVar, /* 264 */
+ Tcl_UpVar2, /* 265 */
+ Tcl_ValidateAllMemory, /* 266 */
+ Tcl_VarEval, /* 267 */
+ Tcl_VarEvalVA, /* 268 */
+ Tcl_VarTraceInfo, /* 269 */
+ Tcl_VarTraceInfo2, /* 270 */
+ Tcl_WaitForEvent, /* 271 */
+ Tcl_WaitPid, /* 272 */
+ Tcl_Write, /* 273 */
+ Tcl_WrongNumArgs, /* 274 */
+};
+
+extern TclStubs *tclStubsPtr = &tclStubs;
+
+TclIntStubs tclIntStubs = {
+ TCL_STUB_MAGIC,
+ NULL,
+ TclAccess, /* 0 */
+ TclAccessDeleteProc, /* 1 */
+ TclAccessInsertProc, /* 2 */
+ TclAllocateFreeObjects, /* 3 */
+ TclChdir, /* 4 */
+ TclCleanupChildren, /* 5 */
+ TclCleanupCommand, /* 6 */
+ TclCopyAndCollapse, /* 7 */
+ TclCopyChannel, /* 8 */
+ TclCreatePipeline, /* 9 */
+ TclCreateProc, /* 10 */
+ TclDeleteCompiledLocalVars, /* 11 */
+ TclDeleteVars, /* 12 */
+ TclDoGlob, /* 13 */
+ TclDumpMemoryInfo, /* 14 */
+ TclExpandParseValue, /* 15 */
+ TclExprFloatError, /* 16 */
+ TclFileAttrsCmd, /* 17 */
+ TclFileCopyCmd, /* 18 */
+ TclFileDeleteCmd, /* 19 */
+ TclFileMakeDirsCmd, /* 20 */
+ TclFileRenameCmd, /* 21 */
+ TclFinalizeCompExecEnv, /* 22 */
+ TclFinalizeEnvironment, /* 23 */
+ TclFinalizeExecEnv, /* 24 */
+ TclFindElement, /* 25 */
+ TclFindProc, /* 26 */
+ TclFormatInt, /* 27 */
+ TclFreePackageInfo, /* 28 */
+ TclGetAndDetachPids, /* 29 */
+ TclGetCwd, /* 30 */
+ TclGetDate, /* 31 */
+ TclGetDefaultStdChannel, /* 32 */
+ TclGetElementOfIndexedArray, /* 33 */
+ TclGetEnv, /* 34 */
+ TclGetExtension, /* 35 */
+ TclGetFrame, /* 36 */
+ TclGetInterpProc, /* 37 */
+ TclGetIntForIndex, /* 38 */
+ TclGetIndexedScalar, /* 39 */
+ TclGetLong, /* 40 */
+ TclGetLoadedPackages, /* 41 */
+ TclGetNamespaceForQualName, /* 42 */
+ TclGetObjInterpProc, /* 43 */
+ TclGetOpenMode, /* 44 */
+ TclGetOriginalCommand, /* 45 */
+ TclpGetUserHome, /* 46 */
+ TclGlobalInvoke, /* 47 */
+ TclGuessPackageName, /* 48 */
+ TclHasSockets, /* 49 */
+ TclHideUnsafeCommands, /* 50 */
+ TclInExit, /* 51 */
+ TclIncrElementOfIndexedArray, /* 52 */
+ TclIncrIndexedScalar, /* 53 */
+ TclIncrVar2, /* 54 */
+ TclInitCompiledLocals, /* 55 */
+ TclInitNamespaces, /* 56 */
+ TclInterpInit, /* 57 */
+ TclInvoke, /* 58 */
+ TclInvokeObjectCommand, /* 59 */
+ TclInvokeStringCommand, /* 60 */
+ TclIsProc, /* 61 */
+ TclLoadFile, /* 62 */
+ TclLooksLikeInt, /* 63 */
+ TclLookupVar, /* 64 */
+ TclMatchFiles, /* 65 */
+ TclNeedSpace, /* 66 */
+ TclNewProcBodyObj, /* 67 */
+ TclObjCommandComplete, /* 68 */
+ TclObjInterpProc, /* 69 */
+ TclObjInvoke, /* 70 */
+ TclObjInvokeGlobal, /* 71 */
+ TclOpenFileChannelDeleteProc, /* 72 */
+ TclOpenFileChannelInsertProc, /* 73 */
+ TclpAlloc, /* 74 */
+ TclpCloseFile, /* 75 */
+ TclpCopyFile, /* 76 */
+ TclpCopyDirectory, /* 77 */
+ TclpCreateCommandChannel, /* 78 */
+ TclpCreateDirectory, /* 79 */
+ TclpCreatePipe, /* 80 */
+ TclpCreateProcess, /* 81 */
+ TclpCreateTempFile, /* 82 */
+ TclpDeleteFile, /* 83 */
+ TclpFinalize, /* 84 */
+ TclpFree, /* 85 */
+ TclpGetClicks, /* 86 */
+ TclpGetSeconds, /* 87 */
+ TclpGetTime, /* 88 */
+ TclpGetTimeZone, /* 89 */
+ TclpGetTZName, /* 90 */
+ TclpListVolumes, /* 91 */
+ TclpMakeFile, /* 92 */
+ TclpOpenFile, /* 93 */
+ TclpOpenFileChannel, /* 94 */
+ TclpRealloc, /* 95 */
+ TclpRemoveDirectory, /* 96 */
+ TclpRenameFile, /* 97 */
+ TclParseBraces, /* 98 */
+ TclParseNestedCmd, /* 99 */
+ TclParseQuotes, /* 100 */
+ TclPlatformInit, /* 101 */
+ TclPrecTraceProc, /* 102 */
+ TclPreventAliasLoop, /* 103 */
+ TclPrintByteCodeObj, /* 104 */
+ TclProcCleanupProc, /* 105 */
+ TclProcCompileProc, /* 106 */
+ TclProcDeleteProc, /* 107 */
+ TclProcInterpProc, /* 108 */
+ TclRenameCommand, /* 109 */
+ TclResetShadowedCmdRefs, /* 110 */
+ TclServiceIdle, /* 111 */
+ TclSetElementOfIndexedArray, /* 112 */
+ TclSetIndexedScalar, /* 113 */
+ TclSetPreInitScript, /* 114 */
+ TclSetupEnv, /* 115 */
+ TclSockGetPort, /* 116 */
+ TclSockMinimumBuffers, /* 117 */
+ TclStat, /* 118 */
+ TclStatDeleteProc, /* 119 */
+ TclStatInsertProc, /* 120 */
+ TclTeardownNamespace, /* 121 */
+ TclUpdateReturnInfo, /* 122 */
+ TclWordEnd, /* 123 */
+ Tcl_AddInterpResolvers, /* 124 */
+ Tcl_AppendExportList, /* 125 */
+ Tcl_CreateNamespace, /* 126 */
+ Tcl_DeleteNamespace, /* 127 */
+ Tcl_Export, /* 128 */
+ Tcl_FindCommand, /* 129 */
+ Tcl_FindNamespace, /* 130 */
+ Tcl_GetInterpResolvers, /* 131 */
+ Tcl_GetNamespaceResolvers, /* 132 */
+ Tcl_FindNamespaceVar, /* 133 */
+ Tcl_ForgetImport, /* 134 */
+ Tcl_GetCommandFromObj, /* 135 */
+ Tcl_GetCommandFullName, /* 136 */
+ Tcl_GetCurrentNamespace, /* 137 */
+ Tcl_GetGlobalNamespace, /* 138 */
+ Tcl_GetVariableFullName, /* 139 */
+ Tcl_Import, /* 140 */
+ Tcl_PopCallFrame, /* 141 */
+ Tcl_PushCallFrame, /* 142 */
+ Tcl_RemoveInterpResolvers, /* 143 */
+ Tcl_SetNamespaceResolvers, /* 144 */
+ TclCompileBreakCmd, /* 145 */
+ TclCompileCatchCmd, /* 146 */
+ TclCompileContinueCmd, /* 147 */
+ TclCompileExprCmd, /* 148 */
+ TclCompileForCmd, /* 149 */
+ TclCompileForeachCmd, /* 150 */
+ TclCompileIfCmd, /* 151 */
+ TclCompileIncrCmd, /* 152 */
+ TclCompileSetCmd, /* 153 */
+ TclCompileWhileCmd, /* 154 */
+};
+
+extern TclIntStubs *tclIntStubsPtr = &tclIntStubs;
+
+TclIntPlatStubs tclIntPlatStubs = {
+ TCL_STUB_MAGIC,
+ NULL,
+#ifdef __WIN32__
+ TclWinConvertError, /* 0 */
+ TclWinConvertWSAError, /* 1 */
+ TclWinGetServByName, /* 2 */
+ TclWinGetSockOpt, /* 3 */
+ TclWinGetTclInstance, /* 4 */
+ TclWinLoadLibrary, /* 5 */
+ TclWinNToHS, /* 6 */
+ TclWinSetSockOpt, /* 7 */
+#endif /* __WIN32__ */
+#ifdef MAC_TCL
+ TclpCheckStackSpace, /* 0 */
+ TclpSysAlloc, /* 1 */
+ TclpSysFree, /* 2 */
+ TclpSysRealloc, /* 3 */
+ TclPlatformExit, /* 4 */
+#endif /* MAC_TCL */
+};
+
+extern TclIntPlatStubs *tclIntPlatStubsPtr = &tclIntPlatStubs;
+
+TclPlatStubs tclPlatStubs = {
+ TCL_STUB_MAGIC,
+ NULL,
+#if !defined(__WIN32__) && !defined(MAC_TCL)
+ Tcl_CreateFileHandler, /* 0 */
+ Tcl_DeleteFileHandler, /* 1 */
+ Tcl_GetOpenFile, /* 2 */
+#endif /* UNIX */
+};
+
+extern TclPlatStubs *tclPlatStubsPtr = &tclPlatStubs;
+
+static TclStubHooks tclStubHooks = {
+ &tclPlatStubs,
+ &tclIntStubs,
+ &tclIntPlatStubs
+};
+
+
+/* !END!: Do not edit above this line. */
diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c
new file mode 100644
index 0000000..0c881b0
--- /dev/null
+++ b/generic/tclStubLib.c
@@ -0,0 +1,104 @@
+/*
+ * tclStubLib.c --
+ *
+ * Stub object that will be statically linked into extensions that wish
+ * to access Tcl.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * Copyright (c) 1998 Paul Duffin.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclStubLib.c,v 1.1 1999/03/03 00:38:43 stanton Exp $
+ */
+
+/*
+ * We need to ensure that we use the stub macros so that this file contains
+ * no references to any of the stub functions. This will make it possible
+ * to build an extension that references Tcl_InitStubs but doesn't end up
+ * including the rest of the stub functions.
+ */
+
+#undef TCL_NO_INLINES
+
+#include "tclInt.h"
+#include "tclPort.h"
+
+/*
+ * Ensure that Tcl_InitStubs is built as an exported symbol. The other stub
+ * functions should be built as non-exported symbols.
+ */
+
+#undef TCL_STORAGE_CLASS
+#define TCL_STORAGE_CLASS DLLEXPORT
+
+TclStubs *tclStubsPtr;
+TclPlatStubs *tclPlatStubsPtr;
+
+static TclStubs * HasStubSupport _ANSI_ARGS_((Tcl_Interp *interp));
+
+static TclStubs *
+HasStubSupport (interp)
+ Tcl_Interp *interp;
+{
+ Interp *iPtr = (Interp *) interp;
+
+ if (iPtr->stubTable && (iPtr->stubTable->magic == TCL_STUB_MAGIC)) {
+ return iPtr->stubTable;
+ }
+ interp->result = "This interpreter does not support stubs-enabled extensions.";
+ interp->freeProc = TCL_STATIC;
+
+ return NULL;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * Tcl_InitStubs --
+ *
+ * Tries to initialise the stub table pointers and ensures that
+ * the correct version of Tcl is loaded.
+ *
+ * Results:
+ * The actual version of Tcl that satisfies the request, or
+ * NULL to indicate that an error occurred.
+ *
+ * Side effects:
+ * Sets the stub table pointers.
+ *
+ *----------------------------------------------------------------------
+ */
+
+char *
+Tcl_InitStubs (interp, version, exact)
+ Tcl_Interp *interp;
+ char *version;
+ int exact;
+{
+ char *actualVersion;
+ TclStubs *tmp;
+
+ if (!tclStubsPtr) {
+ tclStubsPtr = HasStubSupport(interp);
+ if (!tclStubsPtr) {
+ return NULL;
+ }
+ }
+
+ actualVersion = Tcl_PkgRequireEx(interp, "Tcl", version, exact,
+ (ClientData *) &tmp);
+ if (actualVersion == NULL) {
+ tclStubsPtr = NULL;
+ return NULL;
+ }
+
+ if (tclStubsPtr->hooks) {
+ tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs;
+ } else {
+ tclPlatStubsPtr = NULL;
+ }
+
+ return actualVersion;
+}
diff --git a/generic/tclStubs.c b/generic/tclStubs.c
new file mode 100644
index 0000000..523eefd
--- /dev/null
+++ b/generic/tclStubs.c
@@ -0,0 +1,2653 @@
+/*
+ * tclStubs.c --
+ *
+ * This file contains the wrapper functions for the platform independent
+ * public Tcl API.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * RCS: @(#) $Id: tclStubs.c,v 1.1 1999/03/03 00:38:43 stanton Exp $
+ */
+
+#include "tcl.h"
+
+/*
+ * Undefine function macros that will interfere with the defintions below.
+ */
+
+#undef Tcl_DumpActiveMemory
+#undef Tcl_ValidateAllMemory
+#undef Tcl_Alloc
+#undef Tcl_Free
+#undef Tcl_Realloc
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script. Any modifications to the function declarations below should be made
+ * in the generic/tcl.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported stub functions:
+ */
+
+/* Slot 0 */
+void
+Tcl_AddErrorInfo(interp, message)
+ Tcl_Interp * interp;
+ char * message;
+{
+ (tclStubsPtr->tcl_AddErrorInfo)(interp, message);
+}
+
+/* Slot 1 */
+void
+Tcl_AddObjErrorInfo(interp, message, length)
+ Tcl_Interp * interp;
+ char * message;
+ int length;
+{
+ (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length);
+}
+
+/* Slot 2 */
+char *
+Tcl_Alloc(size)
+ unsigned int size;
+{
+ return (tclStubsPtr->tcl_Alloc)(size);
+}
+
+/* Slot 3 */
+void
+Tcl_AllowExceptions(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_AllowExceptions)(interp);
+}
+
+/* Slot 4 */
+int
+Tcl_AppendAllObjTypes(interp, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_AppendAllObjTypes)(interp, objPtr);
+}
+
+/* Slot 5 */
+void
+Tcl_AppendElement(interp, string)
+ Tcl_Interp * interp;
+ char * string;
+{
+ (tclStubsPtr->tcl_AppendElement)(interp, string);
+}
+
+/* Slot 6 */
+void
+Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,interp)
+{
+ Tcl_Interp * var;
+ va_list argList;
+
+ var = (Tcl_Interp *) TCL_VARARGS_START(Tcl_Interp *,interp,argList);
+
+ (tclStubsPtr->tcl_AppendResultVA)(var, argList);
+ va_end(argList);
+}
+
+/* Slot 7 */
+void
+Tcl_AppendResultVA(interp, argList)
+ Tcl_Interp * interp;
+ va_list argList;
+{
+ (tclStubsPtr->tcl_AppendResultVA)(interp, argList);
+}
+
+/* Slot 8 */
+void
+Tcl_AppendToObj(objPtr, bytes, length)
+ Tcl_Obj * objPtr;
+ char * bytes;
+ int length;
+{
+ (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length);
+}
+
+/* Slot 9 */
+void
+Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,objPtr)
+{
+ Tcl_Obj * var;
+ va_list argList;
+
+ var = (Tcl_Obj *) TCL_VARARGS_START(Tcl_Obj *,objPtr,argList);
+
+ (tclStubsPtr->tcl_AppendStringsToObjVA)(var, argList);
+ va_end(argList);
+}
+
+/* Slot 10 */
+void
+Tcl_AppendStringsToObjVA(objPtr, argList)
+ Tcl_Obj * objPtr;
+ va_list argList;
+{
+ (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList);
+}
+
+/* Slot 11 */
+Tcl_AsyncHandler
+Tcl_AsyncCreate(proc, clientData)
+ Tcl_AsyncProc * proc;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_AsyncCreate)(proc, clientData);
+}
+
+/* Slot 12 */
+void
+Tcl_AsyncDelete(async)
+ Tcl_AsyncHandler async;
+{
+ (tclStubsPtr->tcl_AsyncDelete)(async);
+}
+
+/* Slot 13 */
+int
+Tcl_AsyncInvoke(interp, code)
+ Tcl_Interp * interp;
+ int code;
+{
+ return (tclStubsPtr->tcl_AsyncInvoke)(interp, code);
+}
+
+/* Slot 14 */
+void
+Tcl_AsyncMark(async)
+ Tcl_AsyncHandler async;
+{
+ (tclStubsPtr->tcl_AsyncMark)(async);
+}
+
+/* Slot 15 */
+int
+Tcl_AsyncReady()
+{
+ return (tclStubsPtr->tcl_AsyncReady)();
+}
+
+/* Slot 16 */
+void
+Tcl_BackgroundError(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_BackgroundError)(interp);
+}
+
+/* Slot 17 */
+char
+Tcl_Backslash(src, readPtr)
+ CONST char * src;
+ int * readPtr;
+{
+ return (tclStubsPtr->tcl_Backslash)(src, readPtr);
+}
+
+/* Slot 18 */
+int
+Tcl_BadChannelOption(interp, optionName, optionList)
+ Tcl_Interp * interp;
+ char * optionName;
+ char * optionList;
+{
+ return (tclStubsPtr->tcl_BadChannelOption)(interp, optionName, optionList);
+}
+
+/* Slot 19 */
+void
+Tcl_CallWhenDeleted(interp, proc, clientData)
+ Tcl_Interp * interp;
+ Tcl_InterpDeleteProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CallWhenDeleted)(interp, proc, clientData);
+}
+
+/* Slot 20 */
+void
+Tcl_CancelIdleCall(idleProc, clientData)
+ Tcl_IdleProc * idleProc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CancelIdleCall)(idleProc, clientData);
+}
+
+/* Slot 21 */
+int
+Tcl_Close(interp, chan)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_Close)(interp, chan);
+}
+
+/* Slot 22 */
+int
+Tcl_CommandComplete(cmd)
+ char * cmd;
+{
+ return (tclStubsPtr->tcl_CommandComplete)(cmd);
+}
+
+/* Slot 23 */
+char *
+Tcl_Concat(argc, argv)
+ int argc;
+ char ** argv;
+{
+ return (tclStubsPtr->tcl_Concat)(argc, argv);
+}
+
+/* Slot 24 */
+Tcl_Obj *
+Tcl_ConcatObj(objc, objv)
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclStubsPtr->tcl_ConcatObj)(objc, objv);
+}
+
+/* Slot 25 */
+int
+Tcl_ConvertCountedElement(src, length, dst, flags)
+ CONST char * src;
+ int length;
+ char * dst;
+ int flags;
+{
+ return (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags);
+}
+
+/* Slot 26 */
+int
+Tcl_ConvertElement(src, dst, flags)
+ CONST char * src;
+ char * dst;
+ int flags;
+{
+ return (tclStubsPtr->tcl_ConvertElement)(src, dst, flags);
+}
+
+/* Slot 27 */
+int
+Tcl_ConvertToType(interp, objPtr, typePtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ Tcl_ObjType * typePtr;
+{
+ return (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr);
+}
+
+/* Slot 28 */
+int
+Tcl_CreateAlias(slave, slaveCmd, target, targetCmd, argc, argv)
+ Tcl_Interp * slave;
+ char * slaveCmd;
+ Tcl_Interp * target;
+ char * targetCmd;
+ int argc;
+ char ** argv;
+{
+ return (tclStubsPtr->tcl_CreateAlias)(slave, slaveCmd, target, targetCmd, argc, argv);
+}
+
+/* Slot 29 */
+int
+Tcl_CreateAliasObj(slave, slaveCmd, target, targetCmd, objc, objv)
+ Tcl_Interp * slave;
+ char * slaveCmd;
+ Tcl_Interp * target;
+ char * targetCmd;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclStubsPtr->tcl_CreateAliasObj)(slave, slaveCmd, target, targetCmd, objc, objv);
+}
+
+/* Slot 30 */
+Tcl_Channel
+Tcl_CreateChannel(typePtr, chanName, instanceData, mask)
+ Tcl_ChannelType * typePtr;
+ char * chanName;
+ ClientData instanceData;
+ int mask;
+{
+ return (tclStubsPtr->tcl_CreateChannel)(typePtr, chanName, instanceData, mask);
+}
+
+/* Slot 31 */
+void
+Tcl_CreateChannelHandler(chan, mask, proc, clientData)
+ Tcl_Channel chan;
+ int mask;
+ Tcl_ChannelProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CreateChannelHandler)(chan, mask, proc, clientData);
+}
+
+/* Slot 32 */
+void
+Tcl_CreateCloseHandler(chan, proc, clientData)
+ Tcl_Channel chan;
+ Tcl_CloseProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CreateCloseHandler)(chan, proc, clientData);
+}
+
+/* Slot 33 */
+Tcl_Command
+Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc)
+ Tcl_Interp * interp;
+ char * cmdName;
+ Tcl_CmdProc * proc;
+ ClientData clientData;
+ Tcl_CmdDeleteProc * deleteProc;
+{
+ return (tclStubsPtr->tcl_CreateCommand)(interp, cmdName, proc, clientData, deleteProc);
+}
+
+/* Slot 34 */
+void
+Tcl_CreateEventSource(setupProc, checkProc, clientData)
+ Tcl_EventSetupProc * setupProc;
+ Tcl_EventCheckProc * checkProc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CreateEventSource)(setupProc, checkProc, clientData);
+}
+
+/* Slot 35 */
+void
+Tcl_CreateExitHandler(proc, clientData)
+ Tcl_ExitProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CreateExitHandler)(proc, clientData);
+}
+
+/* Slot 36 */
+Tcl_Interp *
+Tcl_CreateInterp()
+{
+ return (tclStubsPtr->tcl_CreateInterp)();
+}
+
+/* Slot 37 */
+void
+Tcl_CreateMathFunc(interp, name, numArgs, argTypes, proc, clientData)
+ Tcl_Interp * interp;
+ char * name;
+ int numArgs;
+ Tcl_ValueType * argTypes;
+ Tcl_MathProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_CreateMathFunc)(interp, name, numArgs, argTypes, proc, clientData);
+}
+
+/* Slot 38 */
+Tcl_Command
+Tcl_CreateObjCommand(interp, cmdName, proc, clientData, deleteProc)
+ Tcl_Interp * interp;
+ char * cmdName;
+ Tcl_ObjCmdProc * proc;
+ ClientData clientData;
+ Tcl_CmdDeleteProc * deleteProc;
+{
+ return (tclStubsPtr->tcl_CreateObjCommand)(interp, cmdName, proc, clientData, deleteProc);
+}
+
+/* Slot 39 */
+Tcl_Interp *
+Tcl_CreateSlave(interp, slaveName, isSafe)
+ Tcl_Interp * interp;
+ char * slaveName;
+ int isSafe;
+{
+ return (tclStubsPtr->tcl_CreateSlave)(interp, slaveName, isSafe);
+}
+
+/* Slot 40 */
+Tcl_TimerToken
+Tcl_CreateTimerHandler(milliseconds, proc, clientData)
+ int milliseconds;
+ Tcl_TimerProc * proc;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_CreateTimerHandler)(milliseconds, proc, clientData);
+}
+
+/* Slot 41 */
+Tcl_Trace
+Tcl_CreateTrace(interp, level, proc, clientData)
+ Tcl_Interp * interp;
+ int level;
+ Tcl_CmdTraceProc * proc;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_CreateTrace)(interp, level, proc, clientData);
+}
+
+/* Slot 42 */
+char *
+Tcl_DbCkalloc(size, file, line)
+ unsigned int size;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbCkalloc)(size, file, line);
+}
+
+/* Slot 43 */
+int
+Tcl_DbCkfree(ptr, file, line)
+ char * ptr;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbCkfree)(ptr, file, line);
+}
+
+/* Slot 44 */
+char *
+Tcl_DbCkrealloc(ptr, size, file, line)
+ char * ptr;
+ unsigned int size;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line);
+}
+
+/* Slot 45 */
+void
+Tcl_DbDecrRefCount(objPtr, file, line)
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+{
+ (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line);
+}
+
+/* Slot 46 */
+void
+Tcl_DbIncrRefCount(objPtr, file, line)
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+{
+ (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line);
+}
+
+/* Slot 47 */
+int
+Tcl_DbIsShared(objPtr, file, line)
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line);
+}
+
+/* Slot 48 */
+Tcl_Obj *
+Tcl_DbNewBooleanObj(boolValue, file, line)
+ int boolValue;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line);
+}
+
+/* Slot 49 */
+Tcl_Obj *
+Tcl_DbNewByteArrayObj(bytes, length, file, line)
+ unsigned char * bytes;
+ int length;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line);
+}
+
+/* Slot 50 */
+Tcl_Obj *
+Tcl_DbNewDoubleObj(doubleValue, file, line)
+ double doubleValue;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line);
+}
+
+/* Slot 51 */
+Tcl_Obj *
+Tcl_DbNewListObj(objc, objv, file, line)
+ int objc;
+ Tcl_Obj *CONST objv[];
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line);
+}
+
+/* Slot 52 */
+Tcl_Obj *
+Tcl_DbNewLongObj(longValue, file, line)
+ long longValue;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line);
+}
+
+/* Slot 53 */
+Tcl_Obj *
+Tcl_DbNewObj(file, line)
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewObj)(file, line);
+}
+
+/* Slot 54 */
+Tcl_Obj *
+Tcl_DbNewStringObj(bytes, length, file, line)
+ char * bytes;
+ int length;
+ char * file;
+ int line;
+{
+ return (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line);
+}
+
+/* Slot 55 */
+void
+Tcl_DeleteAssocData(interp, name)
+ Tcl_Interp * interp;
+ char * name;
+{
+ (tclStubsPtr->tcl_DeleteAssocData)(interp, name);
+}
+
+/* Slot 56 */
+int
+Tcl_DeleteCommand(interp, cmdName)
+ Tcl_Interp * interp;
+ char * cmdName;
+{
+ return (tclStubsPtr->tcl_DeleteCommand)(interp, cmdName);
+}
+
+/* Slot 57 */
+int
+Tcl_DeleteCommandFromToken(interp, command)
+ Tcl_Interp * interp;
+ Tcl_Command command;
+{
+ return (tclStubsPtr->tcl_DeleteCommandFromToken)(interp, command);
+}
+
+/* Slot 58 */
+void
+Tcl_DeleteChannelHandler(chan, proc, clientData)
+ Tcl_Channel chan;
+ Tcl_ChannelProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData);
+}
+
+/* Slot 59 */
+void
+Tcl_DeleteCloseHandler(chan, proc, clientData)
+ Tcl_Channel chan;
+ Tcl_CloseProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData);
+}
+
+/* Slot 60 */
+void
+Tcl_DeleteEvents(proc, clientData)
+ Tcl_EventDeleteProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DeleteEvents)(proc, clientData);
+}
+
+/* Slot 61 */
+void
+Tcl_DeleteEventSource(setupProc, checkProc, clientData)
+ Tcl_EventSetupProc * setupProc;
+ Tcl_EventCheckProc * checkProc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DeleteEventSource)(setupProc, checkProc, clientData);
+}
+
+/* Slot 62 */
+void
+Tcl_DeleteExitHandler(proc, clientData)
+ Tcl_ExitProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DeleteExitHandler)(proc, clientData);
+}
+
+/* Slot 63 */
+void
+Tcl_DeleteHashEntry(entryPtr)
+ Tcl_HashEntry * entryPtr;
+{
+ (tclStubsPtr->tcl_DeleteHashEntry)(entryPtr);
+}
+
+/* Slot 64 */
+void
+Tcl_DeleteHashTable(tablePtr)
+ Tcl_HashTable * tablePtr;
+{
+ (tclStubsPtr->tcl_DeleteHashTable)(tablePtr);
+}
+
+/* Slot 65 */
+void
+Tcl_DeleteInterp(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_DeleteInterp)(interp);
+}
+
+/* Slot 66 */
+void
+Tcl_DeleteTimerHandler(token)
+ Tcl_TimerToken token;
+{
+ (tclStubsPtr->tcl_DeleteTimerHandler)(token);
+}
+
+/* Slot 67 */
+void
+Tcl_DeleteTrace(interp, trace)
+ Tcl_Interp * interp;
+ Tcl_Trace trace;
+{
+ (tclStubsPtr->tcl_DeleteTrace)(interp, trace);
+}
+
+/* Slot 68 */
+void
+Tcl_DetachPids(numPids, pidPtr)
+ int numPids;
+ Tcl_Pid * pidPtr;
+{
+ (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr);
+}
+
+/* Slot 69 */
+void
+Tcl_DontCallWhenDeleted(interp, proc, clientData)
+ Tcl_Interp * interp;
+ Tcl_InterpDeleteProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DontCallWhenDeleted)(interp, proc, clientData);
+}
+
+/* Slot 70 */
+int
+Tcl_DoOneEvent(flags)
+ int flags;
+{
+ return (tclStubsPtr->tcl_DoOneEvent)(flags);
+}
+
+/* Slot 71 */
+void
+Tcl_DoWhenIdle(proc, clientData)
+ Tcl_IdleProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_DoWhenIdle)(proc, clientData);
+}
+
+/* Slot 72 */
+char *
+Tcl_DStringAppend(dsPtr, string, length)
+ Tcl_DString * dsPtr;
+ CONST char * string;
+ int length;
+{
+ return (tclStubsPtr->tcl_DStringAppend)(dsPtr, string, length);
+}
+
+/* Slot 73 */
+char *
+Tcl_DStringAppendElement(dsPtr, string)
+ Tcl_DString * dsPtr;
+ CONST char * string;
+{
+ return (tclStubsPtr->tcl_DStringAppendElement)(dsPtr, string);
+}
+
+/* Slot 74 */
+void
+Tcl_DStringEndSublist(dsPtr)
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringEndSublist)(dsPtr);
+}
+
+/* Slot 75 */
+void
+Tcl_DStringFree(dsPtr)
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringFree)(dsPtr);
+}
+
+/* Slot 76 */
+void
+Tcl_DStringGetResult(interp, dsPtr)
+ Tcl_Interp * interp;
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringGetResult)(interp, dsPtr);
+}
+
+/* Slot 77 */
+void
+Tcl_DStringInit(dsPtr)
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringInit)(dsPtr);
+}
+
+/* Slot 78 */
+void
+Tcl_DStringResult(interp, dsPtr)
+ Tcl_Interp * interp;
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringResult)(interp, dsPtr);
+}
+
+/* Slot 79 */
+void
+Tcl_DStringSetLength(dsPtr, length)
+ Tcl_DString * dsPtr;
+ int length;
+{
+ (tclStubsPtr->tcl_DStringSetLength)(dsPtr, length);
+}
+
+/* Slot 80 */
+void
+Tcl_DStringStartSublist(dsPtr)
+ Tcl_DString * dsPtr;
+{
+ (tclStubsPtr->tcl_DStringStartSublist)(dsPtr);
+}
+
+/* Slot 81 */
+int
+Tcl_DumpActiveMemory(fileName)
+ char * fileName;
+{
+ return (tclStubsPtr->tcl_DumpActiveMemory)(fileName);
+}
+
+/* Slot 82 */
+Tcl_Obj *
+Tcl_DuplicateObj(objPtr)
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_DuplicateObj)(objPtr);
+}
+
+/* Slot 83 */
+int
+Tcl_Eof(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_Eof)(chan);
+}
+
+/* Slot 84 */
+char *
+Tcl_ErrnoId()
+{
+ return (tclStubsPtr->tcl_ErrnoId)();
+}
+
+/* Slot 85 */
+char *
+Tcl_ErrnoMsg(err)
+ int err;
+{
+ return (tclStubsPtr->tcl_ErrnoMsg)(err);
+}
+
+/* Slot 86 */
+int
+Tcl_Eval(interp, string)
+ Tcl_Interp * interp;
+ char * string;
+{
+ return (tclStubsPtr->tcl_Eval)(interp, string);
+}
+
+/* Slot 87 */
+int
+Tcl_EvalFile(interp, fileName)
+ Tcl_Interp * interp;
+ char * fileName;
+{
+ return (tclStubsPtr->tcl_EvalFile)(interp, fileName);
+}
+
+/* Slot 88 */
+void
+Tcl_EventuallyFree(clientData, freeProc)
+ ClientData clientData;
+ Tcl_FreeProc * freeProc;
+{
+ (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc);
+}
+
+/* Slot 89 */
+int
+Tcl_EvalObj(interp, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_EvalObj)(interp, objPtr);
+}
+
+/* Slot 90 */
+void
+Tcl_Exit(status)
+ int status;
+{
+ (tclStubsPtr->tcl_Exit)(status);
+}
+
+/* Slot 91 */
+int
+Tcl_ExposeCommand(interp, hiddenCmdToken, cmdName)
+ Tcl_Interp * interp;
+ char * hiddenCmdToken;
+ char * cmdName;
+{
+ return (tclStubsPtr->tcl_ExposeCommand)(interp, hiddenCmdToken, cmdName);
+}
+
+/* Slot 92 */
+int
+Tcl_ExprBoolean(interp, string, ptr)
+ Tcl_Interp * interp;
+ char * string;
+ int * ptr;
+{
+ return (tclStubsPtr->tcl_ExprBoolean)(interp, string, ptr);
+}
+
+/* Slot 93 */
+int
+Tcl_ExprBooleanObj(interp, objPtr, ptr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ int * ptr;
+{
+ return (tclStubsPtr->tcl_ExprBooleanObj)(interp, objPtr, ptr);
+}
+
+/* Slot 94 */
+int
+Tcl_ExprDouble(interp, string, ptr)
+ Tcl_Interp * interp;
+ char * string;
+ double * ptr;
+{
+ return (tclStubsPtr->tcl_ExprDouble)(interp, string, ptr);
+}
+
+/* Slot 95 */
+int
+Tcl_ExprDoubleObj(interp, objPtr, ptr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ double * ptr;
+{
+ return (tclStubsPtr->tcl_ExprDoubleObj)(interp, objPtr, ptr);
+}
+
+/* Slot 96 */
+int
+Tcl_ExprLong(interp, string, ptr)
+ Tcl_Interp * interp;
+ char * string;
+ long * ptr;
+{
+ return (tclStubsPtr->tcl_ExprLong)(interp, string, ptr);
+}
+
+/* Slot 97 */
+int
+Tcl_ExprLongObj(interp, objPtr, ptr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ long * ptr;
+{
+ return (tclStubsPtr->tcl_ExprLongObj)(interp, objPtr, ptr);
+}
+
+/* Slot 98 */
+int
+Tcl_ExprObj(interp, objPtr, resultPtrPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ Tcl_Obj ** resultPtrPtr;
+{
+ return (tclStubsPtr->tcl_ExprObj)(interp, objPtr, resultPtrPtr);
+}
+
+/* Slot 99 */
+int
+Tcl_ExprString(interp, string)
+ Tcl_Interp * interp;
+ char * string;
+{
+ return (tclStubsPtr->tcl_ExprString)(interp, string);
+}
+
+/* Slot 100 */
+void
+Tcl_Finalize()
+{
+ (tclStubsPtr->tcl_Finalize)();
+}
+
+/* Slot 101 */
+void
+Tcl_FindExecutable(argv0)
+ char * argv0;
+{
+ (tclStubsPtr->tcl_FindExecutable)(argv0);
+}
+
+/* Slot 102 */
+Tcl_HashEntry *
+Tcl_FirstHashEntry(tablePtr, searchPtr)
+ Tcl_HashTable * tablePtr;
+ Tcl_HashSearch * searchPtr;
+{
+ return (tclStubsPtr->tcl_FirstHashEntry)(tablePtr, searchPtr);
+}
+
+/* Slot 103 */
+int
+Tcl_Flush(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_Flush)(chan);
+}
+
+/* Slot 104 */
+void
+Tcl_Free(ptr)
+ char * ptr;
+{
+ (tclStubsPtr->tcl_Free)(ptr);
+}
+
+/* Slot 105 */
+void
+TclFreeObj(objPtr)
+ Tcl_Obj * objPtr;
+{
+ (tclStubsPtr->tclFreeObj)(objPtr);
+}
+
+/* Slot 106 */
+void
+Tcl_FreeResult(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_FreeResult)(interp);
+}
+
+/* Slot 107 */
+int
+Tcl_GetAlias(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr)
+ Tcl_Interp * interp;
+ char * slaveCmd;
+ Tcl_Interp ** targetInterpPtr;
+ char ** targetCmdPtr;
+ int * argcPtr;
+ char *** argvPtr;
+{
+ return (tclStubsPtr->tcl_GetAlias)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr);
+}
+
+/* Slot 108 */
+int
+Tcl_GetAliasObj(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv)
+ Tcl_Interp * interp;
+ char * slaveCmd;
+ Tcl_Interp ** targetInterpPtr;
+ char ** targetCmdPtr;
+ int * objcPtr;
+ Tcl_Obj *** objv;
+{
+ return (tclStubsPtr->tcl_GetAliasObj)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv);
+}
+
+/* Slot 109 */
+ClientData
+Tcl_GetAssocData(interp, name, procPtr)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_InterpDeleteProc ** procPtr;
+{
+ return (tclStubsPtr->tcl_GetAssocData)(interp, name, procPtr);
+}
+
+/* Slot 110 */
+int
+Tcl_GetBoolean(interp, string, boolPtr)
+ Tcl_Interp * interp;
+ char * string;
+ int * boolPtr;
+{
+ return (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr);
+}
+
+/* Slot 111 */
+int
+Tcl_GetBooleanFromObj(interp, objPtr, boolPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ int * boolPtr;
+{
+ return (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr);
+}
+
+/* Slot 112 */
+unsigned char *
+Tcl_GetByteArrayFromObj(objPtr, lengthPtr)
+ Tcl_Obj * objPtr;
+ int * lengthPtr;
+{
+ return (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr);
+}
+
+/* Slot 113 */
+Tcl_Channel
+Tcl_GetChannel(interp, chanName, modePtr)
+ Tcl_Interp * interp;
+ char * chanName;
+ int * modePtr;
+{
+ return (tclStubsPtr->tcl_GetChannel)(interp, chanName, modePtr);
+}
+
+/* Slot 114 */
+int
+Tcl_GetChannelBufferSize(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_GetChannelBufferSize)(chan);
+}
+
+/* Slot 115 */
+int
+Tcl_GetChannelHandle(chan, direction, handlePtr)
+ Tcl_Channel chan;
+ int direction;
+ ClientData * handlePtr;
+{
+ return (tclStubsPtr->tcl_GetChannelHandle)(chan, direction, handlePtr);
+}
+
+/* Slot 116 */
+ClientData
+Tcl_GetChannelInstanceData(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_GetChannelInstanceData)(chan);
+}
+
+/* Slot 117 */
+int
+Tcl_GetChannelMode(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_GetChannelMode)(chan);
+}
+
+/* Slot 118 */
+char *
+Tcl_GetChannelName(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_GetChannelName)(chan);
+}
+
+/* Slot 119 */
+int
+Tcl_GetChannelOption(interp, chan, optionName, dsPtr)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+ char * optionName;
+ Tcl_DString * dsPtr;
+{
+ return (tclStubsPtr->tcl_GetChannelOption)(interp, chan, optionName, dsPtr);
+}
+
+/* Slot 120 */
+Tcl_ChannelType *
+Tcl_GetChannelType(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_GetChannelType)(chan);
+}
+
+/* Slot 121 */
+int
+Tcl_GetCommandInfo(interp, cmdName, infoPtr)
+ Tcl_Interp * interp;
+ char * cmdName;
+ Tcl_CmdInfo * infoPtr;
+{
+ return (tclStubsPtr->tcl_GetCommandInfo)(interp, cmdName, infoPtr);
+}
+
+/* Slot 122 */
+char *
+Tcl_GetCommandName(interp, command)
+ Tcl_Interp * interp;
+ Tcl_Command command;
+{
+ return (tclStubsPtr->tcl_GetCommandName)(interp, command);
+}
+
+/* Slot 123 */
+int
+Tcl_GetDouble(interp, string, doublePtr)
+ Tcl_Interp * interp;
+ char * string;
+ double * doublePtr;
+{
+ return (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr);
+}
+
+/* Slot 124 */
+int
+Tcl_GetDoubleFromObj(interp, objPtr, doublePtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ double * doublePtr;
+{
+ return (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr);
+}
+
+/* Slot 125 */
+int
+Tcl_GetErrno()
+{
+ return (tclStubsPtr->tcl_GetErrno)();
+}
+
+/* Slot 126 */
+char *
+Tcl_GetHostName()
+{
+ return (tclStubsPtr->tcl_GetHostName)();
+}
+
+/* Slot 127 */
+int
+Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ char ** tablePtr;
+ char * msg;
+ int flags;
+ int * indexPtr;
+{
+ return (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr);
+}
+
+/* Slot 128 */
+int
+Tcl_GetInt(interp, string, intPtr)
+ Tcl_Interp * interp;
+ char * string;
+ int * intPtr;
+{
+ return (tclStubsPtr->tcl_GetInt)(interp, string, intPtr);
+}
+
+/* Slot 129 */
+int
+Tcl_GetInterpPath(askInterp, slaveInterp)
+ Tcl_Interp * askInterp;
+ Tcl_Interp * slaveInterp;
+{
+ return (tclStubsPtr->tcl_GetInterpPath)(askInterp, slaveInterp);
+}
+
+/* Slot 130 */
+int
+Tcl_GetIntFromObj(interp, objPtr, intPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ int * intPtr;
+{
+ return (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr);
+}
+
+/* Slot 131 */
+int
+Tcl_GetLongFromObj(interp, objPtr, longPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+ long * longPtr;
+{
+ return (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr);
+}
+
+/* Slot 132 */
+Tcl_Interp *
+Tcl_GetMaster(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_GetMaster)(interp);
+}
+
+/* Slot 133 */
+CONST char *
+Tcl_GetNameOfExecutable()
+{
+ return (tclStubsPtr->tcl_GetNameOfExecutable)();
+}
+
+/* Slot 134 */
+Tcl_Obj *
+Tcl_GetObjResult(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_GetObjResult)(interp);
+}
+
+/* Slot 135 */
+Tcl_ObjType *
+Tcl_GetObjType(typeName)
+ char * typeName;
+{
+ return (tclStubsPtr->tcl_GetObjType)(typeName);
+}
+
+/* Slot 136 */
+Tcl_PathType
+Tcl_GetPathType(path)
+ char * path;
+{
+ return (tclStubsPtr->tcl_GetPathType)(path);
+}
+
+/* Slot 137 */
+int
+Tcl_Gets(chan, dsPtr)
+ Tcl_Channel chan;
+ Tcl_DString * dsPtr;
+{
+ return (tclStubsPtr->tcl_Gets)(chan, dsPtr);
+}
+
+/* Slot 138 */
+int
+Tcl_GetsObj(chan, objPtr)
+ Tcl_Channel chan;
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_GetsObj)(chan, objPtr);
+}
+
+/* Slot 139 */
+int
+Tcl_GetServiceMode()
+{
+ return (tclStubsPtr->tcl_GetServiceMode)();
+}
+
+/* Slot 140 */
+Tcl_Interp *
+Tcl_GetSlave(interp, slaveName)
+ Tcl_Interp * interp;
+ char * slaveName;
+{
+ return (tclStubsPtr->tcl_GetSlave)(interp, slaveName);
+}
+
+/* Slot 141 */
+Tcl_Channel
+Tcl_GetStdChannel(type)
+ int type;
+{
+ return (tclStubsPtr->tcl_GetStdChannel)(type);
+}
+
+/* Slot 142 */
+char *
+Tcl_GetStringFromObj(objPtr, lengthPtr)
+ Tcl_Obj * objPtr;
+ int * lengthPtr;
+{
+ return (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr);
+}
+
+/* Slot 143 */
+char *
+Tcl_GetStringResult(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_GetStringResult)(interp);
+}
+
+/* Slot 144 */
+char *
+Tcl_GetVar(interp, varName, flags)
+ Tcl_Interp * interp;
+ char * varName;
+ int flags;
+{
+ return (tclStubsPtr->tcl_GetVar)(interp, varName, flags);
+}
+
+/* Slot 145 */
+char *
+Tcl_GetVar2(interp, part1, part2, flags)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+{
+ return (tclStubsPtr->tcl_GetVar2)(interp, part1, part2, flags);
+}
+
+/* Slot 146 */
+int
+Tcl_GlobalEval(interp, command)
+ Tcl_Interp * interp;
+ char * command;
+{
+ return (tclStubsPtr->tcl_GlobalEval)(interp, command);
+}
+
+/* Slot 147 */
+int
+Tcl_GlobalEvalObj(interp, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_GlobalEvalObj)(interp, objPtr);
+}
+
+/* Slot 148 */
+char *
+Tcl_HashStats(tablePtr)
+ Tcl_HashTable * tablePtr;
+{
+ return (tclStubsPtr->tcl_HashStats)(tablePtr);
+}
+
+/* Slot 149 */
+int
+Tcl_HideCommand(interp, cmdName, hiddenCmdToken)
+ Tcl_Interp * interp;
+ char * cmdName;
+ char * hiddenCmdToken;
+{
+ return (tclStubsPtr->tcl_HideCommand)(interp, cmdName, hiddenCmdToken);
+}
+
+/* Slot 150 */
+int
+Tcl_Init(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_Init)(interp);
+}
+
+/* Slot 151 */
+void
+Tcl_InitHashTable(tablePtr, keyType)
+ Tcl_HashTable * tablePtr;
+ int keyType;
+{
+ (tclStubsPtr->tcl_InitHashTable)(tablePtr, keyType);
+}
+
+/* Slot 152 */
+int
+Tcl_InputBlocked(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_InputBlocked)(chan);
+}
+
+/* Slot 153 */
+int
+Tcl_InputBuffered(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_InputBuffered)(chan);
+}
+
+/* Slot 154 */
+int
+Tcl_InterpDeleted(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_InterpDeleted)(interp);
+}
+
+/* Slot 155 */
+int
+Tcl_IsSafe(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_IsSafe)(interp);
+}
+
+/* Slot 156 */
+void
+Tcl_InvalidateStringRep(objPtr)
+ Tcl_Obj * objPtr;
+{
+ (tclStubsPtr->tcl_InvalidateStringRep)(objPtr);
+}
+
+/* Slot 157 */
+char *
+Tcl_JoinPath(argc, argv, resultPtr)
+ int argc;
+ char ** argv;
+ Tcl_DString * resultPtr;
+{
+ return (tclStubsPtr->tcl_JoinPath)(argc, argv, resultPtr);
+}
+
+/* Slot 158 */
+int
+Tcl_LinkVar(interp, varName, addr, type)
+ Tcl_Interp * interp;
+ char * varName;
+ char * addr;
+ int type;
+{
+ return (tclStubsPtr->tcl_LinkVar)(interp, varName, addr, type);
+}
+
+/* Slot 159 */
+int
+Tcl_ListObjAppendList(interp, listPtr, elemListPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ Tcl_Obj * elemListPtr;
+{
+ return (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr);
+}
+
+/* Slot 160 */
+int
+Tcl_ListObjAppendElement(interp, listPtr, objPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ Tcl_Obj * objPtr;
+{
+ return (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr);
+}
+
+/* Slot 161 */
+int
+Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ int * objcPtr;
+ Tcl_Obj *** objvPtr;
+{
+ return (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr);
+}
+
+/* Slot 162 */
+int
+Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ int index;
+ Tcl_Obj ** objPtrPtr;
+{
+ return (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr);
+}
+
+/* Slot 163 */
+int
+Tcl_ListObjLength(interp, listPtr, intPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ int * intPtr;
+{
+ return (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr);
+}
+
+/* Slot 164 */
+int
+Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv)
+ Tcl_Interp * interp;
+ Tcl_Obj * listPtr;
+ int first;
+ int count;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv);
+}
+
+/* Slot 165 */
+Tcl_Channel
+Tcl_MakeFileChannel(handle, mode)
+ ClientData handle;
+ int mode;
+{
+ return (tclStubsPtr->tcl_MakeFileChannel)(handle, mode);
+}
+
+/* Slot 166 */
+int
+Tcl_MakeSafe(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_MakeSafe)(interp);
+}
+
+/* Slot 167 */
+Tcl_Channel
+Tcl_MakeTcpClientChannel(tcpSocket)
+ ClientData tcpSocket;
+{
+ return (tclStubsPtr->tcl_MakeTcpClientChannel)(tcpSocket);
+}
+
+/* Slot 168 */
+char *
+Tcl_Merge(argc, argv)
+ int argc;
+ char ** argv;
+{
+ return (tclStubsPtr->tcl_Merge)(argc, argv);
+}
+
+/* Slot 169 */
+Tcl_Obj *
+Tcl_NewBooleanObj(boolValue)
+ int boolValue;
+{
+ return (tclStubsPtr->tcl_NewBooleanObj)(boolValue);
+}
+
+/* Slot 170 */
+Tcl_Obj *
+Tcl_NewByteArrayObj(bytes, length)
+ unsigned char * bytes;
+ int length;
+{
+ return (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length);
+}
+
+/* Slot 171 */
+Tcl_Obj *
+Tcl_NewDoubleObj(doubleValue)
+ double doubleValue;
+{
+ return (tclStubsPtr->tcl_NewDoubleObj)(doubleValue);
+}
+
+/* Slot 172 */
+Tcl_Obj *
+Tcl_NewIntObj(intValue)
+ int intValue;
+{
+ return (tclStubsPtr->tcl_NewIntObj)(intValue);
+}
+
+/* Slot 173 */
+Tcl_Obj *
+Tcl_NewListObj(objc, objv)
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ return (tclStubsPtr->tcl_NewListObj)(objc, objv);
+}
+
+/* Slot 174 */
+Tcl_Obj *
+Tcl_NewLongObj(longValue)
+ long longValue;
+{
+ return (tclStubsPtr->tcl_NewLongObj)(longValue);
+}
+
+/* Slot 175 */
+Tcl_Obj *
+Tcl_NewObj()
+{
+ return (tclStubsPtr->tcl_NewObj)();
+}
+
+/* Slot 176 */
+Tcl_Obj *
+Tcl_NewStringObj(bytes, length)
+ char * bytes;
+ int length;
+{
+ return (tclStubsPtr->tcl_NewStringObj)(bytes, length);
+}
+
+/* Slot 177 */
+Tcl_HashEntry *
+Tcl_NextHashEntry(searchPtr)
+ Tcl_HashSearch * searchPtr;
+{
+ return (tclStubsPtr->tcl_NextHashEntry)(searchPtr);
+}
+
+/* Slot 178 */
+void
+Tcl_NotifyChannel(channel, mask)
+ Tcl_Channel channel;
+ int mask;
+{
+ (tclStubsPtr->tcl_NotifyChannel)(channel, mask);
+}
+
+/* Slot 179 */
+Tcl_Obj *
+Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags)
+ Tcl_Interp * interp;
+ Tcl_Obj * part1Ptr;
+ Tcl_Obj * part2Ptr;
+ int flags;
+{
+ return (tclStubsPtr->tcl_ObjGetVar2)(interp, part1Ptr, part2Ptr, flags);
+}
+
+/* Slot 180 */
+Tcl_Obj *
+Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags)
+ Tcl_Interp * interp;
+ Tcl_Obj * part1Ptr;
+ Tcl_Obj * part2Ptr;
+ Tcl_Obj * newValuePtr;
+ int flags;
+{
+ return (tclStubsPtr->tcl_ObjSetVar2)(interp, part1Ptr, part2Ptr, newValuePtr, flags);
+}
+
+/* Slot 181 */
+Tcl_Channel
+Tcl_OpenCommandChannel(interp, argc, argv, flags)
+ Tcl_Interp * interp;
+ int argc;
+ char ** argv;
+ int flags;
+{
+ return (tclStubsPtr->tcl_OpenCommandChannel)(interp, argc, argv, flags);
+}
+
+/* Slot 182 */
+Tcl_Channel
+Tcl_OpenFileChannel(interp, fileName, modeString, permissions)
+ Tcl_Interp * interp;
+ char * fileName;
+ char * modeString;
+ int permissions;
+{
+ return (tclStubsPtr->tcl_OpenFileChannel)(interp, fileName, modeString, permissions);
+}
+
+/* Slot 183 */
+Tcl_Channel
+Tcl_OpenTcpClient(interp, port, address, myaddr, myport, async)
+ Tcl_Interp * interp;
+ int port;
+ char * address;
+ char * myaddr;
+ int myport;
+ int async;
+{
+ return (tclStubsPtr->tcl_OpenTcpClient)(interp, port, address, myaddr, myport, async);
+}
+
+/* Slot 184 */
+Tcl_Channel
+Tcl_OpenTcpServer(interp, port, host, acceptProc, callbackData)
+ Tcl_Interp * interp;
+ int port;
+ char * host;
+ Tcl_TcpAcceptProc * acceptProc;
+ ClientData callbackData;
+{
+ return (tclStubsPtr->tcl_OpenTcpServer)(interp, port, host, acceptProc, callbackData);
+}
+
+/* Slot 185 */
+void
+Tcl_Panic TCL_VARARGS_DEF(char *,format)
+{
+ char * var;
+ va_list argList;
+
+ var = (char *) TCL_VARARGS_START(char *,format,argList);
+
+ (tclStubsPtr->tcl_PanicVA)(var, argList);
+ va_end(argList);
+}
+
+/* Slot 186 */
+void
+Tcl_PanicVA(format, argList)
+ char * format;
+ va_list argList;
+{
+ (tclStubsPtr->tcl_PanicVA)(format, argList);
+}
+
+/* Slot 187 */
+char *
+Tcl_ParseVar(interp, string, termPtr)
+ Tcl_Interp * interp;
+ char * string;
+ char ** termPtr;
+{
+ return (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr);
+}
+
+/* Slot 188 */
+char *
+Tcl_PkgPresent(interp, name, version, exact)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+{
+ return (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact);
+}
+
+/* Slot 189 */
+char *
+Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ ClientData * clientDataPtr;
+{
+ return (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr);
+}
+
+/* Slot 190 */
+int
+Tcl_PkgProvide(interp, name, version)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+{
+ return (tclStubsPtr->tcl_PkgProvide)(interp, name, version);
+}
+
+/* Slot 191 */
+int
+Tcl_PkgProvideEx(interp, name, version, clientData)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData);
+}
+
+/* Slot 192 */
+char *
+Tcl_PkgRequire(interp, name, version, exact)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+{
+ return (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact);
+}
+
+/* Slot 193 */
+char *
+Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ ClientData * clientDataPtr;
+{
+ return (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr);
+}
+
+/* Slot 194 */
+char *
+Tcl_PosixError(interp)
+ Tcl_Interp * interp;
+{
+ return (tclStubsPtr->tcl_PosixError)(interp);
+}
+
+/* Slot 195 */
+void
+Tcl_Preserve(data)
+ ClientData data;
+{
+ (tclStubsPtr->tcl_Preserve)(data);
+}
+
+/* Slot 196 */
+void
+Tcl_PrintDouble(interp, value, dst)
+ Tcl_Interp * interp;
+ double value;
+ char * dst;
+{
+ (tclStubsPtr->tcl_PrintDouble)(interp, value, dst);
+}
+
+/* Slot 197 */
+int
+Tcl_PutEnv(string)
+ CONST char * string;
+{
+ return (tclStubsPtr->tcl_PutEnv)(string);
+}
+
+/* Slot 198 */
+void
+Tcl_QueueEvent(evPtr, position)
+ Tcl_Event * evPtr;
+ Tcl_QueuePosition position;
+{
+ (tclStubsPtr->tcl_QueueEvent)(evPtr, position);
+}
+
+/* Slot 199 */
+int
+Tcl_Read(chan, bufPtr, toRead)
+ Tcl_Channel chan;
+ char * bufPtr;
+ int toRead;
+{
+ return (tclStubsPtr->tcl_Read)(chan, bufPtr, toRead);
+}
+
+/* Slot 200 */
+char *
+Tcl_Realloc(ptr, size)
+ char * ptr;
+ unsigned int size;
+{
+ return (tclStubsPtr->tcl_Realloc)(ptr, size);
+}
+
+/* Slot 201 */
+void
+Tcl_ReapDetachedProcs()
+{
+ (tclStubsPtr->tcl_ReapDetachedProcs)();
+}
+
+/* Slot 202 */
+int
+Tcl_RecordAndEval(interp, cmd, flags)
+ Tcl_Interp * interp;
+ char * cmd;
+ int flags;
+{
+ return (tclStubsPtr->tcl_RecordAndEval)(interp, cmd, flags);
+}
+
+/* Slot 203 */
+int
+Tcl_RecordAndEvalObj(interp, cmdPtr, flags)
+ Tcl_Interp * interp;
+ Tcl_Obj * cmdPtr;
+ int flags;
+{
+ return (tclStubsPtr->tcl_RecordAndEvalObj)(interp, cmdPtr, flags);
+}
+
+/* Slot 204 */
+Tcl_RegExp
+Tcl_RegExpCompile(interp, string)
+ Tcl_Interp * interp;
+ char * string;
+{
+ return (tclStubsPtr->tcl_RegExpCompile)(interp, string);
+}
+
+/* Slot 205 */
+int
+Tcl_RegExpExec(interp, regexp, string, start)
+ Tcl_Interp * interp;
+ Tcl_RegExp regexp;
+ char * string;
+ char * start;
+{
+ return (tclStubsPtr->tcl_RegExpExec)(interp, regexp, string, start);
+}
+
+/* Slot 206 */
+int
+Tcl_RegExpMatch(interp, string, pattern)
+ Tcl_Interp * interp;
+ char * string;
+ char * pattern;
+{
+ return (tclStubsPtr->tcl_RegExpMatch)(interp, string, pattern);
+}
+
+/* Slot 207 */
+void
+Tcl_RegExpRange(regexp, index, startPtr, endPtr)
+ Tcl_RegExp regexp;
+ int index;
+ char ** startPtr;
+ char ** endPtr;
+{
+ (tclStubsPtr->tcl_RegExpRange)(regexp, index, startPtr, endPtr);
+}
+
+/* Slot 208 */
+void
+Tcl_RegisterChannel(interp, chan)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+{
+ (tclStubsPtr->tcl_RegisterChannel)(interp, chan);
+}
+
+/* Slot 209 */
+void
+Tcl_RegisterObjType(typePtr)
+ Tcl_ObjType * typePtr;
+{
+ (tclStubsPtr->tcl_RegisterObjType)(typePtr);
+}
+
+/* Slot 210 */
+void
+Tcl_Release(clientData)
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_Release)(clientData);
+}
+
+/* Slot 211 */
+void
+Tcl_ResetResult(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_ResetResult)(interp);
+}
+
+/* Slot 212 */
+int
+Tcl_ScanCountedElement(string, length, flagPtr)
+ CONST char * string;
+ int length;
+ int * flagPtr;
+{
+ return (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr);
+}
+
+/* Slot 213 */
+int
+Tcl_ScanElement(string, flagPtr)
+ CONST char * string;
+ int * flagPtr;
+{
+ return (tclStubsPtr->tcl_ScanElement)(string, flagPtr);
+}
+
+/* Slot 214 */
+int
+Tcl_Seek(chan, offset, mode)
+ Tcl_Channel chan;
+ int offset;
+ int mode;
+{
+ return (tclStubsPtr->tcl_Seek)(chan, offset, mode);
+}
+
+/* Slot 215 */
+int
+Tcl_ServiceAll()
+{
+ return (tclStubsPtr->tcl_ServiceAll)();
+}
+
+/* Slot 216 */
+int
+Tcl_ServiceEvent(flags)
+ int flags;
+{
+ return (tclStubsPtr->tcl_ServiceEvent)(flags);
+}
+
+/* Slot 217 */
+void
+Tcl_SetAssocData(interp, name, proc, clientData)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_InterpDeleteProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_SetAssocData)(interp, name, proc, clientData);
+}
+
+/* Slot 218 */
+void
+Tcl_SetBooleanObj(objPtr, boolValue)
+ Tcl_Obj * objPtr;
+ int boolValue;
+{
+ (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue);
+}
+
+/* Slot 219 */
+unsigned char *
+Tcl_SetByteArrayLength(objPtr, length)
+ Tcl_Obj * objPtr;
+ int length;
+{
+ return (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length);
+}
+
+/* Slot 220 */
+void
+Tcl_SetByteArrayObj(objPtr, bytes, length)
+ Tcl_Obj * objPtr;
+ unsigned char * bytes;
+ int length;
+{
+ (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length);
+}
+
+/* Slot 221 */
+void
+Tcl_SetChannelBufferSize(chan, sz)
+ Tcl_Channel chan;
+ int sz;
+{
+ (tclStubsPtr->tcl_SetChannelBufferSize)(chan, sz);
+}
+
+/* Slot 222 */
+int
+Tcl_SetChannelOption(interp, chan, optionName, newValue)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+ char * optionName;
+ char * newValue;
+{
+ return (tclStubsPtr->tcl_SetChannelOption)(interp, chan, optionName, newValue);
+}
+
+/* Slot 223 */
+int
+Tcl_SetCommandInfo(interp, cmdName, infoPtr)
+ Tcl_Interp * interp;
+ char * cmdName;
+ Tcl_CmdInfo * infoPtr;
+{
+ return (tclStubsPtr->tcl_SetCommandInfo)(interp, cmdName, infoPtr);
+}
+
+/* Slot 224 */
+void
+Tcl_SetDoubleObj(objPtr, doubleValue)
+ Tcl_Obj * objPtr;
+ double doubleValue;
+{
+ (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue);
+}
+
+/* Slot 225 */
+void
+Tcl_SetErrno(err)
+ int err;
+{
+ (tclStubsPtr->tcl_SetErrno)(err);
+}
+
+/* Slot 226 */
+void
+Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,interp)
+{
+ Tcl_Interp * var;
+ va_list argList;
+
+ var = (Tcl_Interp *) TCL_VARARGS_START(Tcl_Interp *,interp,argList);
+
+ (tclStubsPtr->tcl_SetErrorCodeVA)(var, argList);
+ va_end(argList);
+}
+
+/* Slot 227 */
+void
+Tcl_SetErrorCodeVA(interp, argList)
+ Tcl_Interp * interp;
+ va_list argList;
+{
+ (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList);
+}
+
+/* Slot 228 */
+void
+Tcl_SetIntObj(objPtr, intValue)
+ Tcl_Obj * objPtr;
+ int intValue;
+{
+ (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue);
+}
+
+/* Slot 229 */
+void
+Tcl_SetListObj(objPtr, objc, objv)
+ Tcl_Obj * objPtr;
+ int objc;
+ Tcl_Obj *CONST objv[];
+{
+ (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv);
+}
+
+/* Slot 230 */
+void
+Tcl_SetLongObj(objPtr, longValue)
+ Tcl_Obj * objPtr;
+ long longValue;
+{
+ (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue);
+}
+
+/* Slot 231 */
+void
+Tcl_SetMaxBlockTime(timePtr)
+ Tcl_Time * timePtr;
+{
+ (tclStubsPtr->tcl_SetMaxBlockTime)(timePtr);
+}
+
+/* Slot 232 */
+void
+Tcl_SetObjErrorCode(interp, errorObjPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * errorObjPtr;
+{
+ (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr);
+}
+
+/* Slot 233 */
+void
+Tcl_SetObjLength(objPtr, length)
+ Tcl_Obj * objPtr;
+ int length;
+{
+ (tclStubsPtr->tcl_SetObjLength)(objPtr, length);
+}
+
+/* Slot 234 */
+void
+Tcl_SetObjResult(interp, resultObjPtr)
+ Tcl_Interp * interp;
+ Tcl_Obj * resultObjPtr;
+{
+ (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr);
+}
+
+/* Slot 235 */
+void
+Tcl_SetPanicProc(panicProc)
+ Tcl_PanicProc * panicProc;
+{
+ (tclStubsPtr->tcl_SetPanicProc)(panicProc);
+}
+
+/* Slot 236 */
+int
+Tcl_SetRecursionLimit(interp, depth)
+ Tcl_Interp * interp;
+ int depth;
+{
+ return (tclStubsPtr->tcl_SetRecursionLimit)(interp, depth);
+}
+
+/* Slot 237 */
+void
+Tcl_SetResult(interp, string, freeProc)
+ Tcl_Interp * interp;
+ char * string;
+ Tcl_FreeProc * freeProc;
+{
+ (tclStubsPtr->tcl_SetResult)(interp, string, freeProc);
+}
+
+/* Slot 238 */
+int
+Tcl_SetServiceMode(mode)
+ int mode;
+{
+ return (tclStubsPtr->tcl_SetServiceMode)(mode);
+}
+
+/* Slot 239 */
+void
+Tcl_SetStdChannel(channel, type)
+ Tcl_Channel channel;
+ int type;
+{
+ (tclStubsPtr->tcl_SetStdChannel)(channel, type);
+}
+
+/* Slot 240 */
+void
+Tcl_SetStringObj(objPtr, bytes, length)
+ Tcl_Obj * objPtr;
+ char * bytes;
+ int length;
+{
+ (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length);
+}
+
+/* Slot 241 */
+void
+Tcl_SetTimer(timePtr)
+ Tcl_Time * timePtr;
+{
+ (tclStubsPtr->tcl_SetTimer)(timePtr);
+}
+
+/* Slot 242 */
+char *
+Tcl_SetVar(interp, varName, newValue, flags)
+ Tcl_Interp * interp;
+ char * varName;
+ char * newValue;
+ int flags;
+{
+ return (tclStubsPtr->tcl_SetVar)(interp, varName, newValue, flags);
+}
+
+/* Slot 243 */
+char *
+Tcl_SetVar2(interp, part1, part2, newValue, flags)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ char * newValue;
+ int flags;
+{
+ return (tclStubsPtr->tcl_SetVar2)(interp, part1, part2, newValue, flags);
+}
+
+/* Slot 244 */
+char *
+Tcl_SignalId(sig)
+ int sig;
+{
+ return (tclStubsPtr->tcl_SignalId)(sig);
+}
+
+/* Slot 245 */
+char *
+Tcl_SignalMsg(sig)
+ int sig;
+{
+ return (tclStubsPtr->tcl_SignalMsg)(sig);
+}
+
+/* Slot 246 */
+void
+Tcl_Sleep(ms)
+ int ms;
+{
+ (tclStubsPtr->tcl_Sleep)(ms);
+}
+
+/* Slot 247 */
+void
+Tcl_SourceRCFile(interp)
+ Tcl_Interp * interp;
+{
+ (tclStubsPtr->tcl_SourceRCFile)(interp);
+}
+
+/* Slot 248 */
+int
+Tcl_SplitList(interp, list, argcPtr, argvPtr)
+ Tcl_Interp * interp;
+ char * list;
+ int * argcPtr;
+ char *** argvPtr;
+{
+ return (tclStubsPtr->tcl_SplitList)(interp, list, argcPtr, argvPtr);
+}
+
+/* Slot 249 */
+void
+Tcl_SplitPath(path, argcPtr, argvPtr)
+ char * path;
+ int * argcPtr;
+ char *** argvPtr;
+{
+ (tclStubsPtr->tcl_SplitPath)(path, argcPtr, argvPtr);
+}
+
+/* Slot 250 */
+void
+Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc)
+ Tcl_Interp * interp;
+ char * pkgName;
+ Tcl_PackageInitProc * initProc;
+ Tcl_PackageInitProc * safeInitProc;
+{
+ (tclStubsPtr->tcl_StaticPackage)(interp, pkgName, initProc, safeInitProc);
+}
+
+/* Slot 251 */
+int
+Tcl_StringMatch(string, pattern)
+ char * string;
+ char * pattern;
+{
+ return (tclStubsPtr->tcl_StringMatch)(string, pattern);
+}
+
+/* Slot 252 */
+int
+Tcl_Tell(chan)
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_Tell)(chan);
+}
+
+/* Slot 253 */
+int
+Tcl_TraceVar(interp, varName, flags, proc, clientData)
+ Tcl_Interp * interp;
+ char * varName;
+ int flags;
+ Tcl_VarTraceProc * proc;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_TraceVar)(interp, varName, flags, proc, clientData);
+}
+
+/* Slot 254 */
+int
+Tcl_TraceVar2(interp, part1, part2, flags, proc, clientData)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+ Tcl_VarTraceProc * proc;
+ ClientData clientData;
+{
+ return (tclStubsPtr->tcl_TraceVar2)(interp, part1, part2, flags, proc, clientData);
+}
+
+/* Slot 255 */
+char *
+Tcl_TranslateFileName(interp, name, bufferPtr)
+ Tcl_Interp * interp;
+ char * name;
+ Tcl_DString * bufferPtr;
+{
+ return (tclStubsPtr->tcl_TranslateFileName)(interp, name, bufferPtr);
+}
+
+/* Slot 256 */
+int
+Tcl_Ungets(chan, str, len, atHead)
+ Tcl_Channel chan;
+ char * str;
+ int len;
+ int atHead;
+{
+ return (tclStubsPtr->tcl_Ungets)(chan, str, len, atHead);
+}
+
+/* Slot 257 */
+void
+Tcl_UnlinkVar(interp, varName)
+ Tcl_Interp * interp;
+ char * varName;
+{
+ (tclStubsPtr->tcl_UnlinkVar)(interp, varName);
+}
+
+/* Slot 258 */
+int
+Tcl_UnregisterChannel(interp, chan)
+ Tcl_Interp * interp;
+ Tcl_Channel chan;
+{
+ return (tclStubsPtr->tcl_UnregisterChannel)(interp, chan);
+}
+
+/* Slot 259 */
+int
+Tcl_UnsetVar(interp, varName, flags)
+ Tcl_Interp * interp;
+ char * varName;
+ int flags;
+{
+ return (tclStubsPtr->tcl_UnsetVar)(interp, varName, flags);
+}
+
+/* Slot 260 */
+int
+Tcl_UnsetVar2(interp, part1, part2, flags)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+{
+ return (tclStubsPtr->tcl_UnsetVar2)(interp, part1, part2, flags);
+}
+
+/* Slot 261 */
+void
+Tcl_UntraceVar(interp, varName, flags, proc, clientData)
+ Tcl_Interp * interp;
+ char * varName;
+ int flags;
+ Tcl_VarTraceProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_UntraceVar)(interp, varName, flags, proc, clientData);
+}
+
+/* Slot 262 */
+void
+Tcl_UntraceVar2(interp, part1, part2, flags, proc, clientData)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+ Tcl_VarTraceProc * proc;
+ ClientData clientData;
+{
+ (tclStubsPtr->tcl_UntraceVar2)(interp, part1, part2, flags, proc, clientData);
+}
+
+/* Slot 263 */
+void
+Tcl_UpdateLinkedVar(interp, varName)
+ Tcl_Interp * interp;
+ char * varName;
+{
+ (tclStubsPtr->tcl_UpdateLinkedVar)(interp, varName);
+}
+
+/* Slot 264 */
+int
+Tcl_UpVar(interp, frameName, varName, localName, flags)
+ Tcl_Interp * interp;
+ char * frameName;
+ char * varName;
+ char * localName;
+ int flags;
+{
+ return (tclStubsPtr->tcl_UpVar)(interp, frameName, varName, localName, flags);
+}
+
+/* Slot 265 */
+int
+Tcl_UpVar2(interp, frameName, part1, part2, localName, flags)
+ Tcl_Interp * interp;
+ char * frameName;
+ char * part1;
+ char * part2;
+ char * localName;
+ int flags;
+{
+ return (tclStubsPtr->tcl_UpVar2)(interp, frameName, part1, part2, localName, flags);
+}
+
+/* Slot 266 */
+void
+Tcl_ValidateAllMemory(file, line)
+ char * file;
+ int line;
+{
+ (tclStubsPtr->tcl_ValidateAllMemory)(file, line);
+}
+
+/* Slot 267 */
+int
+Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,interp)
+{
+ Tcl_Interp * var;
+ va_list argList;
+ int resultValue;
+
+ var = (Tcl_Interp *) TCL_VARARGS_START(Tcl_Interp *,interp,argList);
+
+ resultValue = (tclStubsPtr->tcl_VarEvalVA)(var, argList);
+ va_end(argList);
+return resultValue;
+}
+
+/* Slot 268 */
+int
+Tcl_VarEvalVA(interp, argList)
+ Tcl_Interp * interp;
+ va_list argList;
+{
+ return (tclStubsPtr->tcl_VarEvalVA)(interp, argList);
+}
+
+/* Slot 269 */
+ClientData
+Tcl_VarTraceInfo(interp, varName, flags, procPtr, prevClientData)
+ Tcl_Interp * interp;
+ char * varName;
+ int flags;
+ Tcl_VarTraceProc * procPtr;
+ ClientData prevClientData;
+{
+ return (tclStubsPtr->tcl_VarTraceInfo)(interp, varName, flags, procPtr, prevClientData);
+}
+
+/* Slot 270 */
+ClientData
+Tcl_VarTraceInfo2(interp, part1, part2, flags, procPtr, prevClientData)
+ Tcl_Interp * interp;
+ char * part1;
+ char * part2;
+ int flags;
+ Tcl_VarTraceProc * procPtr;
+ ClientData prevClientData;
+{
+ return (tclStubsPtr->tcl_VarTraceInfo2)(interp, part1, part2, flags, procPtr, prevClientData);
+}
+
+/* Slot 271 */
+int
+Tcl_WaitForEvent(timePtr)
+ Tcl_Time * timePtr;
+{
+ return (tclStubsPtr->tcl_WaitForEvent)(timePtr);
+}
+
+/* Slot 272 */
+Tcl_Pid
+Tcl_WaitPid(pid, statPtr, options)
+ Tcl_Pid pid;
+ int * statPtr;
+ int options;
+{
+ return (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options);
+}
+
+/* Slot 273 */
+int
+Tcl_Write(chan, s, slen)
+ Tcl_Channel chan;
+ char * s;
+ int slen;
+{
+ return (tclStubsPtr->tcl_Write)(chan, s, slen);
+}
+
+/* Slot 274 */
+void
+Tcl_WrongNumArgs(interp, objc, objv, message)
+ Tcl_Interp * interp;
+ int objc;
+ Tcl_Obj *CONST objv[];
+ char * message;
+{
+ (tclStubsPtr->tcl_WrongNumArgs)(interp, objc, objv, message);
+}
+
+
+/* !END!: Do not edit above this line. */
diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl
new file mode 100644
index 0000000..38b958f
--- /dev/null
+++ b/tools/genStubs.tcl
@@ -0,0 +1,891 @@
+# genStubs.tcl --
+#
+# This script generates a set of stub files for a given
+# interface.
+#
+#
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: genStubs.tcl,v 1.1 1999/03/03 00:38:45 stanton Exp $
+
+namespace eval genStubs {
+ # libraryName --
+ #
+ # The name of the entire library. This value is used to compute
+ # the USE_*_STUB_PROCS macro and the name of the init file.
+
+ variable libraryName "UNKNOWN"
+
+ # interfaces --
+ #
+ # An array indexed by interface name that is used to maintain
+ # the set of valid interfaces. The value is empty.
+
+ array set interfaces {}
+
+ # curName --
+ #
+ # The name of the interface currently being defined.
+
+ variable curName "UNKNOWN"
+
+ # hooks --
+ #
+ # An array indexed by interface name that contains the set of
+ # subinterfaces that should be defined for a given interface.
+
+ array set hooks {}
+
+ # stubs --
+ #
+ # This three dimensional array is indexed first by interface name,
+ # second by platform name, and third by a numeric offset or the
+ # constant "lastNum". The lastNum entry contains the largest
+ # numeric offset used for a given interface/platform combo. Each
+ # numeric offset contains the C function specification that
+ # should be used for the given entry in the stub table. The spec
+ # consists of a list in the form returned by parseDecl.
+
+ array set stubs {}
+
+ # outDir --
+ #
+ # The directory where the generated files should be placed.
+
+ variable outDir .
+}
+
+# genStubs::library --
+#
+# This function is used in the declarations file to set the name
+# of the library that the interfaces are associated with (e.g. "tcl").
+# This value will be used to define the inline conditional macro.
+#
+# Arguments:
+# name The library name.
+#
+# Results:
+# None.
+
+proc genStubs::library {name} {
+ variable libraryName $name
+}
+
+# genStubs::interface --
+#
+# This function is used in the declarations file to set the name
+# of the interface currently being defined.
+#
+# Arguments:
+# name The name of the interface.
+#
+# Results:
+# None.
+
+proc genStubs::interface {name} {
+ variable curName $name
+ variable interfaces
+
+ set interfaces($name) {}
+ return
+}
+
+# genStubs::hooks --
+#
+# This function defines the subinterface hooks for the current
+# interface.
+#
+# Arguments:
+# names The ordered list of interfaces that are reachable through the
+# hook vector.
+#
+# Results:
+# None.
+
+proc genStubs::hooks {names} {
+ variable curName
+ variable hooks
+
+ set hooks($curName) $names
+ return
+}
+
+# genStubs::declare --
+#
+# This function is used in the declarations file to declare a new
+# interface entry.
+#
+# Arguments:
+# index The index number of the interface.
+# platform The platform the interface belongs to. Should be one
+# of generic, win, unix, or mac.
+# decl The C function declaration, or {} for an undefined
+# entry.
+#
+# Results:
+# None.
+
+proc genStubs::declare {args} {
+ variable stubs
+ variable curName
+
+ if {[llength $args] != 3} {
+ puts stderr "wrong # args: declare $args"
+ }
+ lassign $args index platform decl
+
+ # Check for duplicate declarations, then add the declaration and
+ # bump the lastNum counter if necessary.
+
+ if {[info exists stubs($curName,$platform,$index)]} {
+ puts stderr "Duplicate entry: declare $args"
+ }
+ regsub -all "\[ \t\n\]+" [string trim $decl] " " decl
+ set decl [parseDecl $decl]
+ if {$decl != ""} {
+ set stubs($curName,$platform,$index) $decl
+ if {![info exists stubs($curName,$platform,lastNum)] \
+ || ($index > $stubs($curName,$platform,lastNum))} {
+ set stubs($curName,$platform,lastNum) $index
+ }
+ }
+ return
+}
+
+# genStubs::rewriteFile --
+#
+# This function replaces the machine generated portion of the
+# specified file with new contents. It looks for the !BEGIN! and
+# !END! comments to determine where to place the new text.
+#
+# Arguments:
+# file The name of the file to modify.
+# text The new text to place in the file.
+#
+# Results:
+# None.
+
+proc genStubs::rewriteFile {file text} {
+ if {![file exist $file]} {
+ puts stderr "Cannot find file: $file"
+ return
+ }
+ set in [open ${file} r]
+ set out [open ${file}.new w]
+
+ while {![eof $in]} {
+ set line [gets $in]
+ if {[regexp {!BEGIN!} $line]} {
+ break
+ }
+ puts $out $line
+ }
+ puts $out "/* !BEGIN!: Do not edit below this line. */"
+ puts $out $text
+ while {![eof $in]} {
+ set line [gets $in]
+ if {[regexp {!END!} $line]} {
+ break
+ }
+ }
+ puts $out "/* !END!: Do not edit above this line. */"
+ puts -nonewline $out [read $in]
+ close $in
+ close $out
+ file rename -force ${file}.new ${file}
+ return
+}
+
+# genStubs::addPlatformGuard --
+#
+# Wrap a string inside a platform #ifdef.
+#
+# Arguments:
+# plat Platform to test.
+#
+# Results:
+# Returns the original text inside an appropriate #ifdef.
+
+proc genStubs::addPlatformGuard {plat text} {
+ switch $plat {
+ win {
+ return "#ifdef __WIN32__\n${text}#endif /* __WIN32__ */\n"
+ }
+ unix {
+ return "#if !defined(__WIN32__) && !defined(MAC_TCL)\n${text}#endif /* UNIX */\n"
+ }
+ mac {
+ return "#ifdef MAC_TCL\n${text}#endif /* MAC_TCL */\n"
+ }
+ }
+ return "$text"
+}
+
+# genStubs::emitSlots --
+#
+# Generate the stub table slots for the given interface. If there
+# are no platform specific slots, then one table is generated for
+# all platforms, otherwise one table is generated for each platform.
+#
+# Arguments:
+# name The name of the interface being emitted.
+# textVar The variable to use for output.
+#
+# Results:
+# None.
+
+proc genStubs::emitSlots {name textVar} {
+ variable stubs
+ upvar $textVar text
+
+ set lastNum -1
+ if {[info exists stubs($name,generic,lastNum)]} {
+ set lastNum $stubs($name,generic,lastNum)
+ }
+ set output 0
+ foreach plat {win unix mac} {
+ if {[info exists stubs($name,$plat,lastNum)]} {
+ set num $stubs($name,$plat,lastNum)
+ if {$num < $lastNum} {
+ set num $lastNum
+ }
+ set temp ""
+ for {set i 0} {$i <= $num} {incr i} {
+ if {[info exists stubs($name,$plat,$i)]} {
+ if {[info exists stubs($name,generic,$i)]} {
+ puts stderr "platform entry duplicates generic entry: $i"
+ }
+ append temp [makeSlot $stubs($name,$plat,$i) $i]
+ } elseif {[info exists stubs($name,generic,$i)]} {
+ append temp [makeSlot $stubs($name,generic,$i) $i]
+ } else {
+ append temp " void *reserved$i;\n"
+ }
+ }
+ append text [addPlatformGuard $plat $temp]
+ set output 1
+ }
+ }
+ if {!$output} {
+ for {set i 0} {$i <= $lastNum} {incr i} {
+ if {[info exists stubs($name,generic,$i)]} {
+ append text [makeSlot $stubs($name,generic,$i) $i]
+ } else {
+ append text " void *reserved$i;\n"
+ }
+ }
+ }
+ return
+}
+
+# genStubs::parseDecl --
+#
+# Parse a C function declaration into its component parts.
+#
+# Arguments:
+# decl The function declaration.
+#
+# Results:
+# Returns a list of the form {returnType name args}. The args
+# element consists of a list of type/name pairs, or a single
+# element "void". If the function declaration is malformed
+# then an error is displayed and the return value is {}.
+
+proc genStubs::parseDecl {decl} {
+ if {![regexp {^(.*)\((.*)\)$} $decl all prefix args]} {
+ puts stderr "Malformed declaration: $decl"
+ return
+ }
+ set prefix [string trim $prefix]
+ if {![regexp {^(.+[ ][*]*)([^ *]+)$} $prefix all rtype fname]} {
+ puts stderr "Bad return type: $decl"
+ return
+ }
+ set rtype [string trim $rtype]
+ foreach arg [split $args ,] {
+ lappend argList [string trim $arg]
+ }
+ if {![string compare [lindex $argList end] "..."]} {
+ if {[llength $argList] != 2} {
+ puts stderr "Only one argument is allowed in varargs form: $decl"
+ }
+ set arg [parseArg [lindex $argList 0]]
+ if {$arg == "" || ([llength $arg] != 2)} {
+ puts stderr "Bad argument: '[lindex $argList 0]' in '$decl'"
+ return
+ }
+ set args [list TCL_VARARGS $arg]
+ } else {
+ set args {}
+ foreach arg $argList {
+ set argInfo [parseArg $arg]
+ if {![string compare $argInfo "void"]} {
+ lappend args "void"
+ break
+ } elseif {[llength $argInfo] == 2 || [llength $argInfo] == 3} {
+ lappend args $argInfo
+ } else {
+ puts stderr "Bad argument: '$arg' in '$decl'"
+ return
+ }
+ }
+ }
+ return [list $rtype $fname $args]
+}
+
+# genStubs::parseArg --
+#
+# This function parses a function argument into a type and name.
+#
+# Arguments:
+# arg The argument to parse.
+#
+# Results:
+# Returns a list of type and name with an optional third array
+# indicator. If the argument is malformed, returns "".
+
+proc genStubs::parseArg {arg} {
+ if {![regexp {^(.+[ ][*]*)([^][ *]+)(\[\])?$} $arg all type name array]} {
+ if {$arg == "void"} {
+ return $arg
+ } else {
+ return
+ }
+ }
+ set result [list [string trim $type] $name]
+ if {$array != ""} {
+ lappend result $array
+ }
+ return $result
+}
+
+# genStubs::makeDecl --
+#
+# Generate the prototype for a function.
+#
+# Arguments:
+# name The interface name.
+# decl The function declaration.
+# index The slot index for this function.
+#
+# Results:
+# Returns the formatted declaration string.
+
+proc genStubs::makeDecl {name decl index} {
+ lassign $decl rtype fname args
+
+ append text "/* $index */\n"
+ set line "EXTERN $rtype"
+ set count [expr {2 - ([string length $line] / 8)}]
+ append line [string range "\t\t\t" 0 $count]
+ set pad [expr {24 - [string length $line]}]
+ if {$pad <= 0} {
+ append line " "
+ set pad 0
+ }
+ append line "$fname _ANSI_ARGS_("
+
+ set arg1 [lindex $args 0]
+ switch -exact $arg1 {
+ void {
+ append line "(void)"
+ }
+ TCL_VARARGS {
+ set arg [lindex $args 1]
+ append line "TCL_VARARGS([lindex $arg 0],[lindex $arg 1])"
+ }
+ default {
+ set sep "("
+ foreach arg $args {
+ append line $sep
+ set next {}
+ append next [lindex $arg 0] " " [lindex $arg 1] \
+ [lindex $arg 2]
+ if {[string length $line] + [string length $next] \
+ + $pad > 76} {
+ append text $line \n
+ set line "\t\t\t\t"
+ set pad 28
+ }
+ append line $next
+ set sep ", "
+ }
+ append line ")"
+ }
+ }
+ append text $line
+
+ append text ");\n"
+ return $text
+}
+
+# genStubs::makeMacro --
+#
+# Generate the inline macro for a function.
+#
+# Arguments:
+# name The interface name.
+# decl The function declaration.
+# index The slot index for this function.
+#
+# Results:
+# Returns the formatted macro definition.
+
+proc genStubs::makeMacro {name decl index} {
+ lassign $decl rtype fname args
+
+ set lfname [string tolower [string index $fname 0]]
+ append lfname [string range $fname 1 end]
+
+ set text "#ifndef $fname\n#define $fname"
+ set arg1 [lindex $args 0]
+ set argList ""
+ switch -exact $arg1 {
+ void {
+ set argList "()"
+ }
+ TCL_VARARGS {
+ }
+ default {
+ set sep "("
+ foreach arg $args {
+ append argList $sep [lindex $arg 1]
+ set sep ", "
+ }
+ append argList ")"
+ }
+ }
+ append text $argList " \\\n\t(${name}StubsPtr->$lfname)$argList"
+ append text " /* $index */\n#endif\n"
+ return $text
+}
+
+# genStubs::makeStub --
+#
+# Emits a stub function definition.
+#
+# Arguments:
+# name The interface name.
+# decl The function declaration.
+# index The slot index for this function.
+#
+# Results:
+# Returns the formatted stub function definition.
+
+proc genStubs::makeStub {name decl index} {
+ lassign $decl rtype fname args
+
+ set lfname [string tolower [string index $fname 0]]
+ append lfname [string range $fname 1 end]
+
+ append text "/* Slot $index */\n" $rtype "\n" $fname
+
+ set arg1 [lindex $args 0]
+
+ if {![string compare $arg1 "TCL_VARARGS"]} {
+ lassign [lindex $args 1] type argName
+ append text " TCL_VARARGS_DEF($type,$argName)\n\{\n"
+ append text " " $type " var;\n va_list argList;\n"
+ if {[string compare $rtype "void"]} {
+ append text " " $rtype " resultValue;\n"
+ }
+ append text "\n var = (" $type ") TCL_VARARGS_START(" \
+ $type "," $argName ",argList);\n\n "
+ if {[string compare $rtype "void"]} {
+ append text "resultValue = "
+ }
+ append text "(" $name "StubsPtr->" $lfname "VA)(var, argList);\n"
+ append text " va_end(argList);\n"
+ if {[string compare $rtype "void"]} {
+ append text "return resultValue;\n"
+ }
+ append text "\}\n\n"
+ return $text
+ }
+
+ if {![string compare $arg1 "void"]} {
+ set argList "()"
+ set argDecls ""
+ } else {
+ set argList ""
+ set sep "("
+ foreach arg $args {
+ append argList $sep [lindex $arg 1]
+ append argDecls " " [lindex $arg 0] " " \
+ [lindex $arg 1] [lindex $arg 2] ";\n"
+ set sep ", "
+ }
+ append argList ")"
+ }
+ append text $argList "\n" $argDecls "{\n "
+ if {[string compare $rtype "void"]} {
+ append text "return "
+ }
+ append text "(" $name "StubsPtr->" $lfname ")" $argList ";\n}\n\n"
+ return $text
+}
+
+# genStubs::makeSlot --
+#
+# Generate the stub table entry for a function.
+#
+# Arguments:
+# decl The function declaration.
+# index The slot index for this function.
+#
+# Results:
+# Returns the formatted table entry.
+
+proc genStubs::makeSlot {decl index} {
+ lassign $decl rtype fname args
+
+ set lfname [string tolower [string index $fname 0]]
+ append lfname [string range $fname 1 end]
+
+ set text " "
+ append text $rtype " (*" $lfname ") _ANSI_ARGS_("
+
+ set arg1 [lindex $args 0]
+ switch -exact $arg1 {
+ void {
+ append text "(void)"
+ }
+ TCL_VARARGS {
+ set arg [lindex $args 1]
+ append text "TCL_VARARGS([lindex $arg 0],[lindex $arg 1])"
+ }
+ default {
+ set sep "("
+ foreach arg $args {
+ append text $sep [lindex $arg 0] " " [lindex $arg 1] \
+ [lindex $arg 2]
+ set sep ", "
+ }
+ append text ")"
+ }
+ }
+
+ append text "); /* $index */\n"
+ return $text
+}
+
+# genStubs::forAllStubs --
+#
+# This function iterates over all of the platforms and invokes
+# a callback for each slot. The result of the callback is then
+# placed inside appropriate platform guards.
+#
+# Arguments:
+# name The interface name.
+# slotProc The proc to invoke to handle the slot. It will
+# have the interface name, the declaration, and
+# the index appended.
+# textVar The variable to use for output.
+#
+# Results:
+# None.
+
+proc genStubs::forAllStubs {name slotProc textVar} {
+ variable stubs
+ upvar $textVar text
+
+ foreach plat {generic win unix mac} {
+ if {[info exists stubs($name,$plat,lastNum)]} {
+ set lastNum $stubs($name,$plat,lastNum)
+ set temp {}
+ for {set i 0} {$i <= $lastNum} {incr i} {
+ if {![info exists stubs($name,$plat,$i)]} {
+ append temp "/* Slot $i is reserved */\n"
+ } else {
+ append temp [$slotProc $name $stubs($name,$plat,$i) $i]
+ }
+ }
+ append text [addPlatformGuard $plat $temp]
+ }
+ }
+}
+
+# genStubs::emitDeclarations --
+#
+# This function emits the function declarations for this interface.
+#
+# Arguments:
+# name The interface name.
+# textVar The variable to use for output.
+#
+# Results:
+# None.
+
+proc genStubs::emitDeclarations {name textVar} {
+ variable stubs
+ upvar $textVar text
+
+ append text "\n/*\n * Exported function declarations:\n */\n\n"
+ forAllStubs $name makeDecl text
+ return
+}
+
+# genStubs::emitMacros --
+#
+# This function emits the inline macros for an interface.
+#
+# Arguments:
+# name The name of the interface being emitted.
+# textVar The variable to use for output.
+#
+# Results:
+# None.
+
+proc genStubs::emitMacros {name textVar} {
+ variable stubs
+ variable libraryName
+ upvar $textVar text
+
+ set upName [string toupper $libraryName]
+ append text "\n#if defined(USE_${upName}_STUBS) && !defined(USE_${upName}_STUB_PROCS)\n"
+ append text "\n/*\n * Inline function declarations:\n */\n\n"
+
+ forAllStubs $name makeMacro text
+
+ append text "\n#endif /* defined(USE_${upName}_STUBS) && !defined(USE_${upName}_STUB_PROCS) */\n"
+ return
+}
+
+# genStubs::emitHeader --
+#
+# This function emits the body of the <name>Decls.h file for
+# the specified interface.
+#
+# Arguments:
+# name The name of the interface being emitted.
+#
+# Results:
+# None.
+
+proc genStubs::emitHeader {name} {
+ variable outDir
+ variable hooks
+
+ set capName [string toupper [string index $name 0]]
+ append capName [string range $name 1 end]
+
+ emitDeclarations $name text
+
+ if {[info exists hooks($name)]} {
+ append text "\ntypedef struct ${capName}StubHooks {\n"
+ foreach hook $hooks($name) {
+ set capHook [string toupper [string index $hook 0]]
+ append capHook [string range $hook 1 end]
+ append text " struct ${capHook}Stubs *${hook}Stubs;\n"
+ }
+ append text "} ${capName}StubHooks;\n"
+ }
+ append text "\ntypedef struct ${capName}Stubs {\n"
+ append text " int magic;\n"
+ append text " struct ${capName}StubHooks *hooks;\n\n"
+
+ emitSlots $name text
+
+ append text "} ${capName}Stubs;\n"
+
+ append text "\nextern ${capName}Stubs *${name}StubsPtr;\n"
+
+ emitMacros $name text
+
+ rewriteFile [file join $outDir ${name}Decls.h] $text
+ return
+}
+
+# genStubs::emitStubs --
+#
+# This function emits the body of the <name>Stubs.c file for
+# the specified interface.
+#
+# Arguments:
+# name The name of the interface being emitted.
+#
+# Results:
+# None.
+
+proc genStubs::emitStubs {name} {
+ variable outDir
+
+ append text "\n/*\n * Exported stub functions:\n */\n\n"
+ forAllStubs $name makeStub text
+
+ rewriteFile [file join $outDir ${name}Stubs.c] $text
+ return
+}
+
+# genStubs::makeInit --
+#
+# Generate the table initializers for an interface.
+#
+# Arguments:
+# name The name of the interface to initialize.
+# textVar The variable to use for output.
+#
+# Results:
+# Returns the formatted output.
+
+proc genStubs::makeInit {name textVar} {
+ variable stubs
+ variable hooks
+ upvar $textVar text
+
+ set capName [string toupper [string index $name 0]]
+ append capName [string range $name 1 end]
+
+ if {[info exists hooks($name)]} {
+ append text "\nstatic ${capName}StubHooks ${name}StubHooks;\n"
+ }
+ append text "\n${capName}Stubs ${name}Stubs = \{\n"
+ append text " TCL_STUB_MAGIC,\n"
+ if {[info exists hooks($name)]} {
+ append text " &${name}StubHooks,\n"
+ } else {
+ append text " NULL,\n"
+ }
+
+ set lastNum -1
+ if {[info exists stubs($name,generic,lastNum)]} {
+ set lastNum $stubs($name,generic,lastNum)
+ }
+ set output 0
+ foreach plat {win unix mac} {
+ if {[info exists stubs($name,$plat,lastNum)]} {
+ set num $stubs($name,$plat,lastNum)
+ if {$num < $lastNum} {
+ set num $lastNum
+ }
+ set temp ""
+ for {set i 0} {$i <= $num} {incr i} {
+ append temp " "
+ if {[info exists stubs($name,$plat,$i)]} {
+ if {[info exists stubs($name,generic,$i)]} {
+ puts stderr "platform entry duplicates generic entry: $i"
+ }
+ append temp [lindex $stubs($name,$plat,$i) 1]
+ } elseif {[info exists stubs($name,generic,$i)]} {
+ append temp [lindex $stubs($name,generic,$i) 1]
+ } else {
+ append temp "NULL"
+ }
+ append temp ", /* $i */\n"
+ }
+ append text [addPlatformGuard $plat $temp]
+ set output 1
+ }
+ }
+ if {!$output} {
+ for {set i 0} {$i <= $lastNum} {incr i} {
+ append text " "
+ if {[info exists stubs($name,generic,$i)]} {
+ append text [lindex $stubs($name,generic,$i) 1]
+ } else {
+ append text "NULL"
+ }
+ append text ", /* $i */\n"
+ }
+ }
+ append text "\};\n\n"
+ append text "extern ${capName}Stubs *${name}StubsPtr = &${name}Stubs;\n"
+ return
+}
+
+# genStubs::emitInit --
+#
+# This function emits the body of the <name>StubInit.c file for
+# the specified interface.
+#
+# Arguments:
+# name The name of the interface being emitted.
+#
+# Results:
+# None.
+
+proc genStubs::emitInit {} {
+ variable hooks
+ variable outDir
+ variable libraryName
+ variable interfaces
+
+ foreach name [lsort [array names interfaces]] {
+ makeInit $name text
+ }
+
+
+ foreach name [array names hooks] {
+ set capName [string toupper [string index $name 0]]
+ append capName [string range $name 1 end]
+
+ append text "\nstatic ${capName}StubHooks ${name}StubHooks = \{\n"
+ set sep " "
+ foreach sub $hooks($name) {
+ append text $sep "&${sub}Stubs"
+ set sep ",\n "
+ }
+ append text "\n\};\n\n"
+ }
+
+ rewriteFile [file join $outDir ${libraryName}StubInit.c] $text
+}
+
+# genStubs::init --
+#
+# This is the main entry point.
+#
+# Arguments:
+# None.
+#
+# Results:
+# None.
+
+proc genStubs::init {} {
+ global argv
+ variable outDir
+ variable interfaces
+
+ if {[llength $argv] < 2} {
+ puts stderr "usage: $argv0 outDir declFile ?declFile...?"
+ exit 1
+ }
+
+ set outDir [lindex $argv 0]
+
+ foreach file [lrange $argv 1 end] {
+ source $file
+ }
+
+ foreach name [lsort [array names interfaces]] {
+ puts "Emitting $name"
+ emitHeader $name
+ emitStubs $name
+ }
+
+ emitInit
+}
+
+# lassign --
+#
+# This function emulates the TclX lassign command.
+#
+# Arguments:
+# valueList A list containing the values to be assigned.
+# args The list of variables to be assigned.
+#
+# Results:
+# Returns any values that were not assigned to variables.
+
+proc lassign {valueList args} {
+ if {[llength $args] == 0} {
+ error "wrong # args: lassign list varname ?varname..?"
+ }
+
+ uplevel [list foreach $args $valueList {break}]
+ return [lrange $valueList [llength $args] end]
+}
+
+genStubs::init