diff options
author | stanton <stanton> | 1999-03-03 00:38:36 (GMT) |
---|---|---|
committer | stanton <stanton> | 1999-03-03 00:38:36 (GMT) |
commit | cac8266789b6fd815045d6e5164000c8edc6d8ea (patch) | |
tree | 849861bf3d74413f366f02186d73fbfaa63ceb05 | |
parent | 531a666d600bbb937c43e9ec3a90e230548710a4 (diff) | |
download | tcl-cac8266789b6fd815045d6e5164000c8edc6d8ea.zip tcl-cac8266789b6fd815045d6e5164000c8edc6d8ea.tar.gz tcl-cac8266789b6fd815045d6e5164000c8edc6d8ea.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
43 files changed, 1541 insertions, 11599 deletions
diff --git a/doc/AddErrInfo.3 b/doc/AddErrInfo.3 index bf46867..346c957 100644 --- a/doc/AddErrInfo.3 +++ b/doc/AddErrInfo.3 @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: AddErrInfo.3,v 1.2 1998/09/14 18:39:45 stanton Exp $ +'\" RCS: @(#) $Id: AddErrInfo.3,v 1.2.4.1 1999/03/03 00:38:36 stanton Exp $ '\" .so man.macros .TH Tcl_AddErrorInfo 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_PosixError \- record information about errors +Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_SetErrorCodeVA, Tcl_PosixError \- record information about errors .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -24,6 +24,8 @@ Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_PosixError \- recor .sp \fBTcl_SetErrorCode\fR(\fIinterp, element, element, ... \fB(char *) NULL\fR) .sp +\fBTcl_SetErrorCodeVA\fR(\fIinterp, argList\fR) +.sp char * \fBTcl_PosixError\fR(\fIinterp\fR) .SH ARGUMENTS @@ -47,6 +49,9 @@ This variable \fBerrorCode\fR will be set to this value. .AP char *element in String to record as one element of \fBerrorCode\fR variable. Last \fIelement\fR argument must be NULL. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .BE .SH DESCRIPTION @@ -118,6 +123,9 @@ The procedure \fBTcl_SetErrorCode\fR is also used to set the record instead of an object. Otherwise, it is similar to \fBTcl_SetObjErrorCode\fR in behavior. .PP +\fBTcl_SetErrorCodeVA\fR is the same as \fBTcl_SetErrorCode\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_PosixError\fR sets the \fBerrorCode\fR variable after an error in a POSIX kernel call. It reads the value of the \fBerrno\fR C variable and calls @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: Eval.3,v 1.2 1998/09/14 18:39:48 stanton Exp $ +'\" RCS: @(#) $Id: Eval.3,v 1.2.4.1 1999/03/03 00:38:36 stanton Exp $ '\" .so man.macros .TH Tcl_Eval 3 7.0 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_Eval, Tcl_VarEval, Tcl_EvalFile, Tcl_GlobalEval \- execute Tcl commands +Tcl_Eval, Tcl_VarEval, Tcl_VarEvalVA, Tcl_EvalFile, Tcl_GlobalEval \- execute Tcl commands .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -23,6 +23,9 @@ int \fBTcl_VarEval\fR(\fIinterp, string, string, ... \fB(char *) NULL\fR) .sp int +\fBTcl_VarEvalVA\fR(\fIinterp, argList\fR) +.sp +int \fBTcl_EvalFile\fR(\fIinterp, fileName\fR) .sp int @@ -37,6 +40,9 @@ Command (or sequence of commands) to execute. Must be in writable memory (\fBTcl_Eval\fR makes temporary modifications to the command). .AP char *string in String forming part of Tcl command. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .AP char *fileName in Name of file containing Tcl command string. .BE @@ -76,6 +82,9 @@ It returns the result of the command and also modifies The last argument to \fBTcl_VarEval\fR must be NULL to indicate the end of arguments. .PP +\fBTcl_VarEvalVA\fR is the same as \fBTcl_VarEval\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_EvalFile\fR reads the file given by \fIfileName\fR and evaluates its contents as a Tcl command by calling \fBTcl_Eval\fR. It returns a standard Tcl result that reflects the result of evaluating the file. diff --git a/doc/PkgRequire.3 b/doc/PkgRequire.3 index daec40b..c3ca9b0 100644 --- a/doc/PkgRequire.3 +++ b/doc/PkgRequire.3 @@ -4,13 +4,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: PkgRequire.3,v 1.2 1998/09/14 18:39:49 stanton Exp $ +'\" RCS: @(#) $Id: PkgRequire.3,v 1.2.4.1 1999/03/03 00:38:37 stanton Exp $ '\" .so man.macros .TH Tcl_PkgRequire 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_PkgRequire, Tcl_PkgProvide \- package version control +Tcl_PkgRequire, Tcl_PkgRequireEx, Tcl_PkgPresent, Tcl_PkgPresentEx, Tcl_PkgProvide, Tcl_PkgProvideEx \- package version control .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -18,10 +18,22 @@ Tcl_PkgRequire, Tcl_PkgProvide \- package version control char * \fBTcl_PkgRequire\fR(\fIinterp, name, version, exact\fR) .sp +char * +\fBTcl_PkgRequireEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR) +.sp +char * +\fBTcl_PkgPresent\fR(\fIinterp, name, version, exact\fR) +.sp +char * +\fBTcl_PkgPresentEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR) +.sp int \fBTcl_PkgProvide\fR(\fIinterp, name, version\fR) +.sp +int +\fBTcl_PkgProvideEx\fR(\fIinterp, name, version, clientData\fR) .SH ARGUMENTS -.AS Tcl_FreeProc clientData +.AS Tcl_FreeProc clientDataPtr .AP Tcl_Interp *interp in Interpreter where package is needed or available. .AP char *name in @@ -35,25 +47,41 @@ Non-zero means that only the particular version specified by Zero means that newer versions than \fIversion\fR are also acceptable as long as they have the same major version number as \fIversion\fR. +.AP ClientData clientData in +Arbitrary value to be associated with the package. +.AP ClientData *clientDataPtr out +Pointer to place to store the value associated with the matching +package. It is only changed if the pointer is not NULL and the +function completed successfully. .BE .SH DESCRIPTION .PP These procedures provide C-level interfaces to Tcl's package and version management facilities. +.PP \fBTcl_PkgRequire\fR is equivalent to the \fBpackage require\fR +command, \fBTcl_PkgPresent\fR is equivalent to the \fBpackage present\fR command, and \fBTcl_PkgProvide\fR is equivalent to the \fBpackage provide\fR command. +.PP See the documentation for the Tcl commands for details on what these procedures do. -If \fBTcl_PkgRequire\fR completes successfully it returns a pointer -to the version string for the version of the package that is provided -in the interpreter (which may be different than \fIversion\fR); if -an error occurs it returns NULL and leaves an error message in -\fIinterp->result\fR. +.PP +If \fBTcl_PkgPresent\fR or \fBTcl_PkgRequire\fR complete successfully +they return a pointer to the version string for the version of the package +that is provided in the interpreter (which may be different than +\fIversion\fR); if an error occurs they return NULL and leave an error +message in \fIinterp->result\fR. +.PP \fBTcl_PkgProvide\fR returns TCL_OK if it completes successfully; if an error occurs it returns TCL_ERROR and leaves an error message in \fIinterp->result\fR. +.PP +\fBTcl_PkgProvideEx\fR, \fBTcl_PkgPresentEx\fR and \fBTcl_PkgRequireEx\fR +allow the setting and retrieving of the client data associated with +the package. In all other respects they are equivalent to the matching +functions. .SH KEYWORDS -package, provide, require, version +package, present, provide, require, version diff --git a/doc/SetResult.3 b/doc/SetResult.3 index 7387a98..2badf1e 100644 --- a/doc/SetResult.3 +++ b/doc/SetResult.3 @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: SetResult.3,v 1.2 1998/09/14 18:39:50 stanton Exp $ +'\" RCS: @(#) $Id: SetResult.3,v 1.2.4.1 1999/03/03 00:38:37 stanton Exp $ '\" .so man.macros .TH Tcl_SetResult 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_SetObjResult, Tcl_GetObjResult, Tcl_SetResult, Tcl_GetStringResult, Tcl_AppendResult, Tcl_AppendElement, Tcl_ResetResult \- manipulate Tcl result +Tcl_SetObjResult, Tcl_GetObjResult, Tcl_SetResult, Tcl_GetStringResult, Tcl_AppendResult, Tcl_AppendResultVA, Tcl_AppendElement, Tcl_ResetResult \- manipulate Tcl result .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -28,6 +28,8 @@ char * .sp \fBTcl_AppendResult\fR(\fIinterp, string, string, ... , \fB(char *) NULL\fR) .sp +\fBTcl_AppendResultVA\fR(\fIinterp, argList\fR) +.sp \fBTcl_AppendElement\fR(\fIinterp, string\fR) .sp \fBTcl_ResetResult\fR(\fIinterp\fR) @@ -46,6 +48,9 @@ appended to the existing result. Address of procedure to call to release storage at \fIstring\fR, or \fBTCL_STATIC\fR, \fBTCL_DYNAMIC\fR, or \fBTCL_VOLATILE\fR. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .BE .SH DESCRIPTION @@ -137,6 +142,9 @@ to a string, if necessary, before appending the argument strings. Any number of \fIstring\fR arguments may be passed in a single call; the last argument in the list must be a NULL pointer. .PP +\fBTcl_AppendResultVA\fR is the same as \fBTcl_AppendResult\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_AppendElement\fR is similar to \fBTcl_AppendResult\fR in that it allows results to be built up in pieces. However, \fBTcl_AppendElement\fR takes only a single \fIstring\fR diff --git a/doc/StringObj.3 b/doc/StringObj.3 index bd44170..d45f1bc 100644 --- a/doc/StringObj.3 +++ b/doc/StringObj.3 @@ -4,13 +4,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: StringObj.3,v 1.2 1998/09/14 18:39:50 stanton Exp $ +'\" RCS: @(#) $Id: StringObj.3,v 1.2.4.1 1999/03/03 00:38:37 stanton Exp $ '\" .so man.macros .TH Tcl_StringObj 3 8.0 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_NewStringObj, Tcl_SetStringObj, Tcl_GetStringFromObj, Tcl_AppendToObj, Tcl_AppendStringsToObj, Tcl_SetObjLength, TclConcatObj \- manipulate Tcl objects as strings +Tcl_NewStringObj, Tcl_SetStringObj, Tcl_GetStringFromObj, Tcl_AppendToObj, Tcl_AppendStringsToObj, Tcl_AppendStringsToObjVA, Tcl_SetObjLength, TclConcatObj \- manipulate Tcl objects as strings .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -27,6 +27,8 @@ char * .sp \fBTcl_AppendStringsToObj\fR(\fIobjPtr, string, string, ... \fB(char *) NULL\fR) .sp +\fBTcl_AppendStringsToObjVA\fR(\fIobjPtr, argList\fR) +.sp \fBTcl_SetObjLength\fR(\fIobjPtr, newLength\fR) .sp Tcl_Obj * @@ -49,6 +51,9 @@ If non-NULL, the location where \fBTcl_GetStringFromObj\fR will store the the length of an object's string representation. .AP char *string in Null-terminated string value to append to \fIobjPtr\fR. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .AP int newLength in New length for the string value of \fIobjPtr\fR, not including the final NULL character. @@ -99,6 +104,10 @@ values may contain internal null characters). Any number of \fIstring\fR arguments may be provided, but the last argument must be a NULL pointer to indicate the end of the list. .PP +\fBTcl_AppendStringsToObjVA\fR is the same as \fBTcl_AppendStringsToObj\fR +except that instead of taking a variable number of arguments it takes an +argument list. +.PP The \fBTcl_SetObjLength\fR procedure changes the length of the string value of its \fIobjPtr\fR argument. If the \fInewLength\fR argument is greater than the space allocated for the object's diff --git a/doc/package.n b/doc/package.n index 2a1b399..b1332c7 100644 --- a/doc/package.n +++ b/doc/package.n @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: package.n,v 1.2 1998/09/14 18:39:54 stanton Exp $ +'\" RCS: @(#) $Id: package.n,v 1.2.4.1 1999/03/03 00:38:37 stanton Exp $ '\" .so man.macros .TH package n 7.5 Tcl "Tcl Built-In Commands" @@ -17,6 +17,7 @@ package \- Facilities for package loading and version control \fBpackage forget \fIpackage\fR \fBpackage ifneeded \fIpackage version\fR ?\fIscript\fR? \fBpackage names\fR +\fBpackage present \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? \fBpackage provide \fIpackage \fR?\fIversion\fR? \fBpackage require \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? \fBpackage unknown \fR?\fIcommand\fR? @@ -75,6 +76,10 @@ interpreter for which a version has been provided (via script is available. The order of elements in the list is arbitrary. .TP +\fBpackage present \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? +This command is equivalent to \fBpackage require\fR except that it +does not try and load the package if it is not already loaded. +.TP \fBpackage provide \fIpackage \fR?\fIversion\fR? This command is invoked to indicate that version \fIversion\fR of package \fIpackage\fR is now present in the interpreter. diff --git a/generic/tclPanic.c b/generic/panic.c index af795e1..f7ea508 100644 --- a/generic/tclPanic.c +++ b/generic/panic.c @@ -1,21 +1,36 @@ /* - * tclPanic.c -- + * panic.c -- * - * Source code for the "Tcl_Panic" library procedure for Tcl; + * Source code for the "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: tclPanic.c,v 1.1 1999/03/03 00:38:42 stanton Exp $ + * RCS: @(#) $Id: panic.c,v 1.4 1998/09/14 18:39:56 stanton Exp $ */ -#include "tclInt.h" +#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)); /* * The panicProc variable contains a pointer to an application @@ -50,7 +65,7 @@ Tcl_SetPanicProc(proc) /* *---------------------------------------------------------------------- * - * Tcl_PanicVA -- + * panic -- * * Print an error message and kill the process. * @@ -63,28 +78,17 @@ Tcl_SetPanicProc(proc) *---------------------------------------------------------------------- */ + /* VARARGS ARGSUSED */ void -Tcl_PanicVA (format, argList) +panic(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) char *format; /* Format string, suitable for passing to * fprintf. */ - va_list argList; /* Variable argument list. */ + char *arg1, *arg2, *arg3; /* Additional arguments (variable in number) + * to pass to fprintf. */ + char *arg4, *arg5, *arg6, *arg7, *arg8; { - 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); @@ -93,31 +97,3 @@ Tcl_PanicVA (format, argList) 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/tcl.decls b/generic/tcl.decls deleted file mode 100644 index a398448..0000000 --- a/generic/tcl.decls +++ /dev/null @@ -1,950 +0,0 @@ -# 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/tcl.h b/generic/tcl.h index 77b25e5..939cb19 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.33 1999/02/03 02:58:25 stanton Exp $ + * RCS: @(#) $Id: tcl.h,v 1.33.4.1 1999/03/03 00:38:38 stanton Exp $ */ #ifndef _TCL @@ -151,10 +151,14 @@ */ #if defined(__STDC__) || defined(HAS_STDARG) +# include <stdarg.h> + # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type name, ...) # define TCL_VARARGS_START(type, name, list) (va_start(list, name), name) #else +# include <varargs.h> + # ifdef __cplusplus # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type va_alist, ...) @@ -172,43 +176,51 @@ * The default build on windows is for a DLL, which causes the DLLIMPORT * and DLLEXPORT macros to be nonempty. To build a static library, the * macro STATIC_BUILD should be defined. - * The support follows the convention that a macro called BUILD_xxxx, where - * xxxx is the name of a library we are building, is set on the compile line - * for sources that are to be placed in the library. See BUILD_tcl in this - * file for an example of how the macro is to be used. */ -#ifdef __WIN32__ -# ifdef STATIC_BUILD -# define DLLIMPORT -# define DLLEXPORT -# else -# if defined(_MSC_VER) || (defined(__GNUC__) && defined(__declspec)) +#ifdef STATIC_BUILD +# define DLLIMPORT +# define DLLEXPORT +#else +# if defined(__WIN32__) && (defined(_MSC_VER) || (defined(__GNUC__) && defined(__declspec))) # define DLLIMPORT __declspec(dllimport) # define DLLEXPORT __declspec(dllexport) -# else -# define DLLIMPORT -# define DLLEXPORT -# endif +# else +# define DLLIMPORT +# define DLLEXPORT # endif -#else -# define DLLIMPORT -# define DLLEXPORT #endif -#ifdef TCL_STORAGE_CLASS -# undef TCL_STORAGE_CLASS -#endif +/* + * These macros are used to control whether functions are being declared for + * import or export. If a function is being declared while it is being built + * to be included in a shared library, then it should have the DLLEXPORT + * storage class. If is being declared for use by a module that is going to + * link against the shared library, then it should have the DLLIMPORT storage + * class. If the symbol is beind declared for a static build or for use from a + * stub library, then the storage class should be empty. + * + * The convention is that a macro called BUILD_xxxx, where xxxx is the + * name of a library we are building, is set on the compile line for sources + * that are to be placed in the library. When this macro is set, the + * storage class will be set to DLLEXPORT. At the end of the header file, the + * storage class will be reset to DLLIMPORt. + */ + +#undef TCL_STORAGE_CLASS #ifdef BUILD_tcl # define TCL_STORAGE_CLASS DLLEXPORT #else -# define TCL_STORAGE_CLASS DLLIMPORT +# ifdef USE_TCL_STUBS +# define TCL_STORAGE_CLASS +# else +# define TCL_STORAGE_CLASS DLLIMPORT +# endif #endif /* * Definitions that allow this header file to be used either with or - * without ANSI C features like function prototypes. - */ + * without ANSI C features like function prototypes. */ #undef _ANSI_ARGS_ #undef CONST @@ -402,6 +414,7 @@ typedef void (Tcl_NamespaceDeleteProc) _ANSI_ARGS_((ClientData clientData)); typedef int (Tcl_ObjCmdProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * CONST objv[])); typedef int (Tcl_PackageInitProc) _ANSI_ARGS_((Tcl_Interp *interp)); +typedef void (Tcl_PanicProc) _ANSI_ARGS_(TCL_VARARGS(char *, format)); typedef void (Tcl_TcpAcceptProc) _ANSI_ARGS_((ClientData callbackData, Tcl_Channel chan, char *address, int port)); typedef void (Tcl_TimerProc) _ANSI_ARGS_((ClientData clientData)); @@ -509,19 +522,11 @@ EXTERN int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); * overridden to call debugging versions of the object creation procedures. */ -EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); -EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); -EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); -EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); -EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char *bytes, - int length)); - #ifdef TCL_MEM_DEBUG # define Tcl_NewBooleanObj(val) \ Tcl_DbNewBooleanObj(val, __FILE__, __LINE__) +# define Tcl_NewByteArrayObj(bytes, len) \ + Tcl_DbNewByteArrayObj(bytes, len, __FILE__, __LINE__) # define Tcl_NewDoubleObj(val) \ Tcl_DbNewDoubleObj(val, __FILE__, __LINE__) # define Tcl_NewIntObj(val) \ @@ -729,11 +734,6 @@ typedef struct Tcl_DString { * of debugging hooks defined in tclCkalloc.c. */ -EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); -EXTERN void Tcl_Free _ANSI_ARGS_((char *ptr)); -EXTERN char * Tcl_Realloc _ANSI_ARGS_((char *ptr, - unsigned int size)); - #ifdef TCL_MEM_DEBUG # define Tcl_Alloc(x) Tcl_DbCkalloc(x, __FILE__, __LINE__) @@ -743,10 +743,6 @@ EXTERN char * Tcl_Realloc _ANSI_ARGS_((char *ptr, # define ckfree(x) Tcl_DbCkfree(x, __FILE__, __LINE__) # define ckrealloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) -EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char *fileName)); -EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, - int line)); - #else /* @@ -1054,515 +1050,57 @@ typedef enum Tcl_PathType { } Tcl_PathType; /* - * Exported Tcl procedures: + * These function have been renamed. The old names are deprecated, but we + * define these macros for backwards compatibilty. */ -EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *message)); -EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *message, int length)); -EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr)); -EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN void Tcl_AppendResult _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,interp)); -EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj *objPtr, - char *bytes, int length)); -EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_( - TCL_VARARGS(Tcl_Obj *,interp)); -EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc *proc, - ClientData clientData)); -EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async)); -EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int code)); -EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); -EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void)); -EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char *src, - int *readPtr)); -EXTERN int Tcl_BadChannelOption _ANSI_ARGS_((Tcl_Interp *interp, - char *optionName, char *optionList)); -EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_((Tcl_IdleProc *idleProc, - ClientData clientData)); #define Tcl_Ckalloc Tcl_Alloc #define Tcl_Ckfree Tcl_Free #define Tcl_Ckrealloc Tcl_Realloc -EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN int Tcl_CommandComplete _ANSI_ARGS_((char *cmd)); -EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, char **argv)); -EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_((CONST char *src, - int length, char *dst, int flags)); -EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char *src, - char *dst, int flags)); -EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, Tcl_ObjType *typePtr)); -EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp *slave, - char *slaveCmd, Tcl_Interp *target, - char *targetCmd, int argc, char **argv)); -EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp *slave, - char *slaveCmd, Tcl_Interp *target, - char *targetCmd, int objc, - Tcl_Obj *CONST objv[])); -EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_(( - Tcl_ChannelType *typePtr, char *chanName, - ClientData instanceData, int mask)); -EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_(( - Tcl_Channel chan, int mask, - Tcl_ChannelProc *proc, ClientData clientData)); -EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_CloseProc *proc, - ClientData clientData)); -EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdProc *proc, - ClientData clientData, - Tcl_CmdDeleteProc *deleteProc)); -EXTERN void Tcl_CreateEventSource _ANSI_ARGS_(( - Tcl_EventSetupProc *setupProc, - Tcl_EventCheckProc *checkProc, - ClientData clientData)); -EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, - ClientData clientData)); -EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_(( - int fd, int mask, Tcl_FileProc *proc, - ClientData clientData)); -EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void)); -EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp *interp, - char *name, int numArgs, Tcl_ValueType *argTypes, - Tcl_MathProc *proc, ClientData clientData)); -EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_(( - Tcl_Interp *interp, char *cmdName, - Tcl_ObjCmdProc *proc, ClientData clientData, - Tcl_CmdDeleteProc *deleteProc)); -EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveName, int isSafe)); -EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds, - Tcl_TimerProc *proc, ClientData clientData)); -EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp *interp, - int level, Tcl_CmdTraceProc *proc, - ClientData clientData)); -EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, - char *file, int line)); -EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char *ptr, - char *file, int line)); -EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char *ptr, - unsigned int size, char *file, int line)); -EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[], char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char *bytes, - int length, char *file, int line)); -EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name)); -EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName)); -EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command command)); -EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_ChannelProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_CloseProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteEvents _ANSI_ARGS_(( - Tcl_EventDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_(( - Tcl_EventSetupProc *setupProc, - Tcl_EventCheckProc *checkProc, - ClientData clientData)); -EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); -EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_(( - Tcl_HashEntry *entryPtr)); -EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_(( - Tcl_HashTable *tablePtr)); -EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_(( - Tcl_TimerToken token)); -EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Trace trace)); -EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, Tcl_Pid *pidPtr)); -EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags)); -EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc *proc, - ClientData clientData)); -EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString *dsPtr, - CONST char *string, int length)); -EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_(( - Tcl_DString *dsPtr, CONST char *string)); -EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringGetResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringSetLength _ANSI_ARGS_((Tcl_DString *dsPtr, - int length)); -EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_(( - Tcl_DString *dsPtr)); -EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj *objPtr)); -EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN char * Tcl_ErrnoId _ANSI_ARGS_((void)); -EXTERN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err)); -EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName)); -EXTERN void Tcl_EventuallyFree _ANSI_ARGS_((ClientData clientData, - Tcl_FreeProc *freeProc)); -EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN void Tcl_Exit _ANSI_ARGS_((int status)); -EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *hiddenCmdToken, char *cmdName)); -EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *ptr)); -EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int *ptr)); -EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp *interp, - char *string, double *ptr)); -EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, double *ptr)); -EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp *interp, - char *string, long *ptr)); -EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, long *ptr)); -EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, Tcl_Obj **resultPtrPtr)); -EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN void Tcl_Finalize _ANSI_ARGS_((void)); -EXTERN void Tcl_FindExecutable _ANSI_ARGS_((char *argv0)); -EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_(( - Tcl_HashTable *tablePtr, - Tcl_HashSearch *searchPtr)); -EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj *objPtr)); -EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveCmd, Tcl_Interp **targetInterpPtr, - char **targetCmdPtr, int *argcPtr, - char ***argvPtr)); -EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveCmd, Tcl_Interp **targetInterpPtr, - char **targetCmdPtr, int *objcPtr, - Tcl_Obj ***objv)); -EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_InterpDeleteProc **procPtr)); -EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *boolPtr)); -EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr, - int *boolPtr)); -EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *chanName, int *modePtr)); -EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_(( - Tcl_Channel chan)); -EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan, - int direction, ClientData *handlePtr)); -EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_(( - Tcl_Channel chan)); -EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN char * Tcl_GetChannelName _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_GetChannelOption _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan, char *optionName, - Tcl_DString *dsPtr)); -EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdInfo *infoPtr)); -EXTERN char * Tcl_GetCommandName _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Command command)); -EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp *interp, - char *string, double *doublePtr)); -EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr, - double *doublePtr)); -EXTERN int Tcl_GetErrno _ANSI_ARGS_((void)); -EXTERN char * Tcl_GetHostName _ANSI_ARGS_((void)); -EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, char **tablePtr, char *msg, - int flags, int *indexPtr)); -EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *intPtr)); -EXTERN int Tcl_GetInterpPath _ANSI_ARGS_((Tcl_Interp *askInterp, - Tcl_Interp *slaveInterp)); -EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int *intPtr)); -EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, long *longPtr)); -EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN CONST char * Tcl_GetNameOfExecutable _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char *typeName)); -EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int write, int checkUsage, - ClientData *filePtr)); -EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((char *path)); -EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan, - Tcl_DString *dsPtr)); -EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan, - Tcl_Obj *objPtr)); -EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void)); -EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveName)); -EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type)); -EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int *lengthPtr)); -EXTERN char * Tcl_GetStringResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags)); -EXTERN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags)); -EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp *interp, - char *command)); -EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable *tablePtr)); -EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, char *hiddenCmdToken)); -EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_InitHashTable _ANSI_ARGS_((Tcl_HashTable *tablePtr, - int keyType)); -EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( - Tcl_Obj *objPtr)); -EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, char **argv, - Tcl_DString *resultPtr)); -EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, char *addr, int type)); -EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - Tcl_Obj *elemListPtr)); -EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - Tcl_Obj *objPtr)); -EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - int *objcPtr, Tcl_Obj ***objvPtr)); -EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int index, - Tcl_Obj **objPtrPtr)); -EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int *intPtr)); -EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int first, int count, - int objc, Tcl_Obj *CONST objv[])); -EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, - Tcl_AppInitProc *appInitProc)); -EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle, - int mode)); -EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_(( - ClientData tcpSocket)); -EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, char **argv)); -EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_(( - Tcl_HashSearch *searchPtr)); -EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel, - int mask)); -EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - int flags)); -EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - Tcl_Obj *newValuePtr, int flags)); -EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( - Tcl_Interp *interp, int argc, char **argv, - int flags)); -EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *modeString, - int permissions)); -EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp *interp, - int port, char *address, char *myaddr, - int myport, int async)); -EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp *interp, - int port, char *host, - Tcl_TcpAcceptProc *acceptProc, - ClientData callbackData)); -EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char **termPtr)); -EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp *interp, - char *name, char *version)); -EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp *interp, - char *name, char *version, int exact)); -EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data)); -EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp *interp, - double value, char *dst)); -EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char *string)); -EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event *evPtr, - Tcl_QueuePosition position)); -EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan, - char *bufPtr, int toRead)); -EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); -EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp *interp, - char *cmd, int flags)); -EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *cmdPtr, int flags)); -EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_RegExp regexp, char *string, char *start)); -EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *pattern)); -EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp, - int index, char **startPtr, char **endPtr)); -EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( - Tcl_ObjType *typePtr)); -EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData)); -EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp *interp)); #define Tcl_Return Tcl_SetResult -EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_((CONST char *string, - int length, int *flagPtr)); -EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char *string, - int *flagPtr)); -EXTERN int Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, - int offset, int mode)); -EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void)); -EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags)); -EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int boolValue)); -EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_(( - Tcl_Channel chan, int sz)); -EXTERN int Tcl_SetChannelOption _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Channel chan, - char *optionName, char *newValue)); -EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdInfo *infoPtr)); -EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj *objPtr, - double doubleValue)); -EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); -EXTERN void Tcl_SetErrorCode _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,arg1)); -EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int intValue)); -EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int objc, Tcl_Obj *CONST objv[])); -EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj *objPtr, - long longValue)); -EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *errorObjPtr)); -EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj *objPtr, - int length)); -EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *resultObjPtr)); -EXTERN void Tcl_SetPanicProc _ANSI_ARGS_((void (*proc) - _ANSI_ARGS_(TCL_VARARGS(char *, format)))); -EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_((Tcl_Interp *interp, - int depth)); -EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp *interp, - char *string, Tcl_FreeProc *freeProc)); -EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode)); -EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel, - int type)); -EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj *objPtr, - char *bytes, int length)); -EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, char *newValue, int flags)); -EXTERN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, char *newValue, - int flags)); -EXTERN char * Tcl_SignalId _ANSI_ARGS_((int sig)); -EXTERN char * Tcl_SignalMsg _ANSI_ARGS_((int sig)); -EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); -EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp *interp, - char *list, int *argcPtr, char ***argvPtr)); -EXTERN void Tcl_SplitPath _ANSI_ARGS_((char *path, - int *argcPtr, char ***argvPtr)); -EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp *interp, - char *pkgName, Tcl_PackageInitProc *initProc, - Tcl_PackageInitProc *safeInitProc)); -EXTERN int Tcl_StringMatch _ANSI_ARGS_((char *string, - char *pattern)); -EXTERN int Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan)); #define Tcl_TildeSubst Tcl_TranslateFileName -EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, Tcl_VarTraceProc *proc, - ClientData clientData)); -EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *proc, ClientData clientData)); -EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_DString *bufferPtr)); -EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, char *str, - int len, int atHead)); -EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName)); -EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags)); -EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags)); -EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, Tcl_VarTraceProc *proc, - ClientData clientData)); -EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *proc, ClientData clientData)); -EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName)); -EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp *interp, - char *frameName, char *varName, - char *localName, int flags)); -EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *frameName, char *part1, char *part2, - char *localName, int flags)); -EXTERN int Tcl_VarEval _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,interp)); -EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, - Tcl_VarTraceProc *procPtr, - ClientData prevClientData)); -EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *procPtr, - ClientData prevClientData)); -EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int *statPtr, - int options)); -EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, - char *s, int slen)); -EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], char *message)); +#define panic Tcl_Panic -#undef TCL_STORAGE_CLASS -#define TCL_STORAGE_CLASS +/* + * The following constant is used to test for older versions of Tcl + * in the stubs tables. + */ + +#define TCL_STUB_MAGIC 0xFCA1BACF + +/* + * The following function is required to be defined in all stubs aware + * extensions. The function is actually implemented in the stub + * library, not the main Tcl library. + */ + +EXTERN char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, + char *version, int exact)); + +/* + * Include the public function declarations that are accessible via + * the stubs table. + */ + +#include "tclDecls.h" + +/* + * For backwards compatibility reasons, we include the platform specific + * public function declarations on Unix. This will bring in the old + * file handler interfaces. + */ + +#if !defined(__WIN32__) && !defined(MAC_TCL) +#include "tclPlatDecls.h" +#endif + +/* + * Public functions that are not accessible via the stubs table. + */ + +EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp *interp)); +EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, + Tcl_AppInitProc *appInitProc)); /* * Convenience declaration of Tcl_AppInit for backwards compatibility. @@ -1570,7 +1108,10 @@ EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp *interp, * class is neither DLLEXPORT nor DLLIMPORT */ -EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS + +EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); #endif /* RESOURCE_INCLUDED */ diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 70c437e..59c6dbe 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.15 1999/02/03 00:55:04 stanton Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.15.4.1 1999/03/03 00:38:38 stanton Exp $ */ #include "tclInt.h" @@ -237,6 +237,35 @@ static CmdInfo builtInCmds[] = { /* *---------------------------------------------------------------------- * + * Tcl_InitStubs -- + * + * Ensures that the correct version of Tcl is loaded. This is + * a trivial implementation of the stubs library initializer + * that will get called if a stubs aware extension is directly + * linked with the Tcl library. + * + * Results: + * The actual version of Tcl that satisfies the request, or + * NULL to indicate that an error occurred. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +Tcl_InitStubs (interp, version, exact) + Tcl_Interp *interp; + char *version; + int exact; +{ + return Tcl_PkgRequire(interp, "Tcl", version, exact); +} + +/* + *---------------------------------------------------------------------- + * * Tcl_CreateInterp -- * * Create a new TCL command interpreter. @@ -340,6 +369,12 @@ Tcl_CreateInterp() iPtr->execEnvPtr = TclCreateExecEnv((Tcl_Interp *) iPtr); /* + * Initialise the stub table pointer. + */ + + iPtr->stubTable = tclStubsPtr; + + /* * Create the core commands. Do it here, rather than calling * Tcl_CreateCommand, because it's faster (there's no need to check for * a pre-existing command by the same name). If a command has a @@ -455,7 +490,8 @@ Tcl_CreateInterp() * Register Tcl's version number. */ - Tcl_PkgProvide((Tcl_Interp *) iPtr, "Tcl", TCL_VERSION); + Tcl_PkgProvideEx((Tcl_Interp *) iPtr, "Tcl", TCL_VERSION, + (ClientData) tclStubsPtr); return (Tcl_Interp *) iPtr; } @@ -3897,7 +3933,7 @@ Tcl_AddObjErrorInfo(interp, message, length) /* *---------------------------------------------------------------------- * - * Tcl_VarEval -- + * Tcl_VarEvalVA -- * * Given a variable number of string arguments, concatenate them * all together and execute the result as a Tcl command. @@ -3911,14 +3947,14 @@ Tcl_AddObjErrorInfo(interp, message, length) * *---------------------------------------------------------------------- */ - /* VARARGS2 */ /* ARGSUSED */ + int -Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_VarEvalVA (interp, argList) + Tcl_Interp *interp; /* Interpreter in which to evaluate command. */ + va_list argList; /* Variable argument list. */ { - va_list argList; Tcl_DString buf; char *string; - Tcl_Interp *interp; int result; /* @@ -3928,7 +3964,6 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) * space. */ - interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); Tcl_DStringInit(&buf); while (1) { string = va_arg(argList, char *); @@ -3937,7 +3972,6 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) } Tcl_DStringAppend(&buf, string, -1); } - va_end(argList); result = Tcl_Eval(interp, Tcl_DStringValue(&buf)); Tcl_DStringFree(&buf); @@ -3947,6 +3981,38 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) /* *---------------------------------------------------------------------- * + * Tcl_VarEval -- + * + * Given a variable number of string arguments, concatenate them + * all together and execute the result as a Tcl command. + * + * Results: + * A standard Tcl return result. An error message or other + * result may be left in interp->result. + * + * Side effects: + * Depends on what was done by the command. + * + *---------------------------------------------------------------------- + */ + /* VARARGS2 */ /* ARGSUSED */ +int +Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + int result; + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + result = Tcl_VarEvalVA(interp, argList); + va_end(argList); + + return result; +} + +/* + *---------------------------------------------------------------------- + * * Tcl_GlobalEval -- * * Evaluate a command at global level in an interpreter. diff --git a/generic/tclBinary.c b/generic/tclBinary.c index 60f3d90..a2b4c33 100644 --- a/generic/tclBinary.c +++ b/generic/tclBinary.c @@ -2,14 +2,15 @@ * tclBinary.c -- * * This file contains the implementation of the "binary" Tcl built-in - * command . + * command and the Tcl binary data object. * * Copyright (c) 1997 by 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: tclBinary.c,v 1.3 1998/09/14 18:39:57 stanton Exp $ + * RCS: @(#) $Id: tclBinary.c,v 1.3.4.1 1999/03/03 00:38:39 stanton Exp $ */ #include <math.h> @@ -28,11 +29,462 @@ * Prototypes for local procedures defined in this file: */ +static void DupByteArrayInternalRep _ANSI_ARGS_((Tcl_Obj *srcPtr, + Tcl_Obj *copyPtr)); +static int FormatNumber _ANSI_ARGS_((Tcl_Interp *interp, int type, + Tcl_Obj *src, unsigned char **cursorPtr)); +static void FreeByteArrayInternalRep _ANSI_ARGS_((Tcl_Obj *objPtr)); static int GetFormatSpec _ANSI_ARGS_((char **formatPtr, char *cmdPtr, int *countPtr)); -static int FormatNumber _ANSI_ARGS_((Tcl_Interp *interp, int type, - Tcl_Obj *src, char **cursorPtr)); -static Tcl_Obj * ScanNumber _ANSI_ARGS_((char *buffer, int type)); +static Tcl_Obj * ScanNumber _ANSI_ARGS_((unsigned char *buffer, + int type)); +static int SetByteArrayFromAny _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *objPtr)); +static void UpdateStringOfByteArray _ANSI_ARGS_((Tcl_Obj *listPtr)); + +/* + * The following object type represents an array of bytes. This type should + * be used to represent arbitrary binary data instead of a string object + * because although they are equivalent at the moment they will not be in + * future versions which support unicode. + */ + +Tcl_ObjType tclByteArrayType = { + "bytearray", + FreeByteArrayInternalRep, + DupByteArrayInternalRep, + UpdateStringOfByteArray, + SetByteArrayFromAny +}; + +/* + * The following structure is the internal rep for a ByteArray object. + * Keeps track of how much memory has been used and how much has been + * allocated for the byte array to enable growing and shrinking of the + * ByteArray object with fewer mallocs. + */ + +typedef struct ByteArray { + int used; /* The number of bytes used in the byte + * array. */ + int allocated; /* The amount of space actually allocated + * minus 1 byte. */ + unsigned char bytes[4]; /* The array of bytes. The actual size of + * this field depends on the 'allocated' field + * above. */ +} ByteArray; + +#define BYTEARRAY_SIZE(len) \ + ((unsigned) (sizeof(ByteArray) - 4 + (len))) +#define GET_BYTEARRAY(objPtr) \ + ((ByteArray *) (objPtr)->internalRep.otherValuePtr) +#define SET_BYTEARRAY(objPtr, baPtr) \ + (objPtr)->internalRep.otherValuePtr = (VOID *) (baPtr) + + +/* + *--------------------------------------------------------------------------- + * + * Tcl_NewByteArrayObj -- + * + * This procedure is normally called when not debugging: i.e., when + * TCL_MEM_DEBUG is not defined. It creates a new ByteArray object and + * initializes it from the given array of bytes. + * + * When TCL_MEM_DEBUG is defined, this procedure just returns the + * result of calling the debugging version Tcl_DbNewByteArrayObj. + * + * Results: + * The newly create object is returned. This object will have no + * initial string representation. The returned object has a ref count + * of 0. + * + * Side effects: + * Memory allocated for new object and copy of byte array argument. + * + *--------------------------------------------------------------------------- + */ + +#ifdef TCL_MEM_DEBUG +#undef Tcl_NewByteArrayObj + +Tcl_Obj * +Tcl_NewByteArrayObj(bytes, length) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + return Tcl_DbNewByteArrayObj(bytes, length, "unknown", 0); +} + +#else /* if not TCL_MEM_DEBUG */ + +Tcl_Obj * +Tcl_NewByteArrayObj(bytes, length) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + Tcl_Obj *objPtr; + + TclNewObj(objPtr); + Tcl_SetByteArrayObj(objPtr, bytes, length); + return objPtr; +} +#endif /* TCL_MEM_DEBUG */ + +/* + *--------------------------------------------------------------------------- + * + * Tcl_DbNewByteArrayObj -- + * + * This procedure is normally called when debugging: i.e., when + * TCL_MEM_DEBUG is defined. It is the same as the Tcl_NewByteArrayObj + * above except that it calls Tcl_DbCkalloc directly with the file name + * and line number from its caller. This simplifies debugging since then + * the checkmem command will report the correct file name and line number + * when reporting objects that haven't been freed. + * + * When TCL_MEM_DEBUG is not defined, this procedure just returns the + * result of calling Tcl_NewByteArrayObj. + * + * Results: + * The newly create object is returned. This object will have no + * initial string representation. The returned object has a ref count + * of 0. + * + * Side effects: + * Memory allocated for new object and copy of byte array argument. + * + *--------------------------------------------------------------------------- + */ + +#ifdef TCL_MEM_DEBUG + +Tcl_Obj * +Tcl_DbNewByteArrayObj(bytes, length, file, line) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ + char *file; /* The name of the source file calling this + * procedure; used for debugging. */ + int line; /* Line number in the source file; used + * for debugging. */ +{ + Tcl_Obj *objPtr; + + TclDbNewObj(objPtr, file, line); + Tcl_SetByteArrayObj(objPtr, bytes, length); + return objPtr; +} + +#else /* if not TCL_MEM_DEBUG */ + +Tcl_Obj * +Tcl_DbNewByteArrayObj(bytes, length, file, line) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ + char *file; /* The name of the source file calling this + * procedure; used for debugging. */ + int line; /* Line number in the source file; used + * for debugging. */ +{ + return Tcl_NewByteArrayObj(bytes, length); +} +#endif /* TCL_MEM_DEBUG */ + +/* + *--------------------------------------------------------------------------- + * + * Tcl_SetByteArrayObj -- + * + * Modify an object to be a ByteArray object and to have the specified + * array of bytes as its value. + * + * Results: + * None. + * + * Side effects: + * The object's old string rep and internal rep is freed. + * Memory allocated for copy of byte array argument. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_SetByteArrayObj(objPtr, bytes, length) + Tcl_Obj *objPtr; /* Object to initialize as a ByteArray. */ + unsigned char *bytes; /* The array of bytes to use as the new + * value. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + Tcl_ObjType *typePtr; + ByteArray *byteArrayPtr; + + if (Tcl_IsShared(objPtr)) { + panic("Tcl_SetByteArrayObj called with shared object"); + } + typePtr = objPtr->typePtr; + if ((typePtr != NULL) && (typePtr->freeIntRepProc != NULL)) { + (*typePtr->freeIntRepProc)(objPtr); + } + Tcl_InvalidateStringRep(objPtr); + + byteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + byteArrayPtr->used = length; + byteArrayPtr->allocated = length; + memcpy((VOID *) byteArrayPtr->bytes, (VOID *) bytes, (size_t) length); + + objPtr->typePtr = &tclByteArrayType; + SET_BYTEARRAY(objPtr, byteArrayPtr); +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_GetByteArrayFromObj -- + * + * Attempt to get the array of bytes from the Tcl object. If the + * object is not already a ByteArray object, an attempt will be + * made to convert it to one. + * + * Results: + * Pointer to array of bytes representing the ByteArray object. + * + * Side effects: + * Frees old internal rep. Allocates memory for new internal rep. + * + *---------------------------------------------------------------------- + */ + +unsigned char * +Tcl_GetByteArrayFromObj(objPtr, lengthPtr) + Tcl_Obj *objPtr; /* The ByteArray object. */ + int *lengthPtr; /* If non-NULL, filled with length of the + * array of bytes in the ByteArray object. */ +{ + ByteArray *baPtr; + + SetByteArrayFromAny(NULL, objPtr); + baPtr = GET_BYTEARRAY(objPtr); + + if (lengthPtr != NULL) { + *lengthPtr = baPtr->used; + } + return (unsigned char *) baPtr->bytes; +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_SetByteArrayLength -- + * + * This procedure changes the length of the byte array for this + * object. Once the caller has set the length of the array, it + * is acceptable to directly modify the bytes in the array up until + * Tcl_GetStringFromObj() has been called on this object. + * + * Results: + * The new byte array of the specified length. + * + * Side effects: + * Allocates enough memory for an array of bytes of the requested + * size. When growing the array, the old array is copied to the + * new array; new bytes are undefined. When shrinking, the + * old array is truncated to the specified length. + * + *--------------------------------------------------------------------------- + */ + +unsigned char * +Tcl_SetByteArrayLength(objPtr, length) + Tcl_Obj *objPtr; /* The ByteArray object. */ + int length; /* New length for internal byte array. */ +{ + ByteArray *byteArrayPtr, *newByteArrayPtr; + + if (Tcl_IsShared(objPtr)) { + panic("Tcl_SetObjLength called with shared object"); + } + if (objPtr->typePtr != &tclByteArrayType) { + SetByteArrayFromAny(NULL, objPtr); + } + + byteArrayPtr = GET_BYTEARRAY(objPtr); + if (length > byteArrayPtr->allocated) { + newByteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + newByteArrayPtr->used = length; + newByteArrayPtr->allocated = length; + memcpy((VOID *) newByteArrayPtr->bytes, + (VOID *) byteArrayPtr->bytes, (size_t) byteArrayPtr->used); + ckfree((char *) byteArrayPtr); + byteArrayPtr = newByteArrayPtr; + SET_BYTEARRAY(objPtr, byteArrayPtr); + } + Tcl_InvalidateStringRep(objPtr); + byteArrayPtr->used = length; + return byteArrayPtr->bytes; +} + +/* + *--------------------------------------------------------------------------- + * + * SetByteArrayFromAny -- + * + * Generate the ByteArray internal rep from the string rep. + * + * Results: + * The return value is always TCL_OK. + * + * Side effects: + * A ByteArray object is stored as the internal rep of objPtr. + * + *--------------------------------------------------------------------------- + */ + +static int +SetByteArrayFromAny(interp, objPtr) + Tcl_Interp *interp; /* Not used. */ + Tcl_Obj *objPtr; /* The object to convert to type ByteArray. */ +{ + Tcl_ObjType *typePtr; + int length; + char *src; + ByteArray *byteArrayPtr; + + typePtr = objPtr->typePtr; + if (typePtr != &tclByteArrayType) { + src = Tcl_GetStringFromObj(objPtr, &length); + + byteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + memcpy((VOID *) byteArrayPtr->bytes, (VOID *) src, (size_t) length); + + byteArrayPtr->used = length; + byteArrayPtr->allocated = length; + + if ((typePtr != NULL) && (typePtr->freeIntRepProc) != NULL) { + (*typePtr->freeIntRepProc)(objPtr); + } + objPtr->typePtr = &tclByteArrayType; + SET_BYTEARRAY(objPtr, byteArrayPtr); + } + return TCL_OK; +} + +/* + *---------------------------------------------------------------------- + * + * FreeByteArrayInternalRep -- + * + * Deallocate the storage associated with a ByteArray data object's + * internal representation. + * + * Results: + * None. + * + * Side effects: + * Frees memory. + * + *---------------------------------------------------------------------- + */ + +static void +FreeByteArrayInternalRep(objPtr) + Tcl_Obj *objPtr; /* Object with internal rep to free. */ +{ + ckfree((char *) GET_BYTEARRAY(objPtr)); +} + +/* + *--------------------------------------------------------------------------- + * + * DupByteArrayInternalRep -- + * + * Initialize the internal representation of a ByteArray Tcl_Obj + * to a copy of the internal representation of an existing ByteArray + * object. + * + * Results: + * None. + * + * Side effects: + * Allocates memory. + * + *--------------------------------------------------------------------------- + */ + +static void +DupByteArrayInternalRep(srcPtr, copyPtr) + Tcl_Obj *srcPtr; /* Object with internal rep to copy. */ + Tcl_Obj *copyPtr; /* Object with internal rep to set. */ +{ + int length; + ByteArray *srcArrayPtr, *copyArrayPtr; + + srcArrayPtr = GET_BYTEARRAY(srcPtr); + length = srcArrayPtr->used; + + copyArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + copyArrayPtr->used = length; + copyArrayPtr->allocated = length; + memcpy((VOID *) copyArrayPtr->bytes, (VOID *) srcArrayPtr->bytes, + (size_t) length); + SET_BYTEARRAY(copyPtr, copyArrayPtr); +} + +/* + *--------------------------------------------------------------------------- + * + * UpdateStringOfByteArray -- + * + * Update the string representation for a ByteArray data object. + * Note: This procedure does not invalidate an existing old string rep + * so storage will be lost if this has not already been done. + * + * Results: + * None. + * + * Side effects: + * The object's string is set to a valid string that results from + * the ByteArray-to-string conversion. + * + * The object becomes a string object -- the internal rep is + * discarded and the typePtr becomes NULL. + * + *--------------------------------------------------------------------------- + */ + +static void +UpdateStringOfByteArray(objPtr) + Tcl_Obj *objPtr; /* ByteArray object whose string rep to + * update. */ +{ + int length; + unsigned char *src; + char *dst; + ByteArray *byteArrayPtr; + + byteArrayPtr = GET_BYTEARRAY(objPtr); + src = byteArrayPtr->bytes; + length = byteArrayPtr->used; + + /* + * The byte array is the string representation. + */ + + dst = (char *) ckalloc((unsigned) (length + 1)); + objPtr->bytes = dst; + objPtr->length = length; + + memcpy((VOID *) dst, (VOID *) src, (size_t) length); + dst[length] = '\0'; +} /* *---------------------------------------------------------------------- @@ -65,13 +517,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) * character. */ char *format; /* Pointer to current position in format * string. */ - char *cursor; /* Current position within result buffer. */ - char *maxPos; /* Greatest position within result buffer that + Tcl_Obj *resultPtr; /* Object holding result buffer. */ + unsigned char *buffer; /* Start of result buffer. */ + unsigned char *cursor; /* Current position within result buffer. */ + unsigned char *maxPos; /* Greatest position within result buffer that * cursor has visited.*/ - char *buffer; /* Start of data buffer. */ char *errorString, *errorValue, *str; int offset, size, length; - Tcl_Obj *resultPtr; static char *subCmds[] = { "format", "scan", (char *) NULL }; enum { BinaryFormat, BinaryScan } index; @@ -121,7 +573,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto badIndex; } if (count == BINARY_ALL) { - (void)Tcl_GetStringFromObj(objv[arg], &count); + Tcl_GetByteArrayFromObj(objv[arg], &count); } else if (count == BINARY_NOCOUNT) { count = 1; } @@ -241,8 +693,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) */ resultPtr = Tcl_GetObjResult(interp); - Tcl_SetObjLength(resultPtr, length); - buffer = Tcl_GetStringFromObj(resultPtr, NULL); + buffer = Tcl_SetByteArrayLength(resultPtr, length); memset(buffer, 0, (size_t) length); /* @@ -267,8 +718,9 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) case 'a': case 'A': { char pad = (char) (cmd == 'a' ? '\0' : ' '); + unsigned char *bytes; - str = Tcl_GetStringFromObj(objv[arg++], &length); + bytes = Tcl_GetByteArrayFromObj(objv[arg++], &length); if (count == BINARY_ALL) { count = length; @@ -276,10 +728,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) count = 1; } if (length >= count) { - memcpy((VOID *) cursor, (VOID *) str, + memcpy((VOID *) cursor, (VOID *) bytes, (size_t) count); } else { - memcpy((VOID *) cursor, (VOID *) str, + memcpy((VOID *) cursor, (VOID *) bytes, (size_t) length); memset(cursor+length, pad, (size_t) (count - length)); @@ -289,7 +741,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'b': case 'B': { - char *last; + unsigned char *last; str = Tcl_GetStringFromObj(objv[arg++], &length); if (count == BINARY_ALL) { @@ -347,7 +799,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'h': case 'H': { - char *last; + unsigned char *last; int c; str = Tcl_GetStringFromObj(objv[arg++], &length); @@ -491,7 +943,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) "value formatString ?varName varName ...?"); return TCL_ERROR; } - buffer = Tcl_GetStringFromObj(objv[2], &length); + buffer = Tcl_GetByteArrayFromObj(objv[2], &length); format = Tcl_GetStringFromObj(objv[3], NULL); cursor = buffer; arg = 4; @@ -502,7 +954,9 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } switch (cmd) { case 'a': - case 'A': + case 'A': { + unsigned char *src; + if (arg >= objc) { goto badIndex; } @@ -517,7 +971,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } } - str = buffer + offset; + src = buffer + offset; size = count; /* @@ -526,13 +980,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (cmd == 'A') { while (size > 0) { - if (str[size-1] != '\0' && str[size-1] != ' ') { + if (src[size-1] != '\0' && src[size-1] != ' ') { break; } size--; } } - valuePtr = Tcl_NewStringObj(str, size); + valuePtr = Tcl_NewByteArrayObj(src, size); resultPtr = Tcl_ObjSetVar2(interp, objv[arg++], NULL, valuePtr, TCL_LEAVE_ERR_MSG | TCL_PARSE_PART1); @@ -542,8 +996,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } offset += count; break; + } case 'b': case 'B': { + unsigned char *src; char *dest; if (arg >= objc) { @@ -559,7 +1015,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } } - str = buffer + offset; + src = buffer + offset; valuePtr = Tcl_NewObj(); Tcl_SetObjLength(valuePtr, count); dest = Tcl_GetStringFromObj(valuePtr, NULL); @@ -569,7 +1025,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 8) { value >>= 1; } else { - value = *str++; + value = *src++; } *dest++ = (char) ((value & 1) ? '1' : '0'); } @@ -578,7 +1034,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 8) { value <<= 1; } else { - value = *str++; + value = *src++; } *dest++ = (char) ((value & 0x80) ? '1' : '0'); } @@ -596,6 +1052,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'h': case 'H': { + unsigned char *src; char *dest; int i; static char hexdigit[] = "0123456789abcdef"; @@ -613,7 +1070,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } } - str = buffer + offset; + src = buffer + offset; valuePtr = Tcl_NewObj(); Tcl_SetObjLength(valuePtr, count); dest = Tcl_GetStringFromObj(valuePtr, NULL); @@ -623,7 +1080,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 2) { value >>= 4; } else { - value = *str++; + value = *src++; } *dest++ = hexdigit[value & 0xf]; } @@ -632,7 +1089,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 2) { value <<= 4; } else { - value = *str++; + value = *src++; } *dest++ = hexdigit[(value >> 4) & 0xf]; } @@ -662,10 +1119,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) case 'f': size = sizeof(float); goto scanNumber; - case 'd': + case 'd': { + unsigned char *src; + size = sizeof(double); /* fall through */ - scanNumber: + + scanNumber: if (arg >= objc) { goto badIndex; } @@ -683,10 +1143,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } valuePtr = Tcl_NewObj(); - str = buffer+offset; + src = buffer+offset; for (i = 0; i < count; i++) { - elementPtr = ScanNumber(str, cmd); - str += size; + elementPtr = ScanNumber(src, cmd); + src += size; Tcl_ListObjAppendElement(NULL, valuePtr, elementPtr); } @@ -701,6 +1161,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) return TCL_ERROR; } break; + } case 'x': if (count == BINARY_NOCOUNT) { count = 1; @@ -860,7 +1321,7 @@ FormatNumber(interp, type, src, cursorPtr) * errors. */ int type; /* Type of number to format. */ Tcl_Obj *src; /* Number to format. */ - char **cursorPtr; /* Pointer to index into destination buffer. */ + unsigned char **cursorPtr; /* Pointer to index into destination buffer. */ { int value; double dvalue; @@ -942,7 +1403,7 @@ FormatNumber(interp, type, src, cursorPtr) static Tcl_Obj * ScanNumber(buffer, type) - char *buffer; /* Buffer to scan number from. */ + unsigned char *buffer; /* Buffer to scan number from. */ int type; /* Format character from "binary scan" */ { int value; diff --git a/generic/tclCkalloc.c b/generic/tclCkalloc.c index db33846..9961b98 100644 --- a/generic/tclCkalloc.c +++ b/generic/tclCkalloc.c @@ -12,7 +12,7 @@ * * This code contributed by Karl Lehenbauer and Mark Diekhans * - * RCS: @(#) $Id: tclCkalloc.c,v 1.2 1998/09/14 18:39:57 stanton Exp $ + * RCS: @(#) $Id: tclCkalloc.c,v 1.2.4.1 1999/03/03 00:38:39 stanton Exp $ */ #include "tclInt.h" @@ -661,7 +661,7 @@ Tcl_InitMemory(interp) (Tcl_CmdDeleteProc *) NULL); } -#else +#else /* TCL_MEM_DEBUG */ /* @@ -778,8 +778,8 @@ Tcl_DbCkfree(ptr, file, line) /* *---------------------------------------------------------------------- * - * Tcl_InitMemory -- - * Dummy initialization for memory command, which is only available + * Tcl_InitMemory, et al. -- + * Dummy implementations of memory routines, which is only available * if TCL_MEM_DEBUG is on. * *---------------------------------------------------------------------- @@ -794,10 +794,6 @@ Tcl_InitMemory(interp) #undef Tcl_DumpActiveMemory #undef Tcl_ValidateAllMemory -extern int Tcl_DumpActiveMemory _ANSI_ARGS_((char *fileName)); -extern void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, - int line)); - int Tcl_DumpActiveMemory(fileName) char *fileName; @@ -812,4 +808,10 @@ Tcl_ValidateAllMemory(file, line) { } -#endif +void +TclDumpMemoryInfo(outFile) + FILE *outFile; +{ +} + +#endif /* TCL_MEM_DEBUG */ diff --git a/generic/tclDecls.h b/generic/tclDecls.h deleted file mode 100644 index 420618f..0000000 --- a/generic/tclDecls.h +++ /dev/null @@ -1,2259 +0,0 @@ -/* - * 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/tclFileName.c b/generic/tclFileName.c index f76192f..a1c6a2e 100644 --- a/generic/tclFileName.c +++ b/generic/tclFileName.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclFileName.c,v 1.4 1999/02/03 19:12:26 stanton Exp $ + * RCS: @(#) $Id: tclFileName.c,v 1.4.4.1 1999/03/03 00:38:40 stanton Exp $ */ #include "tclInt.h" @@ -1084,17 +1084,13 @@ DoTildeSubst(interp, user, resultPtr) return NULL; } Tcl_JoinPath(1, &dir, resultPtr); - } else { - - /* lint, TclGetuserHome() always NULL under windows. */ - if (TclGetUserHome(user, resultPtr) == NULL) { - if (interp) { - Tcl_ResetResult(interp); - Tcl_AppendResult(interp, "user \"", user, "\" doesn't exist", - (char *) NULL); - } - return NULL; + } else if (TclpGetUserHome(user, resultPtr) == NULL) { + if (interp) { + Tcl_ResetResult(interp); + Tcl_AppendResult(interp, "user \"", user, "\" doesn't exist", + (char *) NULL); } + return NULL; } return resultPtr->string; } diff --git a/generic/tclInt.decls b/generic/tclInt.decls deleted file mode 100644 index 85d65aa..0000000 --- a/generic/tclInt.decls +++ /dev/null @@ -1,626 +0,0 @@ -# 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/tclInt.h b/generic/tclInt.h index 48d4018..bedf49e 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclInt.h,v 1.23 1999/02/03 21:28:00 stanton Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.23.4.1 1999/03/03 00:38:40 stanton Exp $ */ #ifndef _TCLINT @@ -52,15 +52,15 @@ #else #include <string.h> #endif -#if defined(__STDC__) || defined(HAS_STDARG) -# include <stdarg.h> -#else -# include <varargs.h> -#endif -#ifdef BUILD_tcl +#ifdef ACCESS_TCL_THROUGH_STUB # undef TCL_STORAGE_CLASS -# define TCL_STORAGE_CLASS DLLEXPORT +# define TCL_STORAGE_CLASS +#else +# ifdef BUILD_tcl +# undef TCL_STORAGE_CLASS +# define TCL_STORAGE_CLASS DLLEXPORT +# endif #endif /* @@ -989,9 +989,13 @@ typedef struct Interp { int errorLine; /* When TCL_ERROR is returned, this gives * the line number in the command where the * error occurred (1 means first line). */ - Tcl_Obj *objResultPtr; /* If the last command returned an object - * result, this points to it. Should not be - * accessed directly; see comment above. */ + struct TclStubs *stubTable; + /* Pointer to the exported Tcl stub table. + * On previous versions of Tcl this is a + * pointer to the objResultPtr or a pointer + * to a buckets array in a hash table. We + * therefore have to do some careful checking + * before we can use this. */ Namespace *globalNsPtr; /* The interpreter's global namespace. */ Tcl_HashTable mathFuncTable;/* Contains all the math functions currently * defined for the interpreter. Indexed by @@ -1120,6 +1124,9 @@ typedef struct Interp { * gross way. */ char resultSpace[TCL_RESULT_SIZE+1]; /* Static space holding small results. */ + Tcl_Obj *objResultPtr; /* If the last command returned an object + * result, this points to it. Should not be + * accessed directly; see comment above. */ } Interp; /* @@ -1385,6 +1392,7 @@ extern CONST TclFileAttrProcs tclpFileAttrProcs[]; */ extern Tcl_ObjType tclBooleanType; +extern Tcl_ObjType tclByteArrayType; extern Tcl_ObjType tclByteCodeType; extern Tcl_ObjType tclDoubleType; extern Tcl_ObjType tclIntType; @@ -1419,272 +1427,14 @@ extern char * tclEmptyStringRep; *---------------------------------------------------------------- */ -EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format)); -EXTERN int TclAccess _ANSI_ARGS_((CONST char *path, - int mode)); -EXTERN int TclAccessDeleteProc _ANSI_ARGS_((TclAccessProc_ *proc)); -EXTERN int TclAccessInsertProc _ANSI_ARGS_((TclAccessProc_ *proc)); -EXTERN void TclAllocateFreeObjects _ANSI_ARGS_((void)); -EXTERN int TclChdir _ANSI_ARGS_((Tcl_Interp *interp, - char *dirName)); -EXTERN int TclCleanupChildren _ANSI_ARGS_((Tcl_Interp *interp, - int numPids, Tcl_Pid *pidPtr, - Tcl_Channel errorChan)); -EXTERN void TclCleanupCommand _ANSI_ARGS_((Command *cmdPtr)); -EXTERN int TclCopyAndCollapse _ANSI_ARGS_((int count, - char *src, char *dst)); -EXTERN int TclCopyChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel inChan, Tcl_Channel outChan, - int toRead, Tcl_Obj *cmdPtr)); -/* - * TclCreatePipeline unofficially exported for use by BLT. - */ -EXTERN int TclCreatePipeline _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, Tcl_Pid **pidArrayPtr, - TclFile *inPipePtr, TclFile *outPipePtr, - TclFile *errFilePtr)); -EXTERN int TclCreateProc _ANSI_ARGS_((Tcl_Interp *interp, - Namespace *nsPtr, char *procName, - Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, - Proc **procPtrPtr)); -EXTERN void TclDeleteCompiledLocalVars _ANSI_ARGS_(( - Interp *iPtr, CallFrame *framePtr)); -EXTERN void TclDeleteVars _ANSI_ARGS_((Interp *iPtr, - Tcl_HashTable *tablePtr)); -EXTERN int TclDoGlob _ANSI_ARGS_((Tcl_Interp *interp, - char *separators, Tcl_DString *headPtr, - char *tail)); -EXTERN void TclDumpMemoryInfo _ANSI_ARGS_((FILE *outFile)); -EXTERN void TclExpandParseValue _ANSI_ARGS_((ParseValue *pvPtr, - int needed)); -EXTERN void TclExprFloatError _ANSI_ARGS_((Tcl_Interp *interp, - double value)); -EXTERN int TclFileAttrsCmd _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[])); -EXTERN int TclFileCopyCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN int TclFileDeleteCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN int TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void)); -EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void)); -EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void)); -EXTERN int TclFindElement _ANSI_ARGS_((Tcl_Interp *interp, - char *list, int listLength, char **elementPtr, - char **nextPtr, int *sizePtr, int *bracePtr)); -EXTERN Proc * TclFindProc _ANSI_ARGS_((Interp *iPtr, - char *procName)); -EXTERN int TclFormatInt _ANSI_ARGS_((char *buffer, long n)); -EXTERN void TclFreePackageInfo _ANSI_ARGS_((Interp *iPtr)); -EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN char * TclGetCwd _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclGetDate _ANSI_ARGS_((char *p, - unsigned long now, long zone, - unsigned long *timePtr)); -EXTERN Tcl_Channel TclGetDefaultStdChannel _ANSI_ARGS_((int type)); -EXTERN Tcl_Obj * TclGetElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, int leaveErrorMsg)); -EXTERN char * TclGetEnv _ANSI_ARGS_((CONST char *name)); -EXTERN char * TclGetExtension _ANSI_ARGS_((char *name)); -EXTERN int TclGetFrame _ANSI_ARGS_((Tcl_Interp *interp, - char *string, CallFrame **framePtrPtr)); -EXTERN TclCmdProcType TclGetInterpProc _ANSI_ARGS_((void)); -EXTERN int TclGetIntForIndex _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int endValue, int *indexPtr)); -EXTERN Tcl_Obj * TclGetIndexedScalar _ANSI_ARGS_((Tcl_Interp *interp, - int localIndex, int leaveErrorMsg)); -EXTERN int TclGetLong _ANSI_ARGS_((Tcl_Interp *interp, - char *string, long *longPtr)); -EXTERN int TclGetLoadedPackages _ANSI_ARGS_(( - Tcl_Interp *interp, char *targetName)); -EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_(( - Tcl_Interp *interp, char *qualName, - Namespace *cxtNsPtr, int flags, - Namespace **nsPtrPtr, Namespace **altNsPtrPtr, - Namespace **actualCxtPtrPtr, - char **simpleNamePtr)); -EXTERN TclObjCmdProcType TclGetObjInterpProc _ANSI_ARGS_((void)); -EXTERN int TclGetOpenMode _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *seekFlagPtr)); -EXTERN Tcl_Command TclGetOriginalCommand _ANSI_ARGS_(( - Tcl_Command command)); -EXTERN char * TclGetUserHome _ANSI_ARGS_((char *name, - Tcl_DString *bufferPtr)); -EXTERN int TclGlobalInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, int flags)); -EXTERN int TclGuessPackageName _ANSI_ARGS_((char *fileName, - Tcl_DString *bufPtr)); -EXTERN int TclHasSockets _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclHideUnsafeCommands _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN int TclInExit _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * TclIncrElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, long incrAmount)); -EXTERN Tcl_Obj * TclIncrIndexedScalar _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - long incrAmount)); -EXTERN Tcl_Obj * TclIncrVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - long incrAmount, int part1NotParsed)); -EXTERN void TclInitCompiledLocals _ANSI_ARGS_(( - Tcl_Interp *interp, CallFrame *framePtr, - Namespace *nsPtr)); -EXTERN void TclInitNamespaces _ANSI_ARGS_((void)); -EXTERN int TclInterpInit _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, int flags)); -EXTERN int TclInvokeObjectCommand _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclInvokeStringCommand _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[])); -EXTERN Proc * TclIsProc _ANSI_ARGS_((Command *cmdPtr)); -EXTERN int TclLoadFile _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *sym1, char *sym2, - Tcl_PackageInitProc **proc1Ptr, - Tcl_PackageInitProc **proc2Ptr)); -EXTERN int TclLooksLikeInt _ANSI_ARGS_((char *p)); -EXTERN Var * TclLookupVar _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, char *msg, - int createPart1, int createPart2, - Var **arrayPtrPtr)); -EXTERN int TclMatchFiles _ANSI_ARGS_((Tcl_Interp *interp, - char *separators, Tcl_DString *dirPtr, - char *pattern, char *tail)); -EXTERN int TclNeedSpace _ANSI_ARGS_((char *start, char *end)); -EXTERN Tcl_Obj * TclNewProcBodyObj _ANSI_ARGS_((Proc *procPtr)); -EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj *cmdPtr)); -EXTERN int TclObjInterpProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj *CONST objv[])); -EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], int flags)); -EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], int flags)); -EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_(( - TclOpenFileChannelProc_ *proc)); -EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_(( - TclOpenFileChannelProc_ *proc)); -EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); - -/* - * On a Mac, we can exit gracefully if the stack gets too small. +/* + * The following macro is implemented as a function on the Mac. */ -#ifdef MAC_TCL -EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void)); -#else -#define TclpCheckStackSpace() (1) +#ifndef MAC_TCL +#define TclpCheckStackSpace()(1) #endif -EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file)); -EXTERN int TclpCopyFile _ANSI_ARGS_((char *source, char *dest)); -EXTERN int TclpCopyDirectory _ANSI_ARGS_((char *source, - char *dest, Tcl_DString *errorPtr)); -EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( - TclFile readFile, TclFile writeFile, - TclFile errorFile, int numPids, Tcl_Pid *pidPtr)); -EXTERN int TclpCreateDirectory _ANSI_ARGS_((char *path)); -EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile *readPipe, - TclFile *writePipe)); -EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, TclFile inputFile, - TclFile outputFile, TclFile errorFile, - Tcl_Pid *pidPtr)); -EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char *contents, - Tcl_DString *namePtr)); -EXTERN int TclpDeleteFile _ANSI_ARGS_((char *path)); -EXTERN void TclpFinalize _ANSI_ARGS_((void)); -EXTERN void TclpFree _ANSI_ARGS_((char *ptr)); -EXTERN unsigned long TclpGetClicks _ANSI_ARGS_((void)); -EXTERN unsigned long TclpGetSeconds _ANSI_ARGS_((void)); -EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time *time)); -EXTERN int TclpGetTimeZone _ANSI_ARGS_((unsigned long time)); -EXTERN char * TclpGetTZName _ANSI_ARGS_((void)); -EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, - int direction)); -EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char *fname, int mode)); -EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *modeString, - int permissions)); -EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, - unsigned int size)); -EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char *path, - int recursive, Tcl_DString *errorPtr)); -EXTERN int TclpRenameFile _ANSI_ARGS_((char *source, char *dest)); -#ifndef TclpSysAlloc -EXTERN VOID * TclpSysAlloc _ANSI_ARGS_((long size, int isBin)); -#endif -#ifndef TclpSysFree -EXTERN void TclpSysFree _ANSI_ARGS_((VOID *ptr)); -#endif -#ifndef TclpSysRealloc -EXTERN VOID * TclpSysRealloc _ANSI_ARGS_((VOID *cp, - unsigned int size)); -#endif -EXTERN int TclParseBraces _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char **termPtr, ParseValue *pvPtr)); -EXTERN int TclParseNestedCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int flags, char **termPtr, - ParseValue *pvPtr)); -EXTERN int TclParseQuotes _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int termChar, int flags, - char **termPtr, ParseValue *pvPtr)); -EXTERN void TclPlatformExit _ANSI_ARGS_((int status)); -EXTERN void TclPlatformInit _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char * TclPrecTraceProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, char *name1, char *name2, - int flags)); -EXTERN int TclPreventAliasLoop _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Interp *cmdInterp, Tcl_Command cmd)); -EXTERN void TclPrintByteCodeObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN void TclProcCleanupProc _ANSI_ARGS_((Proc *procPtr)); -EXTERN int TclProcCompileProc _ANSI_ARGS_((Tcl_Interp *interp, - Proc *procPtr, Tcl_Obj *bodyPtr, Namespace *nsPtr, - CONST char *description, CONST char *procName)); -EXTERN void TclProcDeleteProc _ANSI_ARGS_((ClientData clientData)); -EXTERN int TclProcInterpProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, char **argv)); -EXTERN int TclRenameCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *oldName, char *newName)) ; -EXTERN void TclResetShadowedCmdRefs _ANSI_ARGS_(( - Tcl_Interp *interp, Command *newCmdPtr)); -EXTERN int TclServiceIdle _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * TclSetElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, Tcl_Obj *objPtr, - int leaveErrorMsg)); -EXTERN Tcl_Obj * TclSetIndexedScalar _ANSI_ARGS_((Tcl_Interp *interp, - int localIndex, Tcl_Obj *objPtr, - int leaveErrorMsg)); -EXTERN char * TclSetPreInitScript _ANSI_ARGS_((char *string)); -EXTERN void TclSetupEnv _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclSockGetPort _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *proto, int *portPtr)); -EXTERN int TclSockMinimumBuffers _ANSI_ARGS_((int sock, - int size)); -EXTERN int TclStat _ANSI_ARGS_((CONST char *path, - TclStat_ *buf)); -EXTERN int TclStatDeleteProc _ANSI_ARGS_((TclStatProc_ *proc)); -EXTERN int TclStatInsertProc _ANSI_ARGS_((TclStatProc_ *proc)); -EXTERN void TclTeardownNamespace _ANSI_ARGS_((Namespace *nsPtr)); -EXTERN int TclTestChannelCmd _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, char **argv)); -EXTERN int TclTestChannelEventCmd _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclUpdateReturnInfo _ANSI_ARGS_((Interp *iPtr)); -EXTERN char * TclWordEnd _ANSI_ARGS_((char *start, char *lastChar, - int nested, int *semiPtr)); /* *---------------------------------------------------------------- @@ -1759,7 +1509,7 @@ EXTERN int Tcl_IncrCmd _ANSI_ARGS_((ClientData clientData, EXTERN int Tcl_InfoObjCmd _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_InterpObjCmd _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, Tcl_Obj *CONST objv[])); + Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_JoinObjCmd _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_LappendObjCmd _ANSI_ARGS_((ClientData clientData, @@ -1866,43 +1616,6 @@ EXTERN int Tcl_ResourceObjCmd _ANSI_ARGS_((ClientData clientData, /* *---------------------------------------------------------------- - * Compilation procedures for commands in the generic core: - *---------------------------------------------------------------- - */ - -EXTERN int TclCompileBreakCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileCatchCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileContinueCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileExprCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileForCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileForeachCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileIfCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileIncrCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileSetCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); - -/* - *---------------------------------------------------------------- * Macros used by the Tcl core to create and release Tcl objects. * TclNewObj(objPtr) creates a new object denoting an empty string. * TclDecrRefCount(objPtr) decrements the object's reference count, @@ -2073,72 +1786,11 @@ EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp *interp, } /* - *---------------------------------------------------------------- - * Procedures used in conjunction with Tcl namespaces. They are - * defined here instead of in tcl.h since they are not stable yet. - *---------------------------------------------------------------- + * Include the declarations for functions that are accessible via + * the stubs table. */ -EXTERN void Tcl_AddInterpResolvers _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_ResolveCmdProc *cmdProc, - Tcl_ResolveVarProc *varProc, - Tcl_ResolveCompiledVarProc *compiledVarProc)); -EXTERN int Tcl_AppendExportList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Namespace *nsPtr, - Tcl_Obj *objPtr)); -EXTERN Tcl_Namespace * Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, ClientData clientData, - Tcl_NamespaceDeleteProc *deleteProc)); -EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_(( - Tcl_Namespace *nsPtr)); -EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern, - int resetListFirst)); -EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *contextNsPtr, - int flags)); -EXTERN Tcl_Namespace * Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *contextNsPtr, - int flags)); -EXTERN int Tcl_GetInterpResolvers _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_ResolverInfo *resInfo)); -EXTERN int Tcl_GetNamespaceResolvers _ANSI_ARGS_(( - Tcl_Namespace *namespacePtr, - Tcl_ResolverInfo *resInfo)); -EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Var variable, - Tcl_Obj *objPtr)); -EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_(( - Tcl_Interp *interp, char *name, - Tcl_Namespace *contextNsPtr, int flags)); -EXTERN int Tcl_ForgetImport _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern)); -EXTERN Tcl_Command Tcl_GetCommandFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr)); -EXTERN void Tcl_GetCommandFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command command, - Tcl_Obj *objPtr)); -EXTERN Tcl_Namespace * Tcl_GetCurrentNamespace _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Var variable, - Tcl_Obj *objPtr)); -EXTERN int Tcl_Import _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern, - int allowOverwrite)); -EXTERN void Tcl_PopCallFrame _ANSI_ARGS_((Tcl_Interp* interp)); -EXTERN int Tcl_PushCallFrame _ANSI_ARGS_((Tcl_Interp* interp, - Tcl_CallFrame *framePtr, Tcl_Namespace *nsPtr, - int isProcCallFrame)); -EXTERN int Tcl_RemoveInterpResolvers _ANSI_ARGS_(( - Tcl_Interp *interp, char *name)); -EXTERN void Tcl_SetNamespaceResolvers _ANSI_ARGS_(( - Tcl_Namespace *namespacePtr, - Tcl_ResolveCmdProc *cmdProc, - Tcl_ResolveVarProc *varProc, - Tcl_ResolveCompiledVarProc *compiledVarProc)); +#include "tclIntDecls.h" # undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h deleted file mode 100644 index 6f9dba0..0000000 --- a/generic/tclIntDecls.h +++ /dev/null @@ -1,1324 +0,0 @@ -/* - * 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 deleted file mode 100644 index 35d5b95..0000000 --- a/generic/tclIntPlatDecls.h +++ /dev/null @@ -1,159 +0,0 @@ -/* - * 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 deleted file mode 100644 index 1a10ac5..0000000 --- a/generic/tclIntPlatStubs.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * 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 deleted file mode 100644 index 34ea414..0000000 --- a/generic/tclIntStubs.c +++ /dev/null @@ -1,1529 +0,0 @@ -/* - * 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/tclObj.c b/generic/tclObj.c index 83a05df..ccdae48 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclObj.c,v 1.3 1998/10/05 22:32:09 escoffon Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.3.4.1 1999/03/03 00:38:41 stanton Exp $ */ #include "tclInt.h" @@ -129,6 +129,7 @@ InitTypeTable() Tcl_InitHashTable(&typeTable, TCL_STRING_KEYS); Tcl_RegisterObjType(&tclBooleanType); + Tcl_RegisterObjType(&tclByteArrayType); Tcl_RegisterObjType(&tclDoubleType); Tcl_RegisterObjType(&tclIntType); Tcl_RegisterObjType(&tclStringType); diff --git a/generic/tclPkg.c b/generic/tclPkg.c index 883b092..dec76c7 100644 --- a/generic/tclPkg.c +++ b/generic/tclPkg.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclPkg.c,v 1.2 1998/09/14 18:40:01 stanton Exp $ + * RCS: @(#) $Id: tclPkg.c,v 1.2.4.1 1999/03/03 00:38:42 stanton Exp $ */ #include "tclInt.h" @@ -43,6 +43,7 @@ typedef struct Package { * exist in this interpreter yet. */ PkgAvail *availPtr; /* First in list of all available versions * of this package. */ + ClientData clientData; /* Client data. */ } Package; /* @@ -59,7 +60,7 @@ static Package * FindPackage _ANSI_ARGS_((Tcl_Interp *interp, /* *---------------------------------------------------------------------- * - * Tcl_PkgProvide -- + * Tcl_PkgProvide / Tcl_PkgProvideEx -- * * This procedure is invoked to declare that a particular version * of a particular package is now present in an interpreter. There @@ -86,12 +87,25 @@ Tcl_PkgProvide(interp, name, version) char *name; /* Name of package. */ char *version; /* Version string for package. */ { + return Tcl_PkgProvideEx(interp, name, version, (ClientData) NULL); +} + +int +Tcl_PkgProvideEx(interp, name, version, clientData) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of package. */ + char *version; /* Version string for package. */ + ClientData clientData; /* clientdata for this package (normally + * used for C callback function table) */ +{ Package *pkgPtr; pkgPtr = FindPackage(interp, name); if (pkgPtr->version == NULL) { pkgPtr->version = ckalloc((unsigned) (strlen(version) + 1)); strcpy(pkgPtr->version, version); + pkgPtr->clientData = clientData; return TCL_OK; } if (ComparePkgVersions(pkgPtr->version, version, (int *) NULL) == 0) { @@ -105,7 +119,7 @@ Tcl_PkgProvide(interp, name, version) /* *---------------------------------------------------------------------- * - * Tcl_PkgRequire -- + * Tcl_PkgRequire / Tcl_PkgRequireEx -- * * This procedure is called by code that depends on a particular * version of a particular package. If the package is not already @@ -143,6 +157,25 @@ Tcl_PkgRequire(interp, name, version, exact) * version given is acceptable. Zero means * use the latest compatible version. */ { + return Tcl_PkgRequireEx(interp, name, version, exact, (ClientData *) NULL); +} + +char * +Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ + ClientData *clientDataPtr; /* Used to return the client data for this + * package. If it is NULL then the client + * data is not returned. This is unchanged + * if this call fails for any reason. */ +{ Package *pkgPtr; PkgAvail *availPtr, *bestPtr; char *script; @@ -150,6 +183,22 @@ Tcl_PkgRequire(interp, name, version, exact) Tcl_DString command; /* + * If an attempt is being made to load this into a standalong executable + * on a platform where backlinking is not supported then this must be + * a shared version of Tcl (Otherwise the load would have failed). + * Detect this situation by checking that this library has been correctly + * initialised. If it has not been then return immediately as nothing will + * work. + */ + + if (!tclEmptyStringRep) { + Tcl_AppendResult(interp, "Cannot load package \"", name, + "\" in standalone executable: This package is not ", + "compiled with stub support", NULL); + return NULL; + } + + /* * It can take up to three passes to find the package: one pass to * run the "package unknown" script, one to run the "package ifneeded" * script for a specific version, and a final pass to lookup the @@ -253,15 +302,23 @@ Tcl_PkgRequire(interp, name, version, exact) } /* - * At this point we now that the package is present. Make sure that the + * At this point we know that the package is present. Make sure that the * provided version meets the current requirement. */ if (version == NULL) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + return pkgPtr->version; } result = ComparePkgVersions(pkgPtr->version, version, &satisfies); if ((satisfies && !exact) || (result == 0)) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + return pkgPtr->version; } Tcl_AppendResult(interp, "version conflict for package \"", @@ -273,6 +330,122 @@ Tcl_PkgRequire(interp, name, version, exact) /* *---------------------------------------------------------------------- * + * Tcl_PkgPresent / Tcl_PkgPresentEx -- + * + * Checks to see whether the specified package is present. If it + * is not then no additional action is taken. + * + * Results: + * If successful, returns the version string for the currently + * provided version of the package, which may be different from + * the "version" argument. If the caller's requirements + * cannot be met (e.g. the version requested conflicts with + * a currently provided version), NULL is returned and an error + * message is left in interp->result. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +Tcl_PkgPresent(interp, name, version, exact) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ +{ + return Tcl_PkgPresentEx(interp, name, version, exact, (ClientData *) NULL); +} + +char * +Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ + ClientData *clientDataPtr; /* Used to return the client data for this + * package. If it is NULL then the client + * data is not returned. This is unchanged + * if this call fails for any reason. */ +{ + Interp *iPtr = (Interp *) interp; + Tcl_HashEntry *hPtr; + Package *pkgPtr; + int satisfies, result; + + /* + * If an attempt is being made to load this into a standalone executable + * on a platform where backlinking is not supported then this must be + * a shared version of Tcl (Otherwise the load would have failed). + * Detect this situation by checking that this library has been correctly + * initialised. If it has not been then return immediately as nothing will + * work. + */ + + if (!tclEmptyStringRep) { + Tcl_AppendResult(interp, "Cannot load package \"", name, + "\" in standalone executable: This package is not ", + "compiled with stub support", NULL); + return NULL; + } + + hPtr = Tcl_FindHashEntry(&iPtr->packageTable, name); + if (hPtr) { + pkgPtr = (Package *) Tcl_GetHashValue(hPtr); + if (pkgPtr->version != NULL) { + + /* + * At this point we know that the package is present. Make sure + * that the provided version meets the current requirement. + */ + + if (version == NULL) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + + return pkgPtr->version; + } + result = ComparePkgVersions(pkgPtr->version, version, &satisfies); + if ((satisfies && !exact) || (result == 0)) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + + return pkgPtr->version; + } + Tcl_AppendResult(interp, "version conflict for package \"", + name, "\": have ", pkgPtr->version, + ", need ", version, (char *) NULL); + return NULL; + } + } + + if (version != NULL) { + Tcl_AppendResult(interp, "package ", name, " ", version, + " is not present", (char *) NULL); + } else { + Tcl_AppendResult(interp, "package ", name, " is not present", + (char *) NULL); + } + return NULL; +} + +/* + *---------------------------------------------------------------------- + * * Tcl_PackageCmd -- * * This procedure is invoked to process the "package" Tcl command. @@ -394,7 +567,35 @@ Tcl_PackageCmd(dummy, interp, argc, argv) Tcl_AppendElement(interp, Tcl_GetHashKey(tablePtr, hPtr)); } } - } else if ((c == 'p') && (strncmp(argv[1], "provide", length) == 0)) { + } else if ((c == 'p') && (strncmp(argv[1], "present", length) == 0) + && (length >=3)) { + if (argc < 3) { + presentSyntax: + Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], + " present ?-exact? package ?version?\"", (char *) NULL); + return TCL_ERROR; + } + if ((argv[2][0] == '-') && (strcmp(argv[2], "-exact") == 0)) { + exact = 1; + } else { + exact = 0; + } + version = NULL; + if (argc == (4+exact)) { + version = argv[3+exact]; + if (CheckVersion(interp, version) != TCL_OK) { + return TCL_ERROR; + } + } else if ((argc != 3) || exact) { + goto presentSyntax; + } + version = Tcl_PkgPresent(interp, argv[2+exact], version, exact); + if (version == NULL) { + return TCL_ERROR; + } + Tcl_SetResult(interp, version, TCL_VOLATILE); + } else if ((c == 'p') && (strncmp(argv[1], "provide", length) == 0) + && (length >=3)) { if ((argc != 3) && (argc != 4)) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " provide package ?version?\"", (char *) NULL); @@ -506,7 +707,7 @@ Tcl_PackageCmd(dummy, interp, argc, argv) } else { Tcl_AppendResult(interp, "bad option \"", argv[1], "\": should be forget, ifneeded, names, ", - "provide, require, unknown, vcompare, ", + "present, provide, require, unknown, vcompare, ", "versions, or vsatisfies", (char *) NULL); return TCL_ERROR; } @@ -547,6 +748,7 @@ FindPackage(interp, name) pkgPtr = (Package *) ckalloc(sizeof(Package)); pkgPtr->version = NULL; pkgPtr->availPtr = NULL; + pkgPtr->clientData = NULL; Tcl_SetHashValue(hPtr, pkgPtr); } else { pkgPtr = (Package *) Tcl_GetHashValue(hPtr); diff --git a/generic/tclPlatDecls.h b/generic/tclPlatDecls.h deleted file mode 100644 index 3ef035a..0000000 --- a/generic/tclPlatDecls.h +++ /dev/null @@ -1,56 +0,0 @@ - -/* !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 deleted file mode 100644 index 82f8b4d..0000000 --- a/generic/tclPlatStubs.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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/tclStringObj.c b/generic/tclStringObj.c index 1bb11d9..08c24f1 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStringObj.c,v 1.2 1998/09/14 18:40:02 stanton Exp $ + * RCS: @(#) $Id: tclStringObj.c,v 1.2.4.1 1999/03/03 00:38:42 stanton Exp $ */ #include "tclInt.h" @@ -363,7 +363,7 @@ Tcl_AppendToObj(objPtr, bytes, length) /* *---------------------------------------------------------------------- * - * Tcl_AppendStringsToObj -- + * Tcl_AppendStringsToObjVA -- * * This procedure appends one or more null-terminated strings * to an object. @@ -379,14 +379,14 @@ Tcl_AppendToObj(objPtr, bytes, length) */ void -Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) +Tcl_AppendStringsToObjVA (objPtr, argList) + register Tcl_Obj *objPtr; /* Points to the object to append to. */ + va_list argList; /* Variable argument list. */ { - va_list argList; - register Tcl_Obj *objPtr; + va_list tmpArgList; int newLength, oldLength; register char *string, *dst; - objPtr = (Tcl_Obj *) TCL_VARARGS_START(Tcl_Obj *,arg1,argList); if (Tcl_IsShared(objPtr)) { panic("Tcl_AppendStringsToObj called with shared object"); } @@ -400,9 +400,10 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) * bytes would be appended, just return. */ + tmpArgList = argList; newLength = oldLength = objPtr->length; while (1) { - string = va_arg(argList, char *); + string = va_arg(tmpArgList, char *); if (string == NULL) { break; } @@ -430,7 +431,6 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) * strings to the object. */ - TCL_VARARGS_START(Tcl_Obj *,arg1,argList); dst = objPtr->bytes + oldLength; while (1) { string = va_arg(argList, char *); @@ -455,6 +455,34 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) *dst = 0; } objPtr->length = newLength; +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_AppendStringsToObj -- + * + * This procedure appends one or more null-terminated strings + * to an object. + * + * Results: + * None. + * + * Side effects: + * The contents of all the string arguments are appended to the + * string representation of objPtr. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) +{ + register Tcl_Obj *objPtr; + va_list argList; + + objPtr = TCL_VARARGS_START(Tcl_Obj *,arg1,argList); + Tcl_AppendStringsToObjVA(objPtr, argList); va_end(argList); } diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c deleted file mode 100644 index 2737f9c..0000000 --- a/generic/tclStubInit.c +++ /dev/null @@ -1,514 +0,0 @@ -/* - * 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 deleted file mode 100644 index 0c881b0..0000000 --- a/generic/tclStubLib.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 deleted file mode 100644 index 523eefd..0000000 --- a/generic/tclStubs.c +++ /dev/null @@ -1,2653 +0,0 @@ -/* - * 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/generic/tclUtil.c b/generic/tclUtil.c index bdbac1c..949ad49 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.3 1998/09/14 18:40:02 stanton Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.3.4.1 1999/03/03 00:38:43 stanton Exp $ */ #include "tclInt.h" @@ -1409,7 +1409,7 @@ Tcl_GetObjResult(interp) /* *---------------------------------------------------------------------- * - * Tcl_AppendResult -- + * Tcl_AppendResultVA -- * * Append a variable number of strings onto the interpreter's string * result. @@ -1419,8 +1419,8 @@ Tcl_GetObjResult(interp) * * Side effects: * The result of the interpreter given by the first argument is - * extended by the strings given by the second and following arguments - * (up to a terminating NULL argument). + * extended by the strings in the va_list (up to a terminating NULL + * argument). * * If the string result is empty, the object result is moved to the * string result, then the object result is reset. @@ -1429,10 +1429,13 @@ Tcl_GetObjResult(interp) */ void -Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_AppendResultVA (interp, argList) + Tcl_Interp *interp; /* Interpreter with which to associate the + * return value. */ + va_list argList; /* Variable argument list. */ { - va_list argList; - Interp *iPtr; + Interp *iPtr = (Interp *) interp; + va_list tmpArgList; char *string; int newSpace; @@ -1442,7 +1445,6 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * FAILS IF OBJECT RESULT'S STRING REPRESENTATION CONTAINS NULLS. */ - iPtr = (Interp *) TCL_VARARGS_START(Tcl_Interp *,arg1,argList); if (*(iPtr->result) == 0) { Tcl_SetResult((Tcl_Interp *) iPtr, TclGetStringFromObj(Tcl_GetObjResult((Tcl_Interp *) iPtr), @@ -1454,15 +1456,15 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * Scan through all the arguments to see how much space is needed. */ + tmpArgList = argList; newSpace = 0; while (1) { - string = va_arg(argList, char *); + string = va_arg(tmpArgList, char *); if (string == NULL) { break; } newSpace += strlen(string); } - va_end(argList); /* * If the append buffer isn't already setup and large enough to hold @@ -1480,7 +1482,6 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * buffer. */ - TCL_VARARGS_START(Tcl_Interp *,arg1,argList); while (1) { string = va_arg(argList, char *); if (string == NULL) { @@ -1489,6 +1490,38 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) strcpy(iPtr->appendResult + iPtr->appendUsed, string); iPtr->appendUsed += strlen(string); } +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_AppendResult -- + * + * Append a variable number of strings onto the interpreter's string + * result. + * + * Results: + * None. + * + * Side effects: + * The result of the interpreter given by the first argument is + * extended by the strings given by the second and following arguments + * (up to a terminating NULL argument). + * + * If the string result is empty, the object result is moved to the + * string result, then the object result is reset. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + Tcl_AppendResultVA(interp, argList); va_end(argList); } @@ -1724,7 +1757,7 @@ Tcl_ResetResult(interp) /* *---------------------------------------------------------------------- * - * Tcl_SetErrorCode -- + * Tcl_SetErrorCodeVA -- * * This procedure is called to record machine-readable information * about an error that is about to be returned. @@ -1741,21 +1774,22 @@ Tcl_ResetResult(interp) * *---------------------------------------------------------------------- */ - /* VARARGS2 */ + void -Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_SetErrorCodeVA (interp, argList) + Tcl_Interp *interp; /* Interpreter in which to access the errorCode + * variable. */ + va_list argList; /* Variable argument list. */ { - va_list argList; char *string; int flags; - Interp *iPtr; + Interp *iPtr = (Interp *) interp; /* * Scan through the arguments one at a time, appending them to * $errorCode as list elements. */ - iPtr = (Interp *) TCL_VARARGS_START(Tcl_Interp *,arg1,argList); flags = TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT; while (1) { string = va_arg(argList, char *); @@ -1766,13 +1800,49 @@ Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) (char *) NULL, string, flags); flags |= TCL_APPEND_VALUE; } - va_end(argList); iPtr->flags |= ERROR_CODE_SET; } /* *---------------------------------------------------------------------- * + * Tcl_SetErrorCode -- + * + * This procedure is called to record machine-readable information + * about an error that is about to be returned. + * + * Results: + * None. + * + * Side effects: + * The errorCode global variable is modified to hold all of the + * arguments to this procedure, in a list form with each argument + * becoming one element of the list. A flag is set internally + * to remember that errorCode has been set, so the variable doesn't + * get set automatically when the error is returned. + * + *---------------------------------------------------------------------- + */ + /* VARARGS2 */ +void +Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + + /* + * Scan through the arguments one at a time, appending them to + * $errorCode as list elements. + */ + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + Tcl_SetErrorCodeVA(interp, argList); + va_end(argList); +} + +/* + *---------------------------------------------------------------------- + * * Tcl_SetObjErrorCode -- * * This procedure is called to record machine-readable information diff --git a/mac/tclMacFile.c b/mac/tclMacFile.c index 4de2267..2b3d883 100644 --- a/mac/tclMacFile.c +++ b/mac/tclMacFile.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacFile.c,v 1.4 1998/09/14 18:40:05 stanton Exp $ + * RCS: @(#) $Id: tclMacFile.c,v 1.4.4.1 1999/03/03 00:38:44 stanton Exp $ */ /* @@ -249,7 +249,7 @@ Tcl_FindExecutable( /* *---------------------------------------------------------------------- * - * TclGetUserHome -- + * TclpGetUserHome -- * * This function takes the passed in user name and finds the * corresponding home directory specified in the password file. @@ -264,7 +264,7 @@ Tcl_FindExecutable( */ char * -TclGetUserHome( +TclpGetUserHome( char *name, /* User name to use to find home directory. */ Tcl_DString *bufferPtr) /* May be used to hold result. Must not hold * anything at the time of the call, and need diff --git a/mac/tclMacShLib.exp b/mac/tclMacShLib.exp index aea4acf..35bcfaf 100644 --- a/mac/tclMacShLib.exp +++ b/mac/tclMacShLib.exp @@ -283,7 +283,7 @@ TclGetOpenMode TclGetOriginalCommand TclGetRegError TclGetSrcInfoForPc -TclGetUserHome +TclpGetUserHome TclGlobalInvoke TclGuessPackageName TclHasSockets diff --git a/tests/pkg.test b/tests/pkg.test index 412d478..0ba8ce8 100644 --- a/tests/pkg.test +++ b/tests/pkg.test @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: pkg.test,v 1.2 1998/09/14 18:40:12 stanton Exp $ +# RCS: @(#) $Id: pkg.test,v 1.2.4.1 1999/03/03 00:38:44 stanton Exp $ if {[string compare test [info procs test]] == 1} then {source defs} @@ -483,7 +483,7 @@ test pkg-3.52 {Tcl_PackageCmd procedure, "vsatisfies" option} { } {0} test pkg-3.53 {Tcl_PackageCmd procedure, "versions" option} { list [catch {package foo} msg] $msg -} {1 {bad option "foo": should be forget, ifneeded, names, provide, require, unknown, vcompare, versions, or vsatisfies}} +} {1 {bad option "foo": should be forget, ifneeded, names, present, provide, require, unknown, vcompare, versions, or vsatisfies}} # No tests for FindPackage; can't think up anything detectable # errors. @@ -555,6 +555,78 @@ test pkg-6.9 {ComparePkgVersions procedure} { package vsatisfies 2 1 } {0} +test pkg-7.1 {Tcl_PkgPresent procedure, any version} { + package forget t + package provide t 2.4 + package present t +} {2.4} +test pkg-7.2 {Tcl_PkgPresent procedure, correct version} { + package forget t + package provide t 2.4 + package present t 2.4 +} {2.4} +test pkg-7.3 {Tcl_PkgPresent procedure, satisfying version} { + package forget t + package provide t 2.4 + package present t 2.0 +} {2.4} +test pkg-7.4 {Tcl_PkgPresent procedure, not satisfying version} { + package forget t + package provide t 2.4 + list [catch {package present t 2.6} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 2.6}} +test pkg-7.5 {Tcl_PkgPresent procedure, not satisfying version} { + package forget t + package provide t 2.4 + list [catch {package present t 1.0} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 1.0}} +test pkg-7.6 {Tcl_PkgPresent procedure, exact version} { + package forget t + package provide t 2.4 + package present -exact t 2.4 +} {2.4} +test pkg-7.7 {Tcl_PkgPresent procedure, not exact version} { + package forget t + package provide t 2.4 + list [catch {package present -exact t 2.3} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 2.3}} +test pkg-7.8 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present t} msg] $msg +} {1 {package t is not present}} +test pkg-7.9 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present t 2.4} msg] $msg +} {1 {package t 2.4 is not present}} +test pkg-7.10 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present -exact t 2.4} msg] $msg +} {1 {package t 2.4 is not present}} +test pkg-7.11 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.12 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present a b c} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.13 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact a b c} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.14 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -bs a b} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.15 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present x a.b} msg] $msg +} {1 {expected version number but got "a.b"}} +test pkg-7.16 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact x a.b} msg] $msg +} {1 {expected version number but got "a.b"}} +test pkg-7.17 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact x} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.18 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} + set auto_path $oldPath package unknown $oldPkgUnknown concat diff --git a/unix/Makefile.in b/unix/Makefile.in index b0c688c..0ea466a 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.17 1999/02/02 23:00:07 stanton Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.17.4.1 1999/03/03 00:38:45 stanton Exp $ # Current Tcl version; used in various names. @@ -131,6 +131,15 @@ NOTIFY_OBJS = tclUnixNotfy.o MEM_DEBUG_FLAGS = #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG +# To enable support for stubs in Tcl. +STUB_LIB_FILE = @STUB_LIB_FILE@ + +TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ +#TCL_STUB_LIB_FILE = libtclstub.a + +TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@ +#TCL_STUB_LIB_FLAG = -ltclstub + # To enable compilation debugging reverse the comment characters on # one of the following lines. COMPILE_DEBUG_FLAGS = @@ -184,6 +193,9 @@ TCL_LIB_FILE = @TCL_LIB_FILE@ TCL_LIB_FLAG = @TCL_LIB_FLAG@ #TCL_LIB_FLAG = -ltcl +TCL_EXP_FILE = @TCL_EXP_FILE@ +TCL_BUILD_EXP_FILE = @TCL_BUILD_EXP_FILE@ + #---------------------------------------------------------------- # The information below is modified by the configure script when # Makefile is generated from Makefile.in. You shouldn't normally @@ -213,14 +225,17 @@ CC = @CC@ CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ -I${GENERIC_DIR} -I${SRC_DIR} \ ${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ -${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" +${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" \ +$(STUB_FLAGS) + LIBS = @DL_LIBS@ @LIBS@ $(MATH_LIBS) -lc DEPEND_SWITCHES = ${CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \ ${AC_FLAGS} ${MATH_FLAGS} \ ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ --DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" +-DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" \ +$(STUB_FLAGS) TCLSH_OBJS = tclAppInit.o @@ -230,17 +245,21 @@ TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ XTTEST_OBJS = tclTest.o tclTestObj.o tclUnixTest.o tclXtNotify.o \ tclXtTest.o xtTestInit.o -GENERIC_OBJS = panic.o regexp.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o \ +GENERIC_OBJS = regexp.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o \ tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompExpr.o \ tclCompile.o tclDate.o tclEnv.o tclEvent.o tclExecute.o \ tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o \ tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOSock.o \ tclIOUtil.o tclLink.o tclListObj.o tclLoad.o tclMain.o tclNamesp.o \ - tclNotify.o tclObj.o tclParse.o tclPipe.o tclPkg.o tclPosixStr.o \ - tclPreserve.o tclProc.o tclStringObj.o tclTimer.o tclUtil.o tclVar.o \ - tclResolve.o + tclNotify.o tclObj.o tclPanic.o tclParse.o tclPipe.o tclPkg.o \ + tclPosixStr.o tclPreserve.o tclProc.o tclResolve.o tclStringObj.o \ + tclStubInit.o tclTimer.o tclUtil.o tclVar.o + +STUB_LIB_OBJS = tclIntPlatStubs.o tclIntStubs.o tclPlatStubs.o tclStubLib.o \ + tclStubs.o -OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} @DL_OBJS@ +OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \ + @DL_OBJS@ GENERIC_HDRS = \ $(GENERIC_DIR)/tclRegexp.h \ @@ -290,6 +309,7 @@ GENERIC_SRCS = \ $(GENERIC_DIR)/tclPreserve.c \ $(GENERIC_DIR)/tclProc.c \ $(GENERIC_DIR)/tclResolve.c \ + $(GENERIC_DIR)/tclStubInit.c \ $(GENERIC_DIR)/tclStringObj.c \ $(GENERIC_DIR)/tclTest.c \ $(GENERIC_DIR)/tclTestObj.c \ @@ -298,6 +318,13 @@ GENERIC_SRCS = \ $(GENERIC_DIR)/tclUtil.c \ $(GENERIC_DIR)/tclVar.c +STUB_SRCS = \ + $(GENERIC_DIR)/tclIntPlatStubs.c \ + $(GENERIC_DIR)/tclIntStubs.c \ + $(GENERIC_DIR)/tclPlatStubs.c \ + $(GENERIC_DIR)/tclStubLib.c \ + $(GENERIC_DIR)/tclStubs.c + UNIX_HDRS = \ $(UNIX_DIR)/tclUnixPort.h @@ -329,9 +356,9 @@ DL_SRCS = \ # compile on the current machine, and they will cause problems for # things like "make depend". -SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) +SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(STUB_SRCS) -all: ${TCL_LIB_FILE} tclsh +all: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) tclsh # The following target is configured by autoconf to generate either # a shared library or non-shared library for Tcl. @@ -340,6 +367,11 @@ ${TCL_LIB_FILE}: ${OBJS} @MAKE_LIB@ $(RANLIB) ${TCL_LIB_FILE} +${STUB_LIB_FILE}: ${STUB_LIB_OBJS} + rm -f ${STUB_LIB_FILE} + @MAKE_STUB_LIB@ + $(RANLIB) ${STUB_LIB_FILE} + # Make target which outputs the list of the .o contained in the Tcl lib # usefull to build a single big shared library containing Tcl and other # extensions. used for the Tcl Plugin. -- dl @@ -403,7 +435,7 @@ topDirName: gendate: yacc -l $(GENERIC_DIR)/tclGetDate.y sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \ - -e 's/SCCSID/RCS: @(#) $Id: Makefile.in,v 1.17 1999/02/02 23:00:07 stanton Exp $' + -e 's/SCCSID/RCS: @(#) $Id: Makefile.in,v 1.17.4.1 1999/03/03 00:38:45 stanton Exp $' -e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \ -e '/TclDatenewstate:/d' -e '/#pragma/d' \ <y.tab.c >$(GENERIC_DIR)/tclDate.c @@ -433,7 +465,8 @@ install: install-binaries install-libraries install-man # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TCL_LIB_FILE) tclsh +install-binaries: $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) \ + tclsh @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ @@ -447,10 +480,20 @@ install-binaries: $(TCL_LIB_FILE) tclsh @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE)) @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) + @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \ + echo "Installing $(TCL_EXP_FILE)"; \ + $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \ + $(LIB_INSTALL_DIR)/$(TCL_EXP_FILE); \ + fi @echo "Installing tclsh" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) @echo "Installing tclConfig.sh" @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh + @if test "$(TCL_STUB_LIB_FILE)" != "" ; then \ + echo "Installing $(TCL_STUB_LIB_FILE)"; \ + $(INSTALL_DATA) $(STUB_LIB_FILE) \ + $(LIB_INSTALL_DIR)/$(TCL_STUB_LIB_FILE); \ + fi install-libraries: @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ @@ -474,6 +517,23 @@ install-libraries: done; @echo "Installing tcl.h" @$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h + @if test "$(STUB_LIB_OBJ)" != "" ; then \ + echo "Installing tclStub.h"; \ + $(INSTALL_DATA) $(GENERIC_DIR)/tclStub.h \ + $(INCLUDE_INSTALL_DIR)/tclStub.h; \ + echo "Installing tclStubInls.h"; \ + $(INSTALL_DATA) $(GENERIC_DIR)/tclStubInls.h \ + $(INCLUDE_INSTALL_DIR)/tclStubInls.h; \ + echo "Installing tclStubLib.c"; \ + $(INSTALL_DATA) $(GENERIC_DIR)/tclStubLib.c \ + $(INCLUDE_INSTALL_DIR)/tclStubLib.c; \ + echo "Installing tclStubFns.c"; \ + $(INSTALL_DATA) $(GENERIC_DIR)/tclStubFns.c \ + $(INCLUDE_INSTALL_DIR)/tclStubFns.c; \ + echo "Installing tclpStubFns.c"; \ + $(INSTALL_DATA) $(GENERIC_DIR)/tclpStubFns.c \ + $(INCLUDE_INSTALL_DIR)/tclpStubFns.c; \ + fi @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \ do \ echo "Installing $$i"; \ @@ -577,9 +637,6 @@ xtTestInit.o: $(UNIX_DIR)/tclAppInit.c # Object files used on all Unix systems: -panic.o: $(GENERIC_DIR)/panic.c - $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/panic.c - regexp.o: $(GENERIC_DIR)/regexp.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexp.c @@ -649,6 +706,12 @@ tclIndexObj.o: $(GENERIC_DIR)/tclIndexObj.c tclInterp.o: $(GENERIC_DIR)/tclInterp.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclInterp.c +tclIntPlatStubs.o: $(GENERIC_DIR)/tclIntPlatStubs.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIntPlatStubs.c + +tclIntStubs.o: $(GENERIC_DIR)/tclIntStubs.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIntStubs.c + tclIO.o: $(GENERIC_DIR)/tclIO.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclIO.c @@ -712,12 +775,18 @@ tclNotify.o: $(GENERIC_DIR)/tclNotify.c tclParse.o: $(GENERIC_DIR)/tclParse.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c +tclPanic.o: $(GENERIC_DIR)/tclPanic.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPanic.c + tclPipe.o: $(GENERIC_DIR)/tclPipe.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c tclPkg.o: $(GENERIC_DIR)/tclPkg.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPkg.c +tclPlatStubs.o: $(GENERIC_DIR)/tclPlatStubs.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPlatStubs.c + tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPosixStr.c @@ -733,6 +802,12 @@ tclResolve.o: $(GENERIC_DIR)/tclResolve.c tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c +tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubLib.c + +tclStubs.o: $(GENERIC_DIR)/tclStubs.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubs.c + tclUtil.o: $(GENERIC_DIR)/tclUtil.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c diff --git a/unix/configure.in b/unix/configure.in index 67b3f6e..2744f02 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -2,7 +2,7 @@ dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. AC_INIT(../generic/tcl.h) -# RCS: @(#) $Id: configure.in,v 1.28 1999/02/03 18:37:42 stanton Exp $ +# RCS: @(#) $Id: configure.in,v 1.28.4.1 1999/03/03 00:38:45 stanton Exp $ TCL_VERSION=8.0 TCL_MAJOR_VERSION=8 @@ -641,6 +641,17 @@ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])) # a .a extension whereas shared objects for loadable # extensions have a .so extension. Defaults to # ${VERSION}${SHLIB_SUFFIX}. +# TCL_NEEDS_EXP_FILE - +# 1 means that an export file is needed to link to a +# shared library. +# +# TCL_EXP_FILE - The name of the installed export / import file which +# should be used to link to the Tcl shared library. +# Empty if Tcl is unshared. +# TCL_BUILD_EXP_FILE - +# The name of the built export / import file which +# should be used to link to the Tcl shared library. +# Empty if Tcl is unshared. #-------------------------------------------------------------------- # Step 1: set the variable "system" to hold the name and version number @@ -678,12 +689,16 @@ AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) fullSrcDir=`cd $srcdir; pwd` EXTRA_CFLAGS="" +TCL_EXPORT_FILE_SUFFIX="" TCL_UNSHARED_LIB_SUFFIX="" TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`' ECHO_VERSION='`echo ${VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O +TCL_NEEDS_EXP_FILE=0 +TCL_BUILD_EXP_FILE="" +TCL_EXP_FILE="" case $system in AIX-4.[[2-9]]) SHLIB_CFLAGS="" @@ -694,8 +709,8 @@ case $system in DL_LIBS="-ldl" LD_FLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - AIX=yes - TCL_SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + TCL_NEEDS_EXP_FILE=1 + TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp' ;; AIX-*) SHLIB_CFLAGS="" @@ -706,7 +721,8 @@ case $system in DL_LIBS="-lld" LD_FLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - TCL_SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + TCL_NEEDS_EXP_FILE=1 + TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp' ;; BSD/OS-2.1*|BSD/OS-3*|BSD/OS-4*) SHLIB_CFLAGS="" @@ -1232,29 +1248,42 @@ else MAKE_LIB="ar cr \${TCL_LIB_FILE} \${OBJS}" fi +# tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed +# so that the backslashes quoting the DBX braces are dropped. + +# Trick to replace DBGX with TCL_DBGX +DBGX='${TCL_DBGX}' +eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + # Note: in the following variable, it's important to use the absolute # path name of the Tcl directory rather than "..": this is because # AIX remembers this path and will attempt to use it at run-time to look # up the Tcl library. -if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then - TCL_LIB_FLAG="-ltcl${TCL_VERSION}\${TCL_DBGX}" +if test $TCL_SHARED_BUILD = 0 -o $TCL_NEEDS_EXP_FILE = 0; then + if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then + TCL_LIB_FLAG="-ltcl${TCL_VERSION}\${TCL_DBGX}" + else + TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" + fi + TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}" + TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}" else - TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" -fi -TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}" -TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}" + TCL_BUILD_EXP_FILE="lib.exp" + eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}" -# tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed -# so that the backslashes quoting the DBX braces are dropped. - -# Trick to replace DBGX with TCL_DBGX -DBGX='${TCL_DBGX}' -eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + # Replace DBGX with TCL_DBGX + eval "TCL_EXP_FILE=\"${TCL_EXP_FILE}\"" + + TCL_BUILD_LIB_SPEC="-bI:`pwd`/${TCL_BUILD_EXP_FILE}" + TCL_LIB_SPEC="-bI:${exec_prefix}/lib/${TCL_EXP_FILE}" +fi VERSION='${VERSION}' eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" eval "CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}" +eval "CFG_TCL_EXPORT_FILE_SUFFIX=${TCL_EXPORT_FILE_SUFFIX}" +VERSION=${TCL_VERSION} #-------------------------------------------------------------------- # The statements below define the symbol TCL_PACKAGE_PATH, which @@ -1269,6 +1298,40 @@ else TCL_PACKAGE_PATH="${prefix}/lib" fi +#-------------------------------------------------------------------- +# The statements below define various symbols relating to Tcl +# stub support. +#-------------------------------------------------------------------- +# Replace ${VERSION} with contents of ${TCL_VERSION} +eval "STUB_LIB_FILE=libtclstub${TCL_UNSHARED_LIB_SUFFIX}" +# Replace DBGX with TCL_DBGX +eval "STUB_LIB_FILE=\"${STUB_LIB_FILE}\"" + +MAKE_STUB_LIB="ar cr \${STUB_LIB_FILE} \${STUB_LIB_OBJS}" + +TCL_STUB_LIB_FILE=${STUB_LIB_FILE} + +if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then + TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}\${TCL_DBGX}" +else + TCL_STUB_LIB_FLAG="-ltclstub`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" +fi + +TCL_BUILD_STUB_LIB_SPEC="-L`pwd` ${TCL_STUB_LIB_FLAG}" +TCL_STUB_LIB_SPEC="-L${exec_prefix}/lib ${TCL_STUB_LIB_FLAG}" +TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +TCL_STUB_LIB_PATH="${exec_prefix}/lib/${TCL_STUB_LIB_FILE}" + +AC_SUBST(STUB_LIB_FILE) + +AC_SUBST(TCL_STUB_LIB_FILE) +AC_SUBST(TCL_STUB_LIB_FLAG) +AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) +AC_SUBST(TCL_STUB_LIB_SPEC) +AC_SUBST(TCL_BUILD_STUB_LIB_PATH) +AC_SUBST(TCL_STUB_LIB_PATH) +AC_SUBST(MAKE_STUB_LIB) + AC_SUBST(BUILD_DLTEST) AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_DEFAULT) @@ -1276,6 +1339,7 @@ AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(CFLAGS_WARNING) AC_SUBST(CFG_TCL_SHARED_LIB_SUFFIX) AC_SUBST(CFG_TCL_UNSHARED_LIB_SUFFIX) +AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX) AC_SUBST(TCL_DBGX) AC_SUBST(DL_LIBS) AC_SUBST(DL_OBJS) @@ -1291,6 +1355,9 @@ AC_SUBST(TCL_BUILD_LIB_SPEC) AC_SUBST(TCL_LD_SEARCH_FLAGS) AC_SUBST(TCL_LIB_FILE) AC_SUBST(TCL_LIB_FLAG) +AC_SUBST(TCL_NEEDS_EXP_FILE) +AC_SUBST(TCL_BUILD_EXP_FILE) +AC_SUBST(TCL_EXP_FILE) AC_SUBST(TCL_LIB_SPEC) AC_SUBST(TCL_LIB_VERSIONS_OK) AC_SUBST(TCL_MAJOR_VERSION) @@ -10,7 +10,7 @@ # symbols exported by those files, and then invokes "ldCmd" to # perform the real link. # -# RCS: @(#) $Id: ldAix,v 1.2 1998/09/14 18:40:16 stanton Exp $ +# RCS: @(#) $Id: ldAix,v 1.2.4.1 1999/03/03 00:38:45 stanton Exp $ # Extract from the arguments the names of all of the object files. @@ -23,6 +23,9 @@ for i do fi done +# Extract the name of the object file that we're linking. +outputFile=`echo $args | sed -e 's/.*-o \([^ ]*\).*/\1/'` + # Create the export file from all of the object files, using nm followed # by sed editing. Here are some tricky aspects of this: # @@ -49,13 +52,12 @@ if test $osver -eq 3; then nmopts="-e" fi rm -f lib.exp -echo "#! " >lib.exp +echo "#! $outputFile" >lib.exp /usr/ccs/bin/nm $nmopts -h $ofiles | sed -e '/:$/d' -e '/ U /d' -e '/[ ]0|extern/d' -e '/unamex/d' -e 's/^\.//' -e 's/[ |].*//' | sort | uniq >>lib.exp -# Extract the name of the object file that we're linking. If it's a .a -# file, then link all the objects together into a single file "shr.o" -# and then put that into the archive. Otherwise link the object files -# directly into the .a file. +# If we're linking a .a file, then link all the objects together into a +# single file "shr.o" and then put that into the archive. Otherwise link +# the object files directly into the .a file. outputFile=`echo $args | sed -e 's/.*-o \([^ ]*\).*/\1/'` noDotA=`echo $outputFile | sed -e '/\.a$/d'` diff --git a/unix/mkLinks b/unix/mkLinks index b4da360..0b1b75e 100644 --- a/unix/mkLinks +++ b/unix/mkLinks @@ -728,6 +728,10 @@ if test -r PkgRequire.3; then ln PkgRequire.3 Tcl_PkgRequire.3 fi if test -r AddErrInfo.3; then + rm -f Tcl_SetErrorCodeVA.3 + ln AddErrInfo.3 Tcl_SetErrorCodeVA.3 +fi +if test -r AddErrInfo.3; then rm -f Tcl_PosixError.3 ln AddErrInfo.3 Tcl_PosixError.3 fi diff --git a/unix/tclConfig.sh.in b/unix/tclConfig.sh.in index 4936f52..e390e83 100644 --- a/unix/tclConfig.sh.in +++ b/unix/tclConfig.sh.in @@ -9,7 +9,7 @@ # # The information in this file is specific to a single platform. # -# RCS: @(#) $Id: tclConfig.sh.in,v 1.8 1998/10/20 20:01:23 rjohnson Exp $ +# RCS: @(#) $Id: tclConfig.sh.in,v 1.8.4.1 1999/03/03 00:38:46 stanton Exp $ # Tcl's version number. TCL_VERSION='@TCL_VERSION@' @@ -37,6 +37,15 @@ TCL_SHARED_BUILD=@TCL_SHARED_BUILD@ # The name of the Tcl library (may be either a .a file or a shared library): TCL_LIB_FILE='@TCL_LIB_FILE@' +# Flag to indicate whether shared libraries need export files. +TCL_NEEDS_EXP_FILE=@TCL_NEEDS_EXP_FILE@ + +# String that can be evaluated to generate the part of the export file +# name that comes after the "libxxx" (includes version number, if any, +# extension, and anything else needed). May depend on the variables +# VERSION. On most UNIX systems this is ${VERSION}.exp. +TCL_EXPORT_FILE_SUFFIX='@CFG_TCL_EXPORT_FILE_SUFFIX@' + # Additional libraries to use when linking Tcl. TCL_LIBS='@DL_LIBS@ @LIBS@ @MATH_LIBS@' @@ -128,3 +137,26 @@ TCL_SRC_DIR='@TCL_SRC_DIR@' # "package require" commands. Contains the "prefix" directory plus also # the "exec_prefix" directory, if it is different. TCL_PACKAGE_PATH='@TCL_PACKAGE_PATH@' + +# Tcl supports stub. +TCL_SUPPORTS_STUBS=@TCL_SUPPORTS_STUBS@ + +# The name of the Tcl stub library (.a): +TCL_STUB_LIB_FILE='@TCL_STUB_LIB_FILE@' + +# -l flag to pass to the linker to pick up the Tcl stub library +TCL_STUB_LIB_FLAG='@TCL_STUB_LIB_FLAG@' + +# String to pass to linker to pick up the Tcl stub library from its +# build directory. +TCL_BUILD_STUB_LIB_SPEC='@TCL_BUILD_STUB_LIB_SPEC@' + +# String to pass to linker to pick up the Tcl stub library from its +# installed directory. +TCL_STUB_LIB_SPEC='@TCL_STUB_LIB_SPEC@' + +# Path to the Tcl stub library in the build directory. +TCL_BUILD_STUB_LIB_PATH='@TCL_BUILD_STUB_LIB_PATH@' + +# Path to the Tcl stub library in the install directory. +TCL_STUB_LIB_PATH='@TCL_STUB_LIB_PATH@' diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index f554e68..4a25bf8 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixFile.c,v 1.4 1998/09/14 18:40:17 stanton Exp $ + * RCS: @(#) $Id: tclUnixFile.c,v 1.4.4.1 1999/03/03 00:38:46 stanton Exp $ */ #include "tclInt.h" @@ -344,7 +344,7 @@ Tcl_FindExecutable(argv0) /* *---------------------------------------------------------------------- * - * TclGetUserHome -- + * TclpGetUserHome -- * * This function takes the passed in user name and finds the * corresponding home directory specified in the password file. @@ -363,7 +363,7 @@ Tcl_FindExecutable(argv0) */ char * -TclGetUserHome(name, bufferPtr) +TclpGetUserHome(name, bufferPtr) char *name; /* User name to use to find home directory. */ Tcl_DString *bufferPtr; /* May be used to hold result. Must not hold * anything at the time of the call, and need diff --git a/win/makefile.vc b/win/makefile.vc index c054590..2fdc05a 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -6,7 +6,7 @@ # Copyright (c) 1995-1996 Sun Microsystems, Inc. # Copyright (c) 1998-1999 by Scriptics Corporation. # -# RCS: @(#) $Id: makefile.vc,v 1.24 1999/02/03 02:59:17 stanton Exp $ +# RCS: @(#) $Id: makefile.vc,v 1.24.4.1 1999/03/03 00:38:46 stanton Exp $ # Does not depend on the presence of any environment variables in # order to compile tcl; all needed information is derived from @@ -67,6 +67,7 @@ NODEBUG = 1 ###################################################################### NAMEPREFIX = tcl +STUBPREFIX = $(NAMEPREFIX)stub DOTVERSION = 8.0 VERSION = 80 @@ -85,6 +86,10 @@ OUTDIR = $(TMPDIR) TCLLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib TCLDLLNAME = $(NAMEPREFIX)$(VERSION)$(DBGX).dll TCLDLL = $(OUTDIR)\$(TCLDLLNAME) + +TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION)$(DBGX).lib +TCLSTUBLIB = $(OUTDIR)\$(TCLSTUBLIBNAME) + TCLPLUGINLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)p$(DBGX).lib TCLPLUGINDLLNAME= $(NAMEPREFIX)$(VERSION)p$(DBGX).dll TCLPLUGINDLL = $(OUTDIR)\$(TCLPLUGINDLLNAME) @@ -116,7 +121,6 @@ TCLTESTOBJS = \ $(TMPDIR)\testMain.obj TCLOBJS = \ - $(TMPDIR)\panic.obj \ $(TMPDIR)\regexp.obj \ $(TMPDIR)\strftime.obj \ $(TMPDIR)\tclAlloc.obj \ @@ -152,6 +156,7 @@ TCLOBJS = \ $(TMPDIR)\tclNamesp.obj \ $(TMPDIR)\tclNotify.obj \ $(TMPDIR)\tclObj.obj \ + $(TMPDIR)\tclPanic.obj \ $(TMPDIR)\tclParse.obj \ $(TMPDIR)\tclPipe.obj \ $(TMPDIR)\tclPkg.obj \ @@ -160,6 +165,7 @@ TCLOBJS = \ $(TMPDIR)\tclResolve.obj \ $(TMPDIR)\tclProc.obj \ $(TMPDIR)\tclStringObj.obj \ + $(TMPDIR)\tclStubInit.obj \ $(TMPDIR)\tclTimer.obj \ $(TMPDIR)\tclUtil.obj \ $(TMPDIR)\tclVar.obj \ @@ -176,10 +182,18 @@ TCLOBJS = \ $(TMPDIR)\tclWinSock.obj \ $(TMPDIR)\tclWinTime.obj +TCLSTUBOBJS = \ + $(TMPDIR)\tclStubLib.obj \ + $(TMPDIR)\tclStubs.obj \ + $(TMPDIR)\tclPlatStubs.obj \ + $(TMPDIR)\tclIntStubs.obj \ + $(TMPDIR)\tclIntPlatStubs.obj + cc32 = "$(TOOLS32)\bin\cl.exe" link32 = "$(TOOLS32)\bin\link.exe" rc32 = "$(TOOLS32_rc)\bin\rc.exe" include32 = -I"$(TOOLS32)\include" +lib32 = "$(TOOLS32)\bin\lib.exe" cc16 = "$(TOOLS16)\bin\cl.exe" link16 = "$(TOOLS16)\bin\link.exe" @@ -317,6 +331,9 @@ $(TCLDLL): $(TCLOBJS) $(TMPDIR)\tcl.def $(TMPDIR)\tcl.res $(TCLOBJS) << +$(TCLSTUBLIB): $(TCLSTUBOBJS) + $(lib32) /out:$@ $(TCLSTUBOBJS) + $(TCLPLUGINLIB): $(TCLPLUGINDLL) $(TCLPLUGINDLL): $(TCLOBJS) $(TMPDIR)\plugin.def $(TMPDIR)\tcl.res @@ -369,10 +386,10 @@ $(TCLPIPEDLL): $(WINDIR)\stub16.c set LIB="$(TOOLS32)\lib" $(link32) $(ldebug) $(conlflags) -out:$@ $(TMPDIR)\stub16.obj $(guilibs) -$(TCLREGDLL): $(TMPDIR)\tclWinReg.obj +$(TCLREGDLL): $(TMPDIR)\tclWinReg.obj $(TCLSTUBLIB) set LIB="$(TOOLS32)\lib" $(link32) $(ldebug) $(dlllflags) -out:$@ $(TMPDIR)\tclWinReg.obj \ - $(conlibsdll) $(TCLLIB) + $(conlibsdll) $(TCLSTUBLIB) $(CAT32): $(WINDIR)\cat.c $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $? @@ -407,6 +424,8 @@ install-binaries: $(TCLSH) @copy $(TCLPIPEDLL) $(BIN_INSTALL_DIR) @echo installing $(TCLREGDLLNAME) @copy $(TCLREGDLL) $(LIB_INSTALL_DIR) + echo installing $(TCLSTUBLIBNAME) + copy $(TCLSTUBLIB) $(LIB_INSTALL_DIR) install-libraries: -@mkd $(LIB_INSTALL_DIR) @@ -434,12 +453,19 @@ package ifneeded registry 1.0 "load [list [file join $$dir .. $(TCLREGDLLNAME)]] -@copy $(ROOT)\library\word.tcl $(SCRIPT_INSTALL_DIR) # +# Regenerate the stubs files. +# + +stubs: + tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \ + $(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls + +# # Special case object file targets # $(TMPDIR)\tclWinInit.obj: $(WINDIR)\tclWinInit.c - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) $(EXTFLAGS) \ - -Fo$(TMPDIR)\ $? + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) $(EXTFLAGS) -Fo$(TMPDIR)\ $? $(TMPDIR)\testMain.obj: $(WINDIR)\tclAppInit.c $(cc32) $(TCL_CFLAGS) -DTCL_TEST -Fo$(TMPDIR)\testMain.obj $? @@ -456,18 +482,35 @@ $(TMPDIR)\tclWinTest.obj: $(WINDIR)\tclWinTest.c $(TMPDIR)\tclAppInit.obj : $(WINDIR)\tclAppInit.c $(cc32) $(TCL_CFLAGS) -Fo$@ $? +# The following objects should be built using the stub interfaces + +$(TMPDIR)\tclWinReg.obj : $(WINDIR)\tclWinReg.c + $(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -Fo$@ $? + +# The following objects are part of the stub library and should not +# be built as DLL objects but none of the symbols should be exported + +$(TMPDIR)\tclStubs.obj : $(GENERICDIR)\tclStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclPlatStubs.obj : $(GENERICDIR)\tclPlatStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclIntStubs.obj : $(GENERICDIR)\tclIntStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclPlatIntStubs.obj : $(GENERICDIR)\tclPlatIntStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? + # # Implicit rules # {$(WINDIR)}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(GENERICDIR)}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(ROOT)\compat}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(WINDIR)}.rc{$(TMPDIR)}.res: $(rc32) -fo $@ -r -i $(GENERICDIR) -i $(WINDIR) -D__WIN32__ \ diff --git a/win/tclWinFile.c b/win/tclWinFile.c index 4f0f26d..073bc92 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFile.c,v 1.3 1998/09/14 18:40:20 stanton Exp $ + * RCS: @(#) $Id: tclWinFile.c,v 1.3.4.1 1999/03/03 00:38:47 stanton Exp $ */ #include "tclWinInt.h" @@ -644,4 +644,30 @@ TclpAccess( } return result; } + +/* + *---------------------------------------------------------------------- + * + * TclpGetUserHome -- + * + * This function takes the passed in user name and finds the + * corresponding home directory specified in the password file. + * + * Results: + * On Windows we always return a NULL. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ +char * +TclpGetUserHome( + char *name, /* User name to use to find home directory. */ + Tcl_DString *bufferPtr) /* May be used to hold result. Must not hold + * anything at the time of the call, and need + * not even be initialized. */ +{ + return NULL; +} diff --git a/win/tclWinPort.h b/win/tclWinPort.h index faca7e7..b6334b6 100644 --- a/win/tclWinPort.h +++ b/win/tclWinPort.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinPort.h,v 1.6 1998/09/30 23:57:18 stanton Exp $ + * RCS: @(#) $Id: tclWinPort.h,v 1.6.4.1 1999/03/03 00:38:47 stanton Exp $ */ #ifndef _TCLWINPORT @@ -206,12 +206,6 @@ #endif /* - * Provide a stub definition for TclGetUserHome(). - */ - -#define TclGetUserHome(name,bufferPtr) (NULL) - -/* * Visual C++ has some odd names for common functions, so we need to * define a few macros to handle them. Also, it defines EDEADLOCK and * EDEADLK as the same value, which confuses Tcl_ErrnoId(). @@ -357,6 +351,8 @@ #define TclPlatformExit(status) exit(status) +#include "tclPlatDecls.h" + /* * The following declarations belong in tclInt.h, but depend on platform * specific types (e.g. struct tm). @@ -383,23 +379,7 @@ EXTERN int TclpAccess _ANSI_ARGS_((CONST char *path, #define TclpReleaseFile(file) ckfree((char *) file) -/* - * Declarations for Windows specific functions. - */ - -EXTERN void TclWinConvertError _ANSI_ARGS_((DWORD errCode)); -EXTERN void TclWinConvertWSAError _ANSI_ARGS_((DWORD errCode)); -EXTERN struct servent * PASCAL FAR - TclWinGetServByName _ANSI_ARGS_((const char FAR *nm, - const char FAR *proto)); -EXTERN int PASCAL FAR TclWinGetSockOpt _ANSI_ARGS_((SOCKET s, int level, - int optname, char FAR * optval, int FAR *optlen)); -EXTERN HINSTANCE TclWinGetTclInstance _ANSI_ARGS_((void)); -EXTERN HINSTANCE TclWinLoadLibrary _ANSI_ARGS_((char *name)); -EXTERN u_short PASCAL FAR - TclWinNToHS _ANSI_ARGS_((u_short ns)); -EXTERN int PASCAL FAR TclWinSetSockOpt _ANSI_ARGS_((SOCKET s, int level, - int optname, const char FAR * optval, int optlen)); +#include "tclIntPlatDecls.h" # undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/win/tclWinReg.c b/win/tclWinReg.c index 58d0b61..f07eeba 100644 --- a/win/tclWinReg.c +++ b/win/tclWinReg.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinReg.c,v 1.7 1999/02/02 22:25:21 stanton Exp $ + * RCS: @(#) $Id: tclWinReg.c,v 1.7.4.1 1999/03/03 00:38:47 stanton Exp $ */ #include <tcl.h> @@ -30,17 +30,6 @@ #define TCL_STORAGE_CLASS DLLEXPORT /* - * VC++ has an alternate entry point called DllMain, so we need to rename - * our entry point. - */ - -#ifdef DLL_BUILD -# if defined(_MSC_VER) -# define DllEntryPoint DllMain -# endif -#endif - -/* * The following macros convert between different endian ints. */ @@ -118,38 +107,7 @@ static int SetValue(Tcl_Interp *interp, Tcl_Obj *keyNameObj, Tcl_Obj *typeObj); EXTERN int Registry_Init(Tcl_Interp *interp); - -/* - *---------------------------------------------------------------------- - * - * DllEntryPoint -- - * - * This wrapper function is used by Windows to invoke the - * initialization code for the DLL. If we are compiling - * with Visual C++, this routine will be renamed to DllMain. - * routine. - * - * Results: - * Returns TRUE; - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ -#ifdef __WIN32__ -#ifdef DLL_BUILD -BOOL APIENTRY -DllEntryPoint( - HINSTANCE hInst, /* Library instance handle. */ - DWORD reason, /* Reason this function is being called. */ - LPVOID reserved) /* Not used. */ -{ - return TRUE; -} -#endif -#endif /* *---------------------------------------------------------------------- @@ -171,6 +129,9 @@ int Registry_Init( Tcl_Interp *interp) { + if (!Tcl_InitStubs(interp, "8.0", 0)) { + return TCL_ERROR; + } Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd, NULL, NULL); return Tcl_PkgProvide(interp, "registry", "1.0"); } diff --git a/win/tclWinSock.c b/win/tclWinSock.c index a8f2a2f..2c335f4 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinSock.c,v 1.5 1999/02/03 00:51:20 stanton Exp $ + * RCS: @(#) $Id: tclWinSock.c,v 1.5.4.1 1999/03/03 00:38:47 stanton Exp $ */ #include "tclInt.h" @@ -2081,7 +2081,7 @@ Tcl_GetHostName() *---------------------------------------------------------------------- */ -int PASCAL FAR +int TclWinGetSockOpt(SOCKET s, int level, int optname, char FAR * optval, int FAR *optlen) { @@ -2099,7 +2099,7 @@ TclWinGetSockOpt(SOCKET s, int level, int optname, char FAR * optval, return (*winSock.getsockopt)(s, level, optname, optval, optlen); } -int PASCAL FAR +int TclWinSetSockOpt(SOCKET s, int level, int optname, const char FAR * optval, int optlen) { @@ -2117,7 +2117,7 @@ TclWinSetSockOpt(SOCKET s, int level, int optname, const char FAR * optval, return (*winSock.setsockopt)(s, level, optname, optval, optlen); } -u_short PASCAL FAR +u_short TclWinNToHS(u_short netshort) { /* @@ -2134,8 +2134,8 @@ TclWinNToHS(u_short netshort) return (*winSock.ntohs)(netshort); } -struct servent FAR * PASCAL FAR -TclWinGetServByName(const char FAR * name, const char FAR * proto) +struct servent * +TclWinGetServByName(const char * name, const char * proto) { /* * Check that WinSock is initialized; do not call it if not, to @@ -2145,7 +2145,7 @@ TclWinGetServByName(const char FAR * name, const char FAR * proto) */ if (winSock.hInstance == NULL) { - return (struct servent FAR *) NULL; + return (struct servent *) NULL; } return (*winSock.getservbyname)(name, proto); |