--- blt-2.4z.orig/Makefile.in +++ blt-2.4z/Makefile.in @@ -47,9 +47,9 @@ (cd library; $(MAKE) install) (cd man; $(MAKE) install) (cd demos; $(MAKE) install) - $(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir) - $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir) - $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_DIR)$(scriptdir) + $(INSTALL_DATA) $(srcdir)/README $(INSTALL_ROOT)$(scriptdir) + $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_ROOT)$(scriptdir) + $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_ROOT)$(scriptdir) mkdirs: @for i in $(instdirs) ; do \ @@ -57,7 +57,7 @@ : ; \ else \ echo " mkdir $(INSTALL_ROOT)$$i" ; \ - mkdir $(INSTALL_ROOT)$$i ; \ + mkdir -p $(INSTALL_ROOT)$$i ; \ fi ; \ done @@ -66,10 +66,14 @@ (cd library; $(MAKE) clean) (cd man; $(MAKE) clean) (cd demos; $(MAKE) clean) - $(RM) *.bak *\~ "#"* *pure* .pure* + $(RM) *.bak *\~ "#"* .pure* GENERATED_FILES = \ config.status config.cache config.log Makefile distclean: clean + (cd src; $(MAKE) distclean) + (cd library; $(MAKE) distclean) + (cd man; $(MAKE) distclean) + (cd demos; $(MAKE) distclean) $(RM) $(GENERATED_FILES) --- blt-2.4z.orig/configure.in +++ blt-2.4z/configure.in @@ -349,7 +349,7 @@ old_flags="$CFLAGS" CFLAGS="-g -lm" AC_MSG_CHECKING([whether DBL_EPSILON can be computed]) - AC_TRY_RUN_WITH_OUTPUT(blt_cv_dbl_epsilon, [ + AC_TRY_RUN_WITH_OUTPUT([blt_cv_dbl_epsilon], [ main () { double e, u; /* @@ -1199,7 +1199,19 @@ SHLIB_CFLAGS="-fPIC" SHLIB_LD="${CC}" SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@' - LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + #LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + LD_RUN_PATH="" + + LDFLAGS="" + EXTRA_LIB_SPECS="-ldl" + ;; + + *-gnu*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="${CC}" + SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@' + #LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + LD_RUN_PATH="" LDFLAGS="" EXTRA_LIB_SPECS="-ldl" @@ -1343,6 +1355,8 @@ esac +SHLIB_LD_FLAGS="${SHLIB_LD_FLAGS} ${EXTRA_LDFLAGS}" + # If we're running gcc, then set SHLIB_CFLAGS flags for compiling # shared libraries for gcc, instead of those of the vendor's # compiler. --- blt-2.4z.orig/configure +++ blt-2.4z/configure @@ -4037,7 +4037,19 @@ SHLIB_CFLAGS="-fPIC" SHLIB_LD="${CC}" SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@' - LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + #LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + LD_RUN_PATH="" + + LDFLAGS="" + EXTRA_LIB_SPECS="-ldl" + ;; + + *-gnu*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="${CC}" + SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@' + #LD_RUN_PATH="-Wl,-rpath,${loader_run_path}" + LD_RUN_PATH="" LDFLAGS="" EXTRA_LIB_SPECS="-ldl" @@ -4214,6 +4226,8 @@ esac +SHLIB_LD_FLAGS="${SHLIB_LD_FLAGS} ${EXTRA_LDFLAGS}" + # If we're running gcc, then set SHLIB_CFLAGS flags for compiling # shared libraries for gcc, instead of those of the vendor's # compiler. --- blt-2.4z.orig/debian/blt-index.html +++ blt-2.4z/debian/blt-index.html @@ -0,0 +1,34 @@ + + +BLT Command Information + + +

Table of Contents

+ + + --- blt-2.4z.orig/debian/copyright +++ blt-2.4z/debian/copyright @@ -0,0 +1,24 @@ +This package was debianized by Gordon Russell on +Thu, 12 Mar 1998 11:19:54 +0000. + +It was downloaded from http://sourceforge.net/projects/blt + +Copyright: + + Copyright 1991-1998 by Bell Labs Innovations for Lucent Technologies. + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that the + copyright notice and warranty disclaimer appear in supporting documentation, + and that the names of Lucent Technologies any of their entities not be used + in advertising or publicity pertaining to distribution of the software + without specific, written prior permission. + + Lucent Technologies disclaims all warranties with regard to this software, + including all implied warranties of merchantability and fitness. In no event + shall Lucent Technologies be liable for any special, indirect or + consequential damages or any damages whatsoever resulting from loss of use, + data or profits, whether in an action of contract, negligence or other + tortuous action, arising out of or in connection with the use or performance + of this software. --- blt-2.4z.orig/debian/tclDecls.h.tcl8.4 +++ blt-2.4z/debian/tclDecls.h.tcl8.4 @@ -0,0 +1,4394 @@ +/* + * 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.93.2.7 2006/09/22 01:26:23 andreas_kupries 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 int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp* interp, + CONST char* name, CONST char* version, + ClientData clientData)); +/* 1 */ +EXTERN CONST84_RETURN char * Tcl_PkgRequireEx _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * name, + CONST char * version, int exact, + ClientData * clientDataPtr)); +/* 2 */ +EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); +/* 3 */ +EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); +/* 4 */ +EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr)); +/* 5 */ +EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr, + unsigned int size)); +/* 6 */ +EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, + CONST char * file, int line)); +/* 7 */ +EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, + CONST char * file, int line)); +/* 8 */ +EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, + unsigned int size, CONST char * file, + int line)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 9 */ +EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, + Tcl_FileProc * proc, ClientData clientData)); +#endif /* UNIX */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 10 */ +EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); +#endif /* UNIX */ +/* 11 */ +EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time * timePtr)); +/* 12 */ +EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); +/* 13 */ +EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time * timePtr)); +/* 14 */ +EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr)); +/* 15 */ +EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); +/* 16 */ +EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj* objPtr, + CONST char* bytes, int length)); +/* 17 */ +EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST objv[])); +/* 18 */ +EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); +/* 19 */ +EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST char * file, int line)); +/* 20 */ +EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST char * file, int line)); +/* 21 */ +EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST char * file, int line)); +/* 22 */ +EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, + CONST char * file, int line)); +/* 23 */ +EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_(( + CONST unsigned char * bytes, int length, + CONST char * file, int line)); +/* 24 */ +EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, + CONST char * file, int line)); +/* 25 */ +EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST * objv, CONST char * file, + int line)); +/* 26 */ +EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, + CONST char * file, int line)); +/* 27 */ +EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((CONST char * file, + int line)); +/* 28 */ +EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((CONST char * bytes, + int length, CONST char * file, int line)); +/* 29 */ +EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 30 */ +EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 31 */ +EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int * boolPtr)); +/* 32 */ +EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + int * boolPtr)); +/* 33 */ +EXTERN unsigned char * Tcl_GetByteArrayFromObj _ANSI_ARGS_(( + Tcl_Obj * objPtr, int * lengthPtr)); +/* 34 */ +EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, double * doublePtr)); +/* 35 */ +EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + double * doublePtr)); +/* 36 */ +EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, CONST84 char ** tablePtr, + CONST char * msg, int flags, int * indexPtr)); +/* 37 */ +EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int * intPtr)); +/* 38 */ +EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int * intPtr)); +/* 39 */ +EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, long * longPtr)); +/* 40 */ +EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((CONST char * typeName)); +/* 41 */ +EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int * lengthPtr)); +/* 42 */ +EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( + Tcl_Obj * objPtr)); +/* 43 */ +EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + Tcl_Obj * elemListPtr)); +/* 44 */ +EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + Tcl_Obj * objPtr)); +/* 45 */ +EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + int * objcPtr, Tcl_Obj *** objvPtr)); +/* 46 */ +EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int index, + Tcl_Obj ** objPtrPtr)); +/* 47 */ +EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int * lengthPtr)); +/* 48 */ +EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int first, int count, + int objc, Tcl_Obj *CONST objv[])); +/* 49 */ +EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); +/* 50 */ +EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_(( + CONST unsigned char* bytes, int length)); +/* 51 */ +EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); +/* 52 */ +EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); +/* 53 */ +EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST objv[])); +/* 54 */ +EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); +/* 55 */ +EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); +/* 56 */ +EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((CONST char * bytes, + int length)); +/* 57 */ +EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int boolValue)); +/* 58 */ +EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr, + int length)); +/* 59 */ +EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST unsigned char * bytes, int length)); +/* 60 */ +EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr, + double doubleValue)); +/* 61 */ +EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int intValue)); +/* 62 */ +EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int objc, Tcl_Obj *CONST objv[])); +/* 63 */ +EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj * objPtr, + long longValue)); +/* 64 */ +EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr, + int length)); +/* 65 */ +EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj* objPtr, + CONST char* bytes, int length)); +/* 66 */ +EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * message)); +/* 67 */ +EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * message, int length)); +/* 68 */ +EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp * interp)); +/* 69 */ +EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string)); +/* 70 */ +EXTERN void Tcl_AppendResult _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); +/* 71 */ +EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc * proc, + ClientData clientData)); +/* 72 */ +EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async)); +/* 73 */ +EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp * interp, + int code)); +/* 74 */ +EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); +/* 75 */ +EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void)); +/* 76 */ +EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp * interp)); +/* 77 */ +EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char * src, + int * readPtr)); +/* 78 */ +EXTERN int Tcl_BadChannelOption _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * optionName, + CONST char * optionList)); +/* 79 */ +EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_InterpDeleteProc * proc, + ClientData clientData)); +/* 80 */ +EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_(( + Tcl_IdleProc * idleProc, + ClientData clientData)); +/* 81 */ +EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Channel chan)); +/* 82 */ +EXTERN int Tcl_CommandComplete _ANSI_ARGS_((CONST char * cmd)); +/* 83 */ +EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, + CONST84 char * CONST * argv)); +/* 84 */ +EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char * src, + char * dst, int flags)); +/* 85 */ +EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_(( + CONST char * src, int length, char * dst, + int flags)); +/* 86 */ +EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp * slave, + CONST char * slaveCmd, Tcl_Interp * target, + CONST char * targetCmd, int argc, + CONST84 char * CONST * argv)); +/* 87 */ +EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp * slave, + CONST char * slaveCmd, Tcl_Interp * target, + CONST char * targetCmd, int objc, + Tcl_Obj *CONST objv[])); +/* 88 */ +EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_(( + Tcl_ChannelType * typePtr, + CONST char * chanName, + ClientData instanceData, int mask)); +/* 89 */ +EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_(( + Tcl_Channel chan, int mask, + Tcl_ChannelProc * proc, + ClientData clientData)); +/* 90 */ +EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_((Tcl_Channel chan, + Tcl_CloseProc * proc, ClientData clientData)); +/* 91 */ +EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmdName, Tcl_CmdProc * proc, + ClientData clientData, + Tcl_CmdDeleteProc * deleteProc)); +/* 92 */ +EXTERN void Tcl_CreateEventSource _ANSI_ARGS_(( + Tcl_EventSetupProc * setupProc, + Tcl_EventCheckProc * checkProc, + ClientData clientData)); +/* 93 */ +EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_(( + Tcl_ExitProc * proc, ClientData clientData)); +/* 94 */ +EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void)); +/* 95 */ +EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, int numArgs, + Tcl_ValueType * argTypes, + Tcl_MathProc * proc, ClientData clientData)); +/* 96 */ +EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * cmdName, + Tcl_ObjCmdProc * proc, ClientData clientData, + Tcl_CmdDeleteProc * deleteProc)); +/* 97 */ +EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * slaveName, int isSafe)); +/* 98 */ +EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds, + Tcl_TimerProc * proc, ClientData clientData)); +/* 99 */ +EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp * interp, + int level, Tcl_CmdTraceProc * proc, + ClientData clientData)); +/* 100 */ +EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name)); +/* 101 */ +EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_(( + Tcl_Channel chan, Tcl_ChannelProc * proc, + ClientData clientData)); +/* 102 */ +EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_((Tcl_Channel chan, + Tcl_CloseProc * proc, ClientData clientData)); +/* 103 */ +EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmdName)); +/* 104 */ +EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Command command)); +/* 105 */ +EXTERN void Tcl_DeleteEvents _ANSI_ARGS_(( + Tcl_EventDeleteProc * proc, + ClientData clientData)); +/* 106 */ +EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_(( + Tcl_EventSetupProc * setupProc, + Tcl_EventCheckProc * checkProc, + ClientData clientData)); +/* 107 */ +EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_(( + Tcl_ExitProc * proc, ClientData clientData)); +/* 108 */ +EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_(( + Tcl_HashEntry * entryPtr)); +/* 109 */ +EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_(( + Tcl_HashTable * tablePtr)); +/* 110 */ +EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp * interp)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 111 */ +EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, + Tcl_Pid * pidPtr)); +#endif /* UNIX */ +#ifdef __WIN32__ +/* 111 */ +EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, + Tcl_Pid * pidPtr)); +#endif /* __WIN32__ */ +/* 112 */ +EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_(( + Tcl_TimerToken token)); +/* 113 */ +EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Trace trace)); +/* 114 */ +EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_(( + Tcl_Interp * interp, + Tcl_InterpDeleteProc * proc, + ClientData clientData)); +/* 115 */ +EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags)); +/* 116 */ +EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc * proc, + ClientData clientData)); +/* 117 */ +EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString * dsPtr, + CONST char * str, int length)); +/* 118 */ +EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_(( + Tcl_DString * dsPtr, CONST char * string)); +/* 119 */ +EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_(( + Tcl_DString * dsPtr)); +/* 120 */ +EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString * dsPtr)); +/* 121 */ +EXTERN void Tcl_DStringGetResult _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_DString * dsPtr)); +/* 122 */ +EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString * dsPtr)); +/* 123 */ +EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_DString * dsPtr)); +/* 124 */ +EXTERN void Tcl_DStringSetLength _ANSI_ARGS_(( + Tcl_DString * dsPtr, int length)); +/* 125 */ +EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_(( + Tcl_DString * dsPtr)); +/* 126 */ +EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan)); +/* 127 */ +EXTERN CONST84_RETURN char * Tcl_ErrnoId _ANSI_ARGS_((void)); +/* 128 */ +EXTERN CONST84_RETURN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err)); +/* 129 */ +EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string)); +/* 130 */ +EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * fileName)); +/* 131 */ +EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr)); +/* 132 */ +EXTERN void Tcl_EventuallyFree _ANSI_ARGS_(( + ClientData clientData, + Tcl_FreeProc * freeProc)); +/* 133 */ +EXTERN void Tcl_Exit _ANSI_ARGS_((int status)); +/* 134 */ +EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * hiddenCmdToken, + CONST char * cmdName)); +/* 135 */ +EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int * ptr)); +/* 136 */ +EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int * ptr)); +/* 137 */ +EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, double * ptr)); +/* 138 */ +EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, double * ptr)); +/* 139 */ +EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, long * ptr)); +/* 140 */ +EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, long * ptr)); +/* 141 */ +EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); +/* 142 */ +EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string)); +/* 143 */ +EXTERN void Tcl_Finalize _ANSI_ARGS_((void)); +/* 144 */ +EXTERN void Tcl_FindExecutable _ANSI_ARGS_((CONST char * argv0)); +/* 145 */ +EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_(( + Tcl_HashTable * tablePtr, + Tcl_HashSearch * searchPtr)); +/* 146 */ +EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan)); +/* 147 */ +EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp * interp)); +/* 148 */ +EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * slaveCmd, + Tcl_Interp ** targetInterpPtr, + CONST84 char ** targetCmdPtr, int * argcPtr, + CONST84 char *** argvPtr)); +/* 149 */ +EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * slaveCmd, + Tcl_Interp ** targetInterpPtr, + CONST84 char ** targetCmdPtr, int * objcPtr, + Tcl_Obj *** objv)); +/* 150 */ +EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, + Tcl_InterpDeleteProc ** procPtr)); +/* 151 */ +EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * chanName, int * modePtr)); +/* 152 */ +EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_(( + Tcl_Channel chan)); +/* 153 */ +EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan, + int direction, ClientData * handlePtr)); +/* 154 */ +EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_(( + Tcl_Channel chan)); +/* 155 */ +EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan)); +/* 156 */ +EXTERN CONST84_RETURN char * Tcl_GetChannelName _ANSI_ARGS_(( + Tcl_Channel chan)); +/* 157 */ +EXTERN int Tcl_GetChannelOption _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Channel chan, + CONST char * optionName, Tcl_DString * dsPtr)); +/* 158 */ +EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan)); +/* 159 */ +EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmdName, Tcl_CmdInfo * infoPtr)); +/* 160 */ +EXTERN CONST84_RETURN char * Tcl_GetCommandName _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Command command)); +/* 161 */ +EXTERN int Tcl_GetErrno _ANSI_ARGS_((void)); +/* 162 */ +EXTERN CONST84_RETURN char * Tcl_GetHostName _ANSI_ARGS_((void)); +/* 163 */ +EXTERN int Tcl_GetInterpPath _ANSI_ARGS_(( + Tcl_Interp * askInterp, + Tcl_Interp * slaveInterp)); +/* 164 */ +EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp * interp)); +/* 165 */ +EXTERN CONST char * Tcl_GetNameOfExecutable _ANSI_ARGS_((void)); +/* 166 */ +EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp * interp)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 167 */ +EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int forWriting, + int checkUsage, ClientData * filePtr)); +#endif /* UNIX */ +/* 168 */ +EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((CONST char * path)); +/* 169 */ +EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan, + Tcl_DString * dsPtr)); +/* 170 */ +EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan, + Tcl_Obj * objPtr)); +/* 171 */ +EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void)); +/* 172 */ +EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * slaveName)); +/* 173 */ +EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type)); +/* 174 */ +EXTERN CONST84_RETURN char * Tcl_GetStringResult _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 175 */ +EXTERN CONST84_RETURN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags)); +/* 176 */ +EXTERN CONST84_RETURN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags)); +/* 177 */ +EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * command)); +/* 178 */ +EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr)); +/* 179 */ +EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmdName, + CONST char * hiddenCmdToken)); +/* 180 */ +EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp * interp)); +/* 181 */ +EXTERN void Tcl_InitHashTable _ANSI_ARGS_(( + Tcl_HashTable * tablePtr, int keyType)); +/* 182 */ +EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan)); +/* 183 */ +EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan)); +/* 184 */ +EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp * interp)); +/* 185 */ +EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp * interp)); +/* 186 */ +EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, + CONST84 char * CONST * argv, + Tcl_DString * resultPtr)); +/* 187 */ +EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, char * addr, int type)); +/* Slot 188 is reserved */ +/* 189 */ +EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle, + int mode)); +/* 190 */ +EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp * interp)); +/* 191 */ +EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_(( + ClientData tcpSocket)); +/* 192 */ +EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, + CONST84 char * CONST * argv)); +/* 193 */ +EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_(( + Tcl_HashSearch * searchPtr)); +/* 194 */ +EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel, + int mask)); +/* 195 */ +EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, + int flags)); +/* 196 */ +EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, + Tcl_Obj * newValuePtr, int flags)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 197 */ +EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( + Tcl_Interp * interp, int argc, + CONST84 char ** argv, int flags)); +#endif /* UNIX */ +#ifdef __WIN32__ +/* 197 */ +EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( + Tcl_Interp * interp, int argc, + CONST84 char ** argv, int flags)); +#endif /* __WIN32__ */ +/* 198 */ +EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * fileName, + CONST char * modeString, int permissions)); +/* 199 */ +EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp * interp, + int port, CONST char * address, + CONST char * myaddr, int myport, int async)); +/* 200 */ +EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp * interp, + int port, CONST char * host, + Tcl_TcpAcceptProc * acceptProc, + ClientData callbackData)); +/* 201 */ +EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data)); +/* 202 */ +EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp * interp, + double value, char * dst)); +/* 203 */ +EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char * string)); +/* 204 */ +EXTERN CONST84_RETURN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp * interp)); +/* 205 */ +EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event * evPtr, + Tcl_QueuePosition position)); +/* 206 */ +EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan, + char * bufPtr, int toRead)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 207 */ +EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); +#endif /* UNIX */ +#ifdef __WIN32__ +/* 207 */ +EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); +#endif /* __WIN32__ */ +/* 208 */ +EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmd, int flags)); +/* 209 */ +EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * cmdPtr, + int flags)); +/* 210 */ +EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Channel chan)); +/* 211 */ +EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( + Tcl_ObjType * typePtr)); +/* 212 */ +EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string)); +/* 213 */ +EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_RegExp regexp, CONST char * str, + CONST char * start)); +/* 214 */ +EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, CONST char * pattern)); +/* 215 */ +EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp, + int index, CONST84 char ** startPtr, + CONST84 char ** endPtr)); +/* 216 */ +EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData)); +/* 217 */ +EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp * interp)); +/* 218 */ +EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char * str, + int * flagPtr)); +/* 219 */ +EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_((CONST char * str, + int length, int * flagPtr)); +/* 220 */ +EXTERN int Tcl_SeekOld _ANSI_ARGS_((Tcl_Channel chan, + int offset, int mode)); +/* 221 */ +EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void)); +/* 222 */ +EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags)); +/* 223 */ +EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, + Tcl_InterpDeleteProc * proc, + ClientData clientData)); +/* 224 */ +EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_(( + Tcl_Channel chan, int sz)); +/* 225 */ +EXTERN int Tcl_SetChannelOption _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Channel chan, + CONST char * optionName, + CONST char * newValue)); +/* 226 */ +EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * cmdName, + CONST Tcl_CmdInfo * infoPtr)); +/* 227 */ +EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); +/* 228 */ +EXTERN void Tcl_SetErrorCode _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); +/* 229 */ +EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time * timePtr)); +/* 230 */ +EXTERN void Tcl_SetPanicProc _ANSI_ARGS_(( + Tcl_PanicProc * panicProc)); +/* 231 */ +EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_(( + Tcl_Interp * interp, int depth)); +/* 232 */ +EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp * interp, + char * str, Tcl_FreeProc * freeProc)); +/* 233 */ +EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode)); +/* 234 */ +EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * errorObjPtr)); +/* 235 */ +EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * resultObjPtr)); +/* 236 */ +EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel, + int type)); +/* 237 */ +EXTERN CONST84_RETURN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, CONST char * newValue, + int flags)); +/* 238 */ +EXTERN CONST84_RETURN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + CONST char * newValue, int flags)); +/* 239 */ +EXTERN CONST84_RETURN char * Tcl_SignalId _ANSI_ARGS_((int sig)); +/* 240 */ +EXTERN CONST84_RETURN char * Tcl_SignalMsg _ANSI_ARGS_((int sig)); +/* 241 */ +EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp * interp)); +/* 242 */ +EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * listStr, int * argcPtr, + CONST84 char *** argvPtr)); +/* 243 */ +EXTERN void Tcl_SplitPath _ANSI_ARGS_((CONST char * path, + int * argcPtr, CONST84 char *** argvPtr)); +/* 244 */ +EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * pkgName, + Tcl_PackageInitProc * initProc, + Tcl_PackageInitProc * safeInitProc)); +/* 245 */ +EXTERN int Tcl_StringMatch _ANSI_ARGS_((CONST char * str, + CONST char * pattern)); +/* 246 */ +EXTERN int Tcl_TellOld _ANSI_ARGS_((Tcl_Channel chan)); +/* 247 */ +EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags, + Tcl_VarTraceProc * proc, + ClientData clientData)); +/* 248 */ +EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags, Tcl_VarTraceProc * proc, + ClientData clientData)); +/* 249 */ +EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * name, + Tcl_DString * bufferPtr)); +/* 250 */ +EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, + CONST char * str, int len, int atHead)); +/* 251 */ +EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName)); +/* 252 */ +EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Channel chan)); +/* 253 */ +EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags)); +/* 254 */ +EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags)); +/* 255 */ +EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags, + Tcl_VarTraceProc * proc, + ClientData clientData)); +/* 256 */ +EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags, Tcl_VarTraceProc * proc, + ClientData clientData)); +/* 257 */ +EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName)); +/* 258 */ +EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * frameName, CONST char * varName, + CONST char * localName, int flags)); +/* 259 */ +EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * frameName, CONST char * part1, + CONST char * part2, CONST char * localName, + int flags)); +/* 260 */ +EXTERN int Tcl_VarEval _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); +/* 261 */ +EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags, + Tcl_VarTraceProc * procPtr, + ClientData prevClientData)); +/* 262 */ +EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags, Tcl_VarTraceProc * procPtr, + ClientData prevClientData)); +/* 263 */ +EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, + CONST char * s, int slen)); +/* 264 */ +EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[], + CONST char * message)); +/* 265 */ +EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_(( + CONST char * fileName)); +/* 266 */ +EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((CONST char * file, + int line)); +/* 267 */ +EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 268 */ +EXTERN void Tcl_AppendStringsToObjVA _ANSI_ARGS_(( + Tcl_Obj * objPtr, va_list argList)); +/* 269 */ +EXTERN CONST84_RETURN char * Tcl_HashStats _ANSI_ARGS_(( + Tcl_HashTable * tablePtr)); +/* 270 */ +EXTERN CONST84_RETURN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, CONST84 char ** termPtr)); +/* 271 */ +EXTERN CONST84_RETURN char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, CONST char * version, + int exact)); +/* 272 */ +EXTERN CONST84_RETURN char * Tcl_PkgPresentEx _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * name, + CONST char * version, int exact, + ClientData * clientDataPtr)); +/* 273 */ +EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, CONST char * version)); +/* 274 */ +EXTERN CONST84_RETURN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, CONST char * version, + int exact)); +/* 275 */ +EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 276 */ +EXTERN int Tcl_VarEvalVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 277 */ +EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, + int options)); +/* 278 */ +EXTERN void Tcl_PanicVA _ANSI_ARGS_((CONST char * format, + va_list argList)); +/* 279 */ +EXTERN void Tcl_GetVersion _ANSI_ARGS_((int * major, int * minor, + int * patchLevel, int * type)); +/* 280 */ +EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp * interp)); +/* 281 */ +EXTERN Tcl_Channel Tcl_StackChannel _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_ChannelType * typePtr, + ClientData instanceData, int mask, + Tcl_Channel prevChan)); +/* 282 */ +EXTERN int Tcl_UnstackChannel _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Channel chan)); +/* 283 */ +EXTERN Tcl_Channel Tcl_GetStackedChannel _ANSI_ARGS_((Tcl_Channel chan)); +/* 284 */ +EXTERN void Tcl_SetMainLoop _ANSI_ARGS_((Tcl_MainLoopProc * proc)); +/* Slot 285 is reserved */ +/* 286 */ +EXTERN void Tcl_AppendObjToObj _ANSI_ARGS_((Tcl_Obj * objPtr, + Tcl_Obj * appendObjPtr)); +/* 287 */ +EXTERN Tcl_Encoding Tcl_CreateEncoding _ANSI_ARGS_(( + Tcl_EncodingType * typePtr)); +/* 288 */ +EXTERN void Tcl_CreateThreadExitHandler _ANSI_ARGS_(( + Tcl_ExitProc * proc, ClientData clientData)); +/* 289 */ +EXTERN void Tcl_DeleteThreadExitHandler _ANSI_ARGS_(( + Tcl_ExitProc * proc, ClientData clientData)); +/* 290 */ +EXTERN void Tcl_DiscardResult _ANSI_ARGS_(( + Tcl_SavedResult * statePtr)); +/* 291 */ +EXTERN int Tcl_EvalEx _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * script, int numBytes, int flags)); +/* 292 */ +EXTERN int Tcl_EvalObjv _ANSI_ARGS_((Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[], int flags)); +/* 293 */ +EXTERN int Tcl_EvalObjEx _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int flags)); +/* 294 */ +EXTERN void Tcl_ExitThread _ANSI_ARGS_((int status)); +/* 295 */ +EXTERN int Tcl_ExternalToUtf _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Encoding encoding, CONST char * src, + int srcLen, int flags, + Tcl_EncodingState * statePtr, char * dst, + int dstLen, int * srcReadPtr, + int * dstWrotePtr, int * dstCharsPtr)); +/* 296 */ +EXTERN char * Tcl_ExternalToUtfDString _ANSI_ARGS_(( + Tcl_Encoding encoding, CONST char * src, + int srcLen, Tcl_DString * dsPtr)); +/* 297 */ +EXTERN void Tcl_FinalizeThread _ANSI_ARGS_((void)); +/* 298 */ +EXTERN void Tcl_FinalizeNotifier _ANSI_ARGS_(( + ClientData clientData)); +/* 299 */ +EXTERN void Tcl_FreeEncoding _ANSI_ARGS_((Tcl_Encoding encoding)); +/* 300 */ +EXTERN Tcl_ThreadId Tcl_GetCurrentThread _ANSI_ARGS_((void)); +/* 301 */ +EXTERN Tcl_Encoding Tcl_GetEncoding _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name)); +/* 302 */ +EXTERN CONST84_RETURN char * Tcl_GetEncodingName _ANSI_ARGS_(( + Tcl_Encoding encoding)); +/* 303 */ +EXTERN void Tcl_GetEncodingNames _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 304 */ +EXTERN int Tcl_GetIndexFromObjStruct _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + CONST VOID * tablePtr, int offset, + CONST char * msg, int flags, int * indexPtr)); +/* 305 */ +EXTERN VOID * Tcl_GetThreadData _ANSI_ARGS_(( + Tcl_ThreadDataKey * keyPtr, int size)); +/* 306 */ +EXTERN Tcl_Obj * Tcl_GetVar2Ex _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + int flags)); +/* 307 */ +EXTERN ClientData Tcl_InitNotifier _ANSI_ARGS_((void)); +/* 308 */ +EXTERN void Tcl_MutexLock _ANSI_ARGS_((Tcl_Mutex * mutexPtr)); +/* 309 */ +EXTERN void Tcl_MutexUnlock _ANSI_ARGS_((Tcl_Mutex * mutexPtr)); +/* 310 */ +EXTERN void Tcl_ConditionNotify _ANSI_ARGS_(( + Tcl_Condition * condPtr)); +/* 311 */ +EXTERN void Tcl_ConditionWait _ANSI_ARGS_(( + Tcl_Condition * condPtr, + Tcl_Mutex * mutexPtr, Tcl_Time * timePtr)); +/* 312 */ +EXTERN int Tcl_NumUtfChars _ANSI_ARGS_((CONST char * src, + int len)); +/* 313 */ +EXTERN int Tcl_ReadChars _ANSI_ARGS_((Tcl_Channel channel, + Tcl_Obj * objPtr, int charsToRead, + int appendFlag)); +/* 314 */ +EXTERN void Tcl_RestoreResult _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_SavedResult * statePtr)); +/* 315 */ +EXTERN void Tcl_SaveResult _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_SavedResult * statePtr)); +/* 316 */ +EXTERN int Tcl_SetSystemEncoding _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * name)); +/* 317 */ +EXTERN Tcl_Obj * Tcl_SetVar2Ex _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * part1, CONST char * part2, + Tcl_Obj * newValuePtr, int flags)); +/* 318 */ +EXTERN void Tcl_ThreadAlert _ANSI_ARGS_((Tcl_ThreadId threadId)); +/* 319 */ +EXTERN void Tcl_ThreadQueueEvent _ANSI_ARGS_(( + Tcl_ThreadId threadId, Tcl_Event* evPtr, + Tcl_QueuePosition position)); +/* 320 */ +EXTERN Tcl_UniChar Tcl_UniCharAtIndex _ANSI_ARGS_((CONST char * src, + int index)); +/* 321 */ +EXTERN Tcl_UniChar Tcl_UniCharToLower _ANSI_ARGS_((int ch)); +/* 322 */ +EXTERN Tcl_UniChar Tcl_UniCharToTitle _ANSI_ARGS_((int ch)); +/* 323 */ +EXTERN Tcl_UniChar Tcl_UniCharToUpper _ANSI_ARGS_((int ch)); +/* 324 */ +EXTERN int Tcl_UniCharToUtf _ANSI_ARGS_((int ch, char * buf)); +/* 325 */ +EXTERN CONST84_RETURN char * Tcl_UtfAtIndex _ANSI_ARGS_((CONST char * src, + int index)); +/* 326 */ +EXTERN int Tcl_UtfCharComplete _ANSI_ARGS_((CONST char * src, + int len)); +/* 327 */ +EXTERN int Tcl_UtfBackslash _ANSI_ARGS_((CONST char * src, + int * readPtr, char * dst)); +/* 328 */ +EXTERN CONST84_RETURN char * Tcl_UtfFindFirst _ANSI_ARGS_((CONST char * src, + int ch)); +/* 329 */ +EXTERN CONST84_RETURN char * Tcl_UtfFindLast _ANSI_ARGS_((CONST char * src, + int ch)); +/* 330 */ +EXTERN CONST84_RETURN char * Tcl_UtfNext _ANSI_ARGS_((CONST char * src)); +/* 331 */ +EXTERN CONST84_RETURN char * Tcl_UtfPrev _ANSI_ARGS_((CONST char * src, + CONST char * start)); +/* 332 */ +EXTERN int Tcl_UtfToExternal _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Encoding encoding, CONST char * src, + int srcLen, int flags, + Tcl_EncodingState * statePtr, char * dst, + int dstLen, int * srcReadPtr, + int * dstWrotePtr, int * dstCharsPtr)); +/* 333 */ +EXTERN char * Tcl_UtfToExternalDString _ANSI_ARGS_(( + Tcl_Encoding encoding, CONST char * src, + int srcLen, Tcl_DString * dsPtr)); +/* 334 */ +EXTERN int Tcl_UtfToLower _ANSI_ARGS_((char * src)); +/* 335 */ +EXTERN int Tcl_UtfToTitle _ANSI_ARGS_((char * src)); +/* 336 */ +EXTERN int Tcl_UtfToUniChar _ANSI_ARGS_((CONST char * src, + Tcl_UniChar * chPtr)); +/* 337 */ +EXTERN int Tcl_UtfToUpper _ANSI_ARGS_((char * src)); +/* 338 */ +EXTERN int Tcl_WriteChars _ANSI_ARGS_((Tcl_Channel chan, + CONST char * src, int srcLen)); +/* 339 */ +EXTERN int Tcl_WriteObj _ANSI_ARGS_((Tcl_Channel chan, + Tcl_Obj * objPtr)); +/* 340 */ +EXTERN char * Tcl_GetString _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 341 */ +EXTERN CONST84_RETURN char * Tcl_GetDefaultEncodingDir _ANSI_ARGS_((void)); +/* 342 */ +EXTERN void Tcl_SetDefaultEncodingDir _ANSI_ARGS_(( + CONST char * path)); +/* 343 */ +EXTERN void Tcl_AlertNotifier _ANSI_ARGS_((ClientData clientData)); +/* 344 */ +EXTERN void Tcl_ServiceModeHook _ANSI_ARGS_((int mode)); +/* 345 */ +EXTERN int Tcl_UniCharIsAlnum _ANSI_ARGS_((int ch)); +/* 346 */ +EXTERN int Tcl_UniCharIsAlpha _ANSI_ARGS_((int ch)); +/* 347 */ +EXTERN int Tcl_UniCharIsDigit _ANSI_ARGS_((int ch)); +/* 348 */ +EXTERN int Tcl_UniCharIsLower _ANSI_ARGS_((int ch)); +/* 349 */ +EXTERN int Tcl_UniCharIsSpace _ANSI_ARGS_((int ch)); +/* 350 */ +EXTERN int Tcl_UniCharIsUpper _ANSI_ARGS_((int ch)); +/* 351 */ +EXTERN int Tcl_UniCharIsWordChar _ANSI_ARGS_((int ch)); +/* 352 */ +EXTERN int Tcl_UniCharLen _ANSI_ARGS_((CONST Tcl_UniChar * str)); +/* 353 */ +EXTERN int Tcl_UniCharNcmp _ANSI_ARGS_((CONST Tcl_UniChar * cs, + CONST Tcl_UniChar * ct, unsigned long n)); +/* 354 */ +EXTERN char * Tcl_UniCharToUtfDString _ANSI_ARGS_(( + CONST Tcl_UniChar * string, int numChars, + Tcl_DString * dsPtr)); +/* 355 */ +EXTERN Tcl_UniChar * Tcl_UtfToUniCharDString _ANSI_ARGS_(( + CONST char * string, int length, + Tcl_DString * dsPtr)); +/* 356 */ +EXTERN Tcl_RegExp Tcl_GetRegExpFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * patObj, + int flags)); +/* 357 */ +EXTERN Tcl_Obj * Tcl_EvalTokens _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Token * tokenPtr, int count)); +/* 358 */ +EXTERN void Tcl_FreeParse _ANSI_ARGS_((Tcl_Parse * parsePtr)); +/* 359 */ +EXTERN void Tcl_LogCommandInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * script, CONST char * command, + int length)); +/* 360 */ +EXTERN int Tcl_ParseBraces _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string, int numBytes, + Tcl_Parse * parsePtr, int append, + CONST84 char ** termPtr)); +/* 361 */ +EXTERN int Tcl_ParseCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string, int numBytes, + int nested, Tcl_Parse * parsePtr)); +/* 362 */ +EXTERN int Tcl_ParseExpr _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string, int numBytes, + Tcl_Parse * parsePtr)); +/* 363 */ +EXTERN int Tcl_ParseQuotedString _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * string, + int numBytes, Tcl_Parse * parsePtr, + int append, CONST84 char ** termPtr)); +/* 364 */ +EXTERN int Tcl_ParseVarName _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * string, int numBytes, + Tcl_Parse * parsePtr, int append)); +/* 365 */ +EXTERN char * Tcl_GetCwd _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_DString * cwdPtr)); +/* 366 */ +EXTERN int Tcl_Chdir _ANSI_ARGS_((CONST char * dirName)); +/* 367 */ +EXTERN int Tcl_Access _ANSI_ARGS_((CONST char * path, int mode)); +/* 368 */ +EXTERN int Tcl_Stat _ANSI_ARGS_((CONST char * path, + struct stat * bufPtr)); +/* 369 */ +EXTERN int Tcl_UtfNcmp _ANSI_ARGS_((CONST char * s1, + CONST char * s2, unsigned long n)); +/* 370 */ +EXTERN int Tcl_UtfNcasecmp _ANSI_ARGS_((CONST char * s1, + CONST char * s2, unsigned long n)); +/* 371 */ +EXTERN int Tcl_StringCaseMatch _ANSI_ARGS_((CONST char * str, + CONST char * pattern, int nocase)); +/* 372 */ +EXTERN int Tcl_UniCharIsControl _ANSI_ARGS_((int ch)); +/* 373 */ +EXTERN int Tcl_UniCharIsGraph _ANSI_ARGS_((int ch)); +/* 374 */ +EXTERN int Tcl_UniCharIsPrint _ANSI_ARGS_((int ch)); +/* 375 */ +EXTERN int Tcl_UniCharIsPunct _ANSI_ARGS_((int ch)); +/* 376 */ +EXTERN int Tcl_RegExpExecObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_RegExp regexp, Tcl_Obj * objPtr, + int offset, int nmatches, int flags)); +/* 377 */ +EXTERN void Tcl_RegExpGetInfo _ANSI_ARGS_((Tcl_RegExp regexp, + Tcl_RegExpInfo * infoPtr)); +/* 378 */ +EXTERN Tcl_Obj * Tcl_NewUnicodeObj _ANSI_ARGS_(( + CONST Tcl_UniChar * unicode, int numChars)); +/* 379 */ +EXTERN void Tcl_SetUnicodeObj _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST Tcl_UniChar * unicode, int numChars)); +/* 380 */ +EXTERN int Tcl_GetCharLength _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 381 */ +EXTERN Tcl_UniChar Tcl_GetUniChar _ANSI_ARGS_((Tcl_Obj * objPtr, + int index)); +/* 382 */ +EXTERN Tcl_UniChar * Tcl_GetUnicode _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 383 */ +EXTERN Tcl_Obj * Tcl_GetRange _ANSI_ARGS_((Tcl_Obj * objPtr, + int first, int last)); +/* 384 */ +EXTERN void Tcl_AppendUnicodeToObj _ANSI_ARGS_((Tcl_Obj * objPtr, + CONST Tcl_UniChar * unicode, int length)); +/* 385 */ +EXTERN int Tcl_RegExpMatchObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * stringObj, Tcl_Obj * patternObj)); +/* 386 */ +EXTERN void Tcl_SetNotifier _ANSI_ARGS_(( + Tcl_NotifierProcs * notifierProcPtr)); +/* 387 */ +EXTERN Tcl_Mutex * Tcl_GetAllocMutex _ANSI_ARGS_((void)); +/* 388 */ +EXTERN int Tcl_GetChannelNames _ANSI_ARGS_((Tcl_Interp * interp)); +/* 389 */ +EXTERN int Tcl_GetChannelNamesEx _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * pattern)); +/* 390 */ +EXTERN int Tcl_ProcObjCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp * interp, int objc, + Tcl_Obj *CONST objv[])); +/* 391 */ +EXTERN void Tcl_ConditionFinalize _ANSI_ARGS_(( + Tcl_Condition * condPtr)); +/* 392 */ +EXTERN void Tcl_MutexFinalize _ANSI_ARGS_((Tcl_Mutex * mutex)); +/* 393 */ +EXTERN int Tcl_CreateThread _ANSI_ARGS_((Tcl_ThreadId * idPtr, + Tcl_ThreadCreateProc proc, + ClientData clientData, int stackSize, + int flags)); +/* 394 */ +EXTERN int Tcl_ReadRaw _ANSI_ARGS_((Tcl_Channel chan, + char * dst, int bytesToRead)); +/* 395 */ +EXTERN int Tcl_WriteRaw _ANSI_ARGS_((Tcl_Channel chan, + CONST char * src, int srcLen)); +/* 396 */ +EXTERN Tcl_Channel Tcl_GetTopChannel _ANSI_ARGS_((Tcl_Channel chan)); +/* 397 */ +EXTERN int Tcl_ChannelBuffered _ANSI_ARGS_((Tcl_Channel chan)); +/* 398 */ +EXTERN CONST84_RETURN char * Tcl_ChannelName _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 399 */ +EXTERN Tcl_ChannelTypeVersion Tcl_ChannelVersion _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 400 */ +EXTERN Tcl_DriverBlockModeProc * Tcl_ChannelBlockModeProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 401 */ +EXTERN Tcl_DriverCloseProc * Tcl_ChannelCloseProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 402 */ +EXTERN Tcl_DriverClose2Proc * Tcl_ChannelClose2Proc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 403 */ +EXTERN Tcl_DriverInputProc * Tcl_ChannelInputProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 404 */ +EXTERN Tcl_DriverOutputProc * Tcl_ChannelOutputProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 405 */ +EXTERN Tcl_DriverSeekProc * Tcl_ChannelSeekProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 406 */ +EXTERN Tcl_DriverSetOptionProc * Tcl_ChannelSetOptionProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 407 */ +EXTERN Tcl_DriverGetOptionProc * Tcl_ChannelGetOptionProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 408 */ +EXTERN Tcl_DriverWatchProc * Tcl_ChannelWatchProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 409 */ +EXTERN Tcl_DriverGetHandleProc * Tcl_ChannelGetHandleProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 410 */ +EXTERN Tcl_DriverFlushProc * Tcl_ChannelFlushProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 411 */ +EXTERN Tcl_DriverHandlerProc * Tcl_ChannelHandlerProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* 412 */ +EXTERN int Tcl_JoinThread _ANSI_ARGS_((Tcl_ThreadId threadId, + int* result)); +/* 413 */ +EXTERN int Tcl_IsChannelShared _ANSI_ARGS_((Tcl_Channel channel)); +/* 414 */ +EXTERN int Tcl_IsChannelRegistered _ANSI_ARGS_(( + Tcl_Interp* interp, Tcl_Channel channel)); +/* 415 */ +EXTERN void Tcl_CutChannel _ANSI_ARGS_((Tcl_Channel channel)); +/* 416 */ +EXTERN void Tcl_SpliceChannel _ANSI_ARGS_((Tcl_Channel channel)); +/* 417 */ +EXTERN void Tcl_ClearChannelHandlers _ANSI_ARGS_(( + Tcl_Channel channel)); +/* 418 */ +EXTERN int Tcl_IsChannelExisting _ANSI_ARGS_(( + CONST char* channelName)); +/* 419 */ +EXTERN int Tcl_UniCharNcasecmp _ANSI_ARGS_(( + CONST Tcl_UniChar * cs, + CONST Tcl_UniChar * ct, unsigned long n)); +/* 420 */ +EXTERN int Tcl_UniCharCaseMatch _ANSI_ARGS_(( + CONST Tcl_UniChar * ustr, + CONST Tcl_UniChar * pattern, int nocase)); +/* 421 */ +EXTERN Tcl_HashEntry * Tcl_FindHashEntry _ANSI_ARGS_(( + Tcl_HashTable * tablePtr, CONST char * key)); +/* 422 */ +EXTERN Tcl_HashEntry * Tcl_CreateHashEntry _ANSI_ARGS_(( + Tcl_HashTable * tablePtr, CONST char * key, + int * newPtr)); +/* 423 */ +EXTERN void Tcl_InitCustomHashTable _ANSI_ARGS_(( + Tcl_HashTable * tablePtr, int keyType, + Tcl_HashKeyType * typePtr)); +/* 424 */ +EXTERN void Tcl_InitObjHashTable _ANSI_ARGS_(( + Tcl_HashTable * tablePtr)); +/* 425 */ +EXTERN ClientData Tcl_CommandTraceInfo _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * varName, + int flags, Tcl_CommandTraceProc * procPtr, + ClientData prevClientData)); +/* 426 */ +EXTERN int Tcl_TraceCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags, + Tcl_CommandTraceProc * proc, + ClientData clientData)); +/* 427 */ +EXTERN void Tcl_UntraceCommand _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * varName, int flags, + Tcl_CommandTraceProc * proc, + ClientData clientData)); +/* 428 */ +EXTERN char * Tcl_AttemptAlloc _ANSI_ARGS_((unsigned int size)); +/* 429 */ +EXTERN char * Tcl_AttemptDbCkalloc _ANSI_ARGS_((unsigned int size, + CONST char * file, int line)); +/* 430 */ +EXTERN char * Tcl_AttemptRealloc _ANSI_ARGS_((char * ptr, + unsigned int size)); +/* 431 */ +EXTERN char * Tcl_AttemptDbCkrealloc _ANSI_ARGS_((char * ptr, + unsigned int size, CONST char * file, + int line)); +/* 432 */ +EXTERN int Tcl_AttemptSetObjLength _ANSI_ARGS_(( + Tcl_Obj * objPtr, int length)); +/* 433 */ +EXTERN Tcl_ThreadId Tcl_GetChannelThread _ANSI_ARGS_(( + Tcl_Channel channel)); +/* 434 */ +EXTERN Tcl_UniChar * Tcl_GetUnicodeFromObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int * lengthPtr)); +/* 435 */ +EXTERN int Tcl_GetMathFuncInfo _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, int * numArgsPtr, + Tcl_ValueType ** argTypesPtr, + Tcl_MathProc ** procPtr, + ClientData * clientDataPtr)); +/* 436 */ +EXTERN Tcl_Obj * Tcl_ListMathFuncs _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * pattern)); +/* 437 */ +EXTERN Tcl_Obj * Tcl_SubstObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int flags)); +/* 438 */ +EXTERN int Tcl_DetachChannel _ANSI_ARGS_((Tcl_Interp* interp, + Tcl_Channel channel)); +/* 439 */ +EXTERN int Tcl_IsStandardChannel _ANSI_ARGS_(( + Tcl_Channel channel)); +/* 440 */ +EXTERN int Tcl_FSCopyFile _ANSI_ARGS_((Tcl_Obj * srcPathPtr, + Tcl_Obj * destPathPtr)); +/* 441 */ +EXTERN int Tcl_FSCopyDirectory _ANSI_ARGS_(( + Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr, + Tcl_Obj ** errorPtr)); +/* 442 */ +EXTERN int Tcl_FSCreateDirectory _ANSI_ARGS_((Tcl_Obj * pathPtr)); +/* 443 */ +EXTERN int Tcl_FSDeleteFile _ANSI_ARGS_((Tcl_Obj * pathPtr)); +/* 444 */ +EXTERN int Tcl_FSLoadFile _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * pathPtr, CONST char * sym1, + CONST char * sym2, + Tcl_PackageInitProc ** proc1Ptr, + Tcl_PackageInitProc ** proc2Ptr, + Tcl_LoadHandle * handlePtr, + Tcl_FSUnloadFileProc ** unloadProcPtr)); +/* 445 */ +EXTERN int Tcl_FSMatchInDirectory _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * result, + Tcl_Obj * pathPtr, CONST char * pattern, + Tcl_GlobTypeData * types)); +/* 446 */ +EXTERN Tcl_Obj * Tcl_FSLink _ANSI_ARGS_((Tcl_Obj * pathPtr, + Tcl_Obj * toPtr, int linkAction)); +/* 447 */ +EXTERN int Tcl_FSRemoveDirectory _ANSI_ARGS_((Tcl_Obj * pathPtr, + int recursive, Tcl_Obj ** errorPtr)); +/* 448 */ +EXTERN int Tcl_FSRenameFile _ANSI_ARGS_((Tcl_Obj * srcPathPtr, + Tcl_Obj * destPathPtr)); +/* 449 */ +EXTERN int Tcl_FSLstat _ANSI_ARGS_((Tcl_Obj * pathPtr, + Tcl_StatBuf * buf)); +/* 450 */ +EXTERN int Tcl_FSUtime _ANSI_ARGS_((Tcl_Obj * pathPtr, + struct utimbuf * tval)); +/* 451 */ +EXTERN int Tcl_FSFileAttrsGet _ANSI_ARGS_((Tcl_Interp * interp, + int index, Tcl_Obj * pathPtr, + Tcl_Obj ** objPtrRef)); +/* 452 */ +EXTERN int Tcl_FSFileAttrsSet _ANSI_ARGS_((Tcl_Interp * interp, + int index, Tcl_Obj * pathPtr, + Tcl_Obj * objPtr)); +/* 453 */ +EXTERN CONST char ** Tcl_FSFileAttrStrings _ANSI_ARGS_((Tcl_Obj * pathPtr, + Tcl_Obj ** objPtrRef)); +/* 454 */ +EXTERN int Tcl_FSStat _ANSI_ARGS_((Tcl_Obj * pathPtr, + Tcl_StatBuf * buf)); +/* 455 */ +EXTERN int Tcl_FSAccess _ANSI_ARGS_((Tcl_Obj * pathPtr, + int mode)); +/* 456 */ +EXTERN Tcl_Channel Tcl_FSOpenFileChannel _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * pathPtr, + CONST char * modeString, int permissions)); +/* 457 */ +EXTERN Tcl_Obj* Tcl_FSGetCwd _ANSI_ARGS_((Tcl_Interp * interp)); +/* 458 */ +EXTERN int Tcl_FSChdir _ANSI_ARGS_((Tcl_Obj * pathPtr)); +/* 459 */ +EXTERN int Tcl_FSConvertToPathType _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * pathPtr)); +/* 460 */ +EXTERN Tcl_Obj* Tcl_FSJoinPath _ANSI_ARGS_((Tcl_Obj * listObj, + int elements)); +/* 461 */ +EXTERN Tcl_Obj* Tcl_FSSplitPath _ANSI_ARGS_((Tcl_Obj* pathPtr, + int * lenPtr)); +/* 462 */ +EXTERN int Tcl_FSEqualPaths _ANSI_ARGS_((Tcl_Obj* firstPtr, + Tcl_Obj* secondPtr)); +/* 463 */ +EXTERN Tcl_Obj* Tcl_FSGetNormalizedPath _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj* pathObjPtr)); +/* 464 */ +EXTERN Tcl_Obj* Tcl_FSJoinToPath _ANSI_ARGS_((Tcl_Obj * basePtr, + int objc, Tcl_Obj *CONST objv[])); +/* 465 */ +EXTERN ClientData Tcl_FSGetInternalRep _ANSI_ARGS_(( + Tcl_Obj* pathObjPtr, Tcl_Filesystem * fsPtr)); +/* 466 */ +EXTERN Tcl_Obj* Tcl_FSGetTranslatedPath _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj* pathPtr)); +/* 467 */ +EXTERN int Tcl_FSEvalFile _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * fileName)); +/* 468 */ +EXTERN Tcl_Obj* Tcl_FSNewNativePath _ANSI_ARGS_(( + Tcl_Filesystem* fromFilesystem, + ClientData clientData)); +/* 469 */ +EXTERN CONST char* Tcl_FSGetNativePath _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); +/* 470 */ +EXTERN Tcl_Obj* Tcl_FSFileSystemInfo _ANSI_ARGS_(( + Tcl_Obj* pathObjPtr)); +/* 471 */ +EXTERN Tcl_Obj* Tcl_FSPathSeparator _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); +/* 472 */ +EXTERN Tcl_Obj* Tcl_FSListVolumes _ANSI_ARGS_((void)); +/* 473 */ +EXTERN int Tcl_FSRegister _ANSI_ARGS_((ClientData clientData, + Tcl_Filesystem * fsPtr)); +/* 474 */ +EXTERN int Tcl_FSUnregister _ANSI_ARGS_((Tcl_Filesystem * fsPtr)); +/* 475 */ +EXTERN ClientData Tcl_FSData _ANSI_ARGS_((Tcl_Filesystem * fsPtr)); +/* 476 */ +EXTERN CONST char* Tcl_FSGetTranslatedStringPath _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj* pathPtr)); +/* 477 */ +EXTERN Tcl_Filesystem* Tcl_FSGetFileSystemForPath _ANSI_ARGS_(( + Tcl_Obj* pathObjPtr)); +/* 478 */ +EXTERN Tcl_PathType Tcl_FSGetPathType _ANSI_ARGS_((Tcl_Obj * pathObjPtr)); +/* 479 */ +EXTERN int Tcl_OutputBuffered _ANSI_ARGS_((Tcl_Channel chan)); +/* 480 */ +EXTERN void Tcl_FSMountsChanged _ANSI_ARGS_(( + Tcl_Filesystem * fsPtr)); +/* 481 */ +EXTERN int Tcl_EvalTokensStandard _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Token * tokenPtr, + int count)); +/* 482 */ +EXTERN void Tcl_GetTime _ANSI_ARGS_((Tcl_Time* timeBuf)); +/* 483 */ +EXTERN Tcl_Trace Tcl_CreateObjTrace _ANSI_ARGS_((Tcl_Interp* interp, + int level, int flags, + Tcl_CmdObjTraceProc* objProc, + ClientData clientData, + Tcl_CmdObjTraceDeleteProc* delProc)); +/* 484 */ +EXTERN int Tcl_GetCommandInfoFromToken _ANSI_ARGS_(( + Tcl_Command token, Tcl_CmdInfo* infoPtr)); +/* 485 */ +EXTERN int Tcl_SetCommandInfoFromToken _ANSI_ARGS_(( + Tcl_Command token, + CONST Tcl_CmdInfo* infoPtr)); +/* 486 */ +EXTERN Tcl_Obj * Tcl_DbNewWideIntObj _ANSI_ARGS_(( + Tcl_WideInt wideValue, CONST char * file, + int line)); +/* 487 */ +EXTERN int Tcl_GetWideIntFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + Tcl_WideInt * widePtr)); +/* 488 */ +EXTERN Tcl_Obj * Tcl_NewWideIntObj _ANSI_ARGS_((Tcl_WideInt wideValue)); +/* 489 */ +EXTERN void Tcl_SetWideIntObj _ANSI_ARGS_((Tcl_Obj * objPtr, + Tcl_WideInt wideValue)); +/* 490 */ +EXTERN Tcl_StatBuf * Tcl_AllocStatBuf _ANSI_ARGS_((void)); +/* 491 */ +EXTERN Tcl_WideInt Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, + Tcl_WideInt offset, int mode)); +/* 492 */ +EXTERN Tcl_WideInt Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan)); +/* 493 */ +EXTERN Tcl_DriverWideSeekProc * Tcl_ChannelWideSeekProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* Slot 494 is reserved */ +/* Slot 495 is reserved */ +/* Slot 496 is reserved */ +/* Slot 497 is reserved */ +/* Slot 498 is reserved */ +/* Slot 499 is reserved */ +/* Slot 500 is reserved */ +/* Slot 501 is reserved */ +/* Slot 502 is reserved */ +/* Slot 503 is reserved */ +/* Slot 504 is reserved */ +/* Slot 505 is reserved */ +/* Slot 506 is reserved */ +/* Slot 507 is reserved */ +/* Slot 508 is reserved */ +/* Slot 509 is reserved */ +/* Slot 510 is reserved */ +/* Slot 511 is reserved */ +/* Slot 512 is reserved */ +/* Slot 513 is reserved */ +/* Slot 514 is reserved */ +/* Slot 515 is reserved */ +/* Slot 516 is reserved */ +/* Slot 517 is reserved */ +/* Slot 518 is reserved */ +/* Slot 519 is reserved */ +/* Slot 520 is reserved */ +/* Slot 521 is reserved */ +/* Slot 522 is reserved */ +/* Slot 523 is reserved */ +/* Slot 524 is reserved */ +/* Slot 525 is reserved */ +/* Slot 526 is reserved */ +/* Slot 527 is reserved */ +/* Slot 528 is reserved */ +/* Slot 529 is reserved */ +/* Slot 530 is reserved */ +/* Slot 531 is reserved */ +/* Slot 532 is reserved */ +/* Slot 533 is reserved */ +/* Slot 534 is reserved */ +/* Slot 535 is reserved */ +/* Slot 536 is reserved */ +/* Slot 537 is reserved */ +/* Slot 538 is reserved */ +/* Slot 539 is reserved */ +/* Slot 540 is reserved */ +/* Slot 541 is reserved */ +/* Slot 542 is reserved */ +/* Slot 543 is reserved */ +/* Slot 544 is reserved */ +/* Slot 545 is reserved */ +/* Slot 546 is reserved */ +/* Slot 547 is reserved */ +/* Slot 548 is reserved */ +/* Slot 549 is reserved */ +/* Slot 550 is reserved */ +/* Slot 551 is reserved */ +/* Slot 552 is reserved */ +/* Slot 553 is reserved */ +/* 554 */ +EXTERN Tcl_DriverThreadActionProc * Tcl_ChannelThreadActionProc _ANSI_ARGS_(( + Tcl_ChannelType * chanTypePtr)); +/* Slot 555 is reserved */ +/* Slot 556 is reserved */ +/* Slot 557 is reserved */ +/* Slot 558 is reserved */ +/* Slot 559 is reserved */ +/* Slot 560 is reserved */ +/* Slot 561 is reserved */ +/* Slot 562 is reserved */ +/* Slot 563 is reserved */ +/* Slot 564 is reserved */ +/* Slot 565 is reserved */ +/* Slot 566 is reserved */ +/* Slot 567 is reserved */ +/* Slot 568 is reserved */ +/* Slot 569 is reserved */ +/* Slot 570 is reserved */ +/* Slot 571 is reserved */ +/* Slot 572 is reserved */ +/* 573 */ +EXTERN int Tcl_PkgRequireProc _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, int objc, + Tcl_Obj *CONST objv[], + ClientData * clientDataPtr)); + +typedef struct TclStubHooks { + struct TclPlatStubs *tclPlatStubs; + struct TclIntStubs *tclIntStubs; + struct TclIntPlatStubs *tclIntPlatStubs; +} TclStubHooks; + +typedef struct TclStubs { + int magic; + struct TclStubHooks *hooks; + + int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* name, CONST char* version, ClientData clientData)); /* 0 */ + CONST84_RETURN char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 1 */ + void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); /* 2 */ + char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 3 */ + void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */ + char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 5 */ + char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 6 */ + int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 7 */ + char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST char * file, int line)); /* 8 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved9; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved9; +#endif /* MAC_TCL */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_DeleteFileHandler) _ANSI_ARGS_((int fd)); /* 10 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved10; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved10; +#endif /* MAC_TCL */ + void (*tcl_SetTimer) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 11 */ + void (*tcl_Sleep) _ANSI_ARGS_((int ms)); /* 12 */ + int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 13 */ + int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 14 */ + void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 15 */ + void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj* objPtr, CONST char* bytes, int length)); /* 16 */ + Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 17 */ + int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 18 */ + void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 19 */ + void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 20 */ + int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 21 */ + Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, CONST char * file, int line)); /* 22 */ + Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((CONST unsigned char * bytes, int length, CONST char * file, int line)); /* 23 */ + Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, CONST char * file, int line)); /* 24 */ + Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST * objv, CONST char * file, int line)); /* 25 */ + Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, CONST char * file, int line)); /* 26 */ + Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((CONST char * file, int line)); /* 27 */ + Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((CONST char * bytes, int length, CONST char * file, int line)); /* 28 */ + Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 29 */ + void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 30 */ + int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int * boolPtr)); /* 31 */ + int (*tcl_GetBooleanFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr)); /* 32 */ + unsigned char * (*tcl_GetByteArrayFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 33 */ + int (*tcl_GetDouble) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, double * doublePtr)); /* 34 */ + int (*tcl_GetDoubleFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr)); /* 35 */ + int (*tcl_GetIndexFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, CONST84 char ** tablePtr, CONST char * msg, int flags, int * indexPtr)); /* 36 */ + int (*tcl_GetInt) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int * intPtr)); /* 37 */ + int (*tcl_GetIntFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr)); /* 38 */ + int (*tcl_GetLongFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr)); /* 39 */ + Tcl_ObjType * (*tcl_GetObjType) _ANSI_ARGS_((CONST char * typeName)); /* 40 */ + char * (*tcl_GetStringFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 41 */ + void (*tcl_InvalidateStringRep) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 42 */ + int (*tcl_ListObjAppendList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr)); /* 43 */ + int (*tcl_ListObjAppendElement) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr)); /* 44 */ + int (*tcl_ListObjGetElements) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr)); /* 45 */ + int (*tcl_ListObjIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr)); /* 46 */ + int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * lengthPtr)); /* 47 */ + int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 48 */ + Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 49 */ + Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((CONST unsigned char* bytes, int length)); /* 50 */ + Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 51 */ + Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 52 */ + Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 53 */ + Tcl_Obj * (*tcl_NewLongObj) _ANSI_ARGS_((long longValue)); /* 54 */ + Tcl_Obj * (*tcl_NewObj) _ANSI_ARGS_((void)); /* 55 */ + Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((CONST char * bytes, int length)); /* 56 */ + void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 57 */ + unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 58 */ + void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST unsigned char * bytes, int length)); /* 59 */ + void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 60 */ + void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 61 */ + void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 62 */ + void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 63 */ + void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 64 */ + void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj* objPtr, CONST char* bytes, int length)); /* 65 */ + void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message)); /* 66 */ + void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message, int length)); /* 67 */ + void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 68 */ + void (*tcl_AppendElement) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string)); /* 69 */ + void (*tcl_AppendResult) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 70 */ + Tcl_AsyncHandler (*tcl_AsyncCreate) _ANSI_ARGS_((Tcl_AsyncProc * proc, ClientData clientData)); /* 71 */ + void (*tcl_AsyncDelete) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 72 */ + int (*tcl_AsyncInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int code)); /* 73 */ + void (*tcl_AsyncMark) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 74 */ + int (*tcl_AsyncReady) _ANSI_ARGS_((void)); /* 75 */ + void (*tcl_BackgroundError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 76 */ + char (*tcl_Backslash) _ANSI_ARGS_((CONST char * src, int * readPtr)); /* 77 */ + int (*tcl_BadChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * optionName, CONST char * optionList)); /* 78 */ + void (*tcl_CallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 79 */ + void (*tcl_CancelIdleCall) _ANSI_ARGS_((Tcl_IdleProc * idleProc, ClientData clientData)); /* 80 */ + int (*tcl_Close) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 81 */ + int (*tcl_CommandComplete) _ANSI_ARGS_((CONST char * cmd)); /* 82 */ + char * (*tcl_Concat) _ANSI_ARGS_((int argc, CONST84 char * CONST * argv)); /* 83 */ + int (*tcl_ConvertElement) _ANSI_ARGS_((CONST char * src, char * dst, int flags)); /* 84 */ + int (*tcl_ConvertCountedElement) _ANSI_ARGS_((CONST char * src, int length, char * dst, int flags)); /* 85 */ + int (*tcl_CreateAlias) _ANSI_ARGS_((Tcl_Interp * slave, CONST char * slaveCmd, Tcl_Interp * target, CONST char * targetCmd, int argc, CONST84 char * CONST * argv)); /* 86 */ + int (*tcl_CreateAliasObj) _ANSI_ARGS_((Tcl_Interp * slave, CONST char * slaveCmd, Tcl_Interp * target, CONST char * targetCmd, int objc, Tcl_Obj *CONST objv[])); /* 87 */ + Tcl_Channel (*tcl_CreateChannel) _ANSI_ARGS_((Tcl_ChannelType * typePtr, CONST char * chanName, ClientData instanceData, int mask)); /* 88 */ + void (*tcl_CreateChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData)); /* 89 */ + void (*tcl_CreateCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 90 */ + Tcl_Command (*tcl_CreateCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 91 */ + void (*tcl_CreateEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 92 */ + void (*tcl_CreateExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 93 */ + Tcl_Interp * (*tcl_CreateInterp) _ANSI_ARGS_((void)); /* 94 */ + void (*tcl_CreateMathFunc) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData)); /* 95 */ + Tcl_Command (*tcl_CreateObjCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 96 */ + Tcl_Interp * (*tcl_CreateSlave) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * slaveName, int isSafe)); /* 97 */ + Tcl_TimerToken (*tcl_CreateTimerHandler) _ANSI_ARGS_((int milliseconds, Tcl_TimerProc * proc, ClientData clientData)); /* 98 */ + Tcl_Trace (*tcl_CreateTrace) _ANSI_ARGS_((Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData)); /* 99 */ + void (*tcl_DeleteAssocData) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name)); /* 100 */ + void (*tcl_DeleteChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData)); /* 101 */ + void (*tcl_DeleteCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 102 */ + int (*tcl_DeleteCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName)); /* 103 */ + int (*tcl_DeleteCommandFromToken) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 104 */ + void (*tcl_DeleteEvents) _ANSI_ARGS_((Tcl_EventDeleteProc * proc, ClientData clientData)); /* 105 */ + void (*tcl_DeleteEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 106 */ + void (*tcl_DeleteExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 107 */ + void (*tcl_DeleteHashEntry) _ANSI_ARGS_((Tcl_HashEntry * entryPtr)); /* 108 */ + void (*tcl_DeleteHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 109 */ + void (*tcl_DeleteInterp) _ANSI_ARGS_((Tcl_Interp * interp)); /* 110 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_DetachPids) _ANSI_ARGS_((int numPids, Tcl_Pid * pidPtr)); /* 111 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void (*tcl_DetachPids) _ANSI_ARGS_((int numPids, Tcl_Pid * pidPtr)); /* 111 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved111; +#endif /* MAC_TCL */ + void (*tcl_DeleteTimerHandler) _ANSI_ARGS_((Tcl_TimerToken token)); /* 112 */ + void (*tcl_DeleteTrace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Trace trace)); /* 113 */ + void (*tcl_DontCallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 114 */ + int (*tcl_DoOneEvent) _ANSI_ARGS_((int flags)); /* 115 */ + void (*tcl_DoWhenIdle) _ANSI_ARGS_((Tcl_IdleProc * proc, ClientData clientData)); /* 116 */ + char * (*tcl_DStringAppend) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * str, int length)); /* 117 */ + char * (*tcl_DStringAppendElement) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string)); /* 118 */ + void (*tcl_DStringEndSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 119 */ + void (*tcl_DStringFree) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 120 */ + void (*tcl_DStringGetResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 121 */ + void (*tcl_DStringInit) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 122 */ + void (*tcl_DStringResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 123 */ + void (*tcl_DStringSetLength) _ANSI_ARGS_((Tcl_DString * dsPtr, int length)); /* 124 */ + void (*tcl_DStringStartSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 125 */ + int (*tcl_Eof) _ANSI_ARGS_((Tcl_Channel chan)); /* 126 */ + CONST84_RETURN char * (*tcl_ErrnoId) _ANSI_ARGS_((void)); /* 127 */ + CONST84_RETURN char * (*tcl_ErrnoMsg) _ANSI_ARGS_((int err)); /* 128 */ + int (*tcl_Eval) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string)); /* 129 */ + int (*tcl_EvalFile) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * fileName)); /* 130 */ + int (*tcl_EvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 131 */ + void (*tcl_EventuallyFree) _ANSI_ARGS_((ClientData clientData, Tcl_FreeProc * freeProc)); /* 132 */ + void (*tcl_Exit) _ANSI_ARGS_((int status)); /* 133 */ + int (*tcl_ExposeCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * hiddenCmdToken, CONST char * cmdName)); /* 134 */ + int (*tcl_ExprBoolean) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int * ptr)); /* 135 */ + int (*tcl_ExprBooleanObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr)); /* 136 */ + int (*tcl_ExprDouble) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, double * ptr)); /* 137 */ + int (*tcl_ExprDoubleObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr)); /* 138 */ + int (*tcl_ExprLong) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, long * ptr)); /* 139 */ + int (*tcl_ExprLongObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr)); /* 140 */ + int (*tcl_ExprObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); /* 141 */ + int (*tcl_ExprString) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string)); /* 142 */ + void (*tcl_Finalize) _ANSI_ARGS_((void)); /* 143 */ + void (*tcl_FindExecutable) _ANSI_ARGS_((CONST char * argv0)); /* 144 */ + Tcl_HashEntry * (*tcl_FirstHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr)); /* 145 */ + int (*tcl_Flush) _ANSI_ARGS_((Tcl_Channel chan)); /* 146 */ + void (*tcl_FreeResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 147 */ + int (*tcl_GetAlias) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * slaveCmd, Tcl_Interp ** targetInterpPtr, CONST84 char ** targetCmdPtr, int * argcPtr, CONST84 char *** argvPtr)); /* 148 */ + int (*tcl_GetAliasObj) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * slaveCmd, Tcl_Interp ** targetInterpPtr, CONST84 char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv)); /* 149 */ + ClientData (*tcl_GetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_InterpDeleteProc ** procPtr)); /* 150 */ + Tcl_Channel (*tcl_GetChannel) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * chanName, int * modePtr)); /* 151 */ + int (*tcl_GetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan)); /* 152 */ + int (*tcl_GetChannelHandle) _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData * handlePtr)); /* 153 */ + ClientData (*tcl_GetChannelInstanceData) _ANSI_ARGS_((Tcl_Channel chan)); /* 154 */ + int (*tcl_GetChannelMode) _ANSI_ARGS_((Tcl_Channel chan)); /* 155 */ + CONST84_RETURN char * (*tcl_GetChannelName) _ANSI_ARGS_((Tcl_Channel chan)); /* 156 */ + int (*tcl_GetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, CONST char * optionName, Tcl_DString * dsPtr)); /* 157 */ + Tcl_ChannelType * (*tcl_GetChannelType) _ANSI_ARGS_((Tcl_Channel chan)); /* 158 */ + int (*tcl_GetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName, Tcl_CmdInfo * infoPtr)); /* 159 */ + CONST84_RETURN char * (*tcl_GetCommandName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 160 */ + int (*tcl_GetErrno) _ANSI_ARGS_((void)); /* 161 */ + CONST84_RETURN char * (*tcl_GetHostName) _ANSI_ARGS_((void)); /* 162 */ + int (*tcl_GetInterpPath) _ANSI_ARGS_((Tcl_Interp * askInterp, Tcl_Interp * slaveInterp)); /* 163 */ + Tcl_Interp * (*tcl_GetMaster) _ANSI_ARGS_((Tcl_Interp * interp)); /* 164 */ + CONST char * (*tcl_GetNameOfExecutable) _ANSI_ARGS_((void)); /* 165 */ + Tcl_Obj * (*tcl_GetObjResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 166 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + int (*tcl_GetOpenFile) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int forWriting, int checkUsage, ClientData * filePtr)); /* 167 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved167; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved167; +#endif /* MAC_TCL */ + Tcl_PathType (*tcl_GetPathType) _ANSI_ARGS_((CONST char * path)); /* 168 */ + int (*tcl_Gets) _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString * dsPtr)); /* 169 */ + int (*tcl_GetsObj) _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); /* 170 */ + int (*tcl_GetServiceMode) _ANSI_ARGS_((void)); /* 171 */ + Tcl_Interp * (*tcl_GetSlave) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * slaveName)); /* 172 */ + Tcl_Channel (*tcl_GetStdChannel) _ANSI_ARGS_((int type)); /* 173 */ + CONST84_RETURN char * (*tcl_GetStringResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 174 */ + CONST84_RETURN char * (*tcl_GetVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags)); /* 175 */ + CONST84_RETURN char * (*tcl_GetVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags)); /* 176 */ + int (*tcl_GlobalEval) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * command)); /* 177 */ + int (*tcl_GlobalEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 178 */ + int (*tcl_HideCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName, CONST char * hiddenCmdToken)); /* 179 */ + int (*tcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 180 */ + void (*tcl_InitHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType)); /* 181 */ + int (*tcl_InputBlocked) _ANSI_ARGS_((Tcl_Channel chan)); /* 182 */ + int (*tcl_InputBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 183 */ + int (*tcl_InterpDeleted) _ANSI_ARGS_((Tcl_Interp * interp)); /* 184 */ + int (*tcl_IsSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 185 */ + char * (*tcl_JoinPath) _ANSI_ARGS_((int argc, CONST84 char * CONST * argv, Tcl_DString * resultPtr)); /* 186 */ + int (*tcl_LinkVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, char * addr, int type)); /* 187 */ + void *reserved188; + Tcl_Channel (*tcl_MakeFileChannel) _ANSI_ARGS_((ClientData handle, int mode)); /* 189 */ + int (*tcl_MakeSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 190 */ + Tcl_Channel (*tcl_MakeTcpClientChannel) _ANSI_ARGS_((ClientData tcpSocket)); /* 191 */ + char * (*tcl_Merge) _ANSI_ARGS_((int argc, CONST84 char * CONST * argv)); /* 192 */ + Tcl_HashEntry * (*tcl_NextHashEntry) _ANSI_ARGS_((Tcl_HashSearch * searchPtr)); /* 193 */ + void (*tcl_NotifyChannel) _ANSI_ARGS_((Tcl_Channel channel, int mask)); /* 194 */ + Tcl_Obj * (*tcl_ObjGetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags)); /* 195 */ + Tcl_Obj * (*tcl_ObjSetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags)); /* 196 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + Tcl_Channel (*tcl_OpenCommandChannel) _ANSI_ARGS_((Tcl_Interp * interp, int argc, CONST84 char ** argv, int flags)); /* 197 */ +#endif /* UNIX */ +#ifdef __WIN32__ + Tcl_Channel (*tcl_OpenCommandChannel) _ANSI_ARGS_((Tcl_Interp * interp, int argc, CONST84 char ** argv, int flags)); /* 197 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved197; +#endif /* MAC_TCL */ + Tcl_Channel (*tcl_OpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * fileName, CONST char * modeString, int permissions)); /* 198 */ + Tcl_Channel (*tcl_OpenTcpClient) _ANSI_ARGS_((Tcl_Interp * interp, int port, CONST char * address, CONST char * myaddr, int myport, int async)); /* 199 */ + Tcl_Channel (*tcl_OpenTcpServer) _ANSI_ARGS_((Tcl_Interp * interp, int port, CONST char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData)); /* 200 */ + void (*tcl_Preserve) _ANSI_ARGS_((ClientData data)); /* 201 */ + void (*tcl_PrintDouble) _ANSI_ARGS_((Tcl_Interp * interp, double value, char * dst)); /* 202 */ + int (*tcl_PutEnv) _ANSI_ARGS_((CONST char * string)); /* 203 */ + CONST84_RETURN char * (*tcl_PosixError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 204 */ + void (*tcl_QueueEvent) _ANSI_ARGS_((Tcl_Event * evPtr, Tcl_QueuePosition position)); /* 205 */ + int (*tcl_Read) _ANSI_ARGS_((Tcl_Channel chan, char * bufPtr, int toRead)); /* 206 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_ReapDetachedProcs) _ANSI_ARGS_((void)); /* 207 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void (*tcl_ReapDetachedProcs) _ANSI_ARGS_((void)); /* 207 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved207; +#endif /* MAC_TCL */ + int (*tcl_RecordAndEval) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmd, int flags)); /* 208 */ + int (*tcl_RecordAndEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags)); /* 209 */ + void (*tcl_RegisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 210 */ + void (*tcl_RegisterObjType) _ANSI_ARGS_((Tcl_ObjType * typePtr)); /* 211 */ + Tcl_RegExp (*tcl_RegExpCompile) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string)); /* 212 */ + int (*tcl_RegExpExec) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, CONST char * str, CONST char * start)); /* 213 */ + int (*tcl_RegExpMatch) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, CONST char * pattern)); /* 214 */ + void (*tcl_RegExpRange) _ANSI_ARGS_((Tcl_RegExp regexp, int index, CONST84 char ** startPtr, CONST84 char ** endPtr)); /* 215 */ + void (*tcl_Release) _ANSI_ARGS_((ClientData clientData)); /* 216 */ + void (*tcl_ResetResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 217 */ + int (*tcl_ScanElement) _ANSI_ARGS_((CONST char * str, int * flagPtr)); /* 218 */ + int (*tcl_ScanCountedElement) _ANSI_ARGS_((CONST char * str, int length, int * flagPtr)); /* 219 */ + int (*tcl_SeekOld) _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); /* 220 */ + int (*tcl_ServiceAll) _ANSI_ARGS_((void)); /* 221 */ + int (*tcl_ServiceEvent) _ANSI_ARGS_((int flags)); /* 222 */ + void (*tcl_SetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 223 */ + void (*tcl_SetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan, int sz)); /* 224 */ + int (*tcl_SetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, CONST char * optionName, CONST char * newValue)); /* 225 */ + int (*tcl_SetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * cmdName, CONST Tcl_CmdInfo * infoPtr)); /* 226 */ + void (*tcl_SetErrno) _ANSI_ARGS_((int err)); /* 227 */ + void (*tcl_SetErrorCode) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 228 */ + void (*tcl_SetMaxBlockTime) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 229 */ + void (*tcl_SetPanicProc) _ANSI_ARGS_((Tcl_PanicProc * panicProc)); /* 230 */ + int (*tcl_SetRecursionLimit) _ANSI_ARGS_((Tcl_Interp * interp, int depth)); /* 231 */ + void (*tcl_SetResult) _ANSI_ARGS_((Tcl_Interp * interp, char * str, Tcl_FreeProc * freeProc)); /* 232 */ + int (*tcl_SetServiceMode) _ANSI_ARGS_((int mode)); /* 233 */ + void (*tcl_SetObjErrorCode) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * errorObjPtr)); /* 234 */ + void (*tcl_SetObjResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * resultObjPtr)); /* 235 */ + void (*tcl_SetStdChannel) _ANSI_ARGS_((Tcl_Channel channel, int type)); /* 236 */ + CONST84_RETURN char * (*tcl_SetVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, CONST char * newValue, int flags)); /* 237 */ + CONST84_RETURN char * (*tcl_SetVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, CONST char * newValue, int flags)); /* 238 */ + CONST84_RETURN char * (*tcl_SignalId) _ANSI_ARGS_((int sig)); /* 239 */ + CONST84_RETURN char * (*tcl_SignalMsg) _ANSI_ARGS_((int sig)); /* 240 */ + void (*tcl_SourceRCFile) _ANSI_ARGS_((Tcl_Interp * interp)); /* 241 */ + int (*tcl_SplitList) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * listStr, int * argcPtr, CONST84 char *** argvPtr)); /* 242 */ + void (*tcl_SplitPath) _ANSI_ARGS_((CONST char * path, int * argcPtr, CONST84 char *** argvPtr)); /* 243 */ + void (*tcl_StaticPackage) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc)); /* 244 */ + int (*tcl_StringMatch) _ANSI_ARGS_((CONST char * str, CONST char * pattern)); /* 245 */ + int (*tcl_TellOld) _ANSI_ARGS_((Tcl_Channel chan)); /* 246 */ + int (*tcl_TraceVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 247 */ + int (*tcl_TraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 248 */ + char * (*tcl_TranslateFileName) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tcl_DString * bufferPtr)); /* 249 */ + int (*tcl_Ungets) _ANSI_ARGS_((Tcl_Channel chan, CONST char * str, int len, int atHead)); /* 250 */ + void (*tcl_UnlinkVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName)); /* 251 */ + int (*tcl_UnregisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 252 */ + int (*tcl_UnsetVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags)); /* 253 */ + int (*tcl_UnsetVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags)); /* 254 */ + void (*tcl_UntraceVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 255 */ + void (*tcl_UntraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 256 */ + void (*tcl_UpdateLinkedVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName)); /* 257 */ + int (*tcl_UpVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * frameName, CONST char * varName, CONST char * localName, int flags)); /* 258 */ + int (*tcl_UpVar2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * frameName, CONST char * part1, CONST char * part2, CONST char * localName, int flags)); /* 259 */ + int (*tcl_VarEval) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 260 */ + ClientData (*tcl_VarTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 261 */ + ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 262 */ + int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, CONST char * s, int slen)); /* 263 */ + void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], CONST char * message)); /* 264 */ + int (*tcl_DumpActiveMemory) _ANSI_ARGS_((CONST char * fileName)); /* 265 */ + void (*tcl_ValidateAllMemory) _ANSI_ARGS_((CONST char * file, int line)); /* 266 */ + void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 267 */ + void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 268 */ + CONST84_RETURN char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 269 */ + CONST84_RETURN char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, CONST84 char ** termPtr)); /* 270 */ + CONST84_RETURN char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact)); /* 271 */ + CONST84_RETURN char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 272 */ + int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version)); /* 273 */ + CONST84_RETURN char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact)); /* 274 */ + void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 275 */ + int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 276 */ + Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 277 */ + void (*tcl_PanicVA) _ANSI_ARGS_((CONST char * format, va_list argList)); /* 278 */ + void (*tcl_GetVersion) _ANSI_ARGS_((int * major, int * minor, int * patchLevel, int * type)); /* 279 */ + void (*tcl_InitMemory) _ANSI_ARGS_((Tcl_Interp * interp)); /* 280 */ + Tcl_Channel (*tcl_StackChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_ChannelType * typePtr, ClientData instanceData, int mask, Tcl_Channel prevChan)); /* 281 */ + int (*tcl_UnstackChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 282 */ + Tcl_Channel (*tcl_GetStackedChannel) _ANSI_ARGS_((Tcl_Channel chan)); /* 283 */ + void (*tcl_SetMainLoop) _ANSI_ARGS_((Tcl_MainLoopProc * proc)); /* 284 */ + void *reserved285; + void (*tcl_AppendObjToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_Obj * appendObjPtr)); /* 286 */ + Tcl_Encoding (*tcl_CreateEncoding) _ANSI_ARGS_((Tcl_EncodingType * typePtr)); /* 287 */ + void (*tcl_CreateThreadExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 288 */ + void (*tcl_DeleteThreadExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 289 */ + void (*tcl_DiscardResult) _ANSI_ARGS_((Tcl_SavedResult * statePtr)); /* 290 */ + int (*tcl_EvalEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * script, int numBytes, int flags)); /* 291 */ + int (*tcl_EvalObjv) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 292 */ + int (*tcl_EvalObjEx) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int flags)); /* 293 */ + void (*tcl_ExitThread) _ANSI_ARGS_((int status)); /* 294 */ + int (*tcl_ExternalToUtf) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Encoding encoding, CONST char * src, int srcLen, int flags, Tcl_EncodingState * statePtr, char * dst, int dstLen, int * srcReadPtr, int * dstWrotePtr, int * dstCharsPtr)); /* 295 */ + char * (*tcl_ExternalToUtfDString) _ANSI_ARGS_((Tcl_Encoding encoding, CONST char * src, int srcLen, Tcl_DString * dsPtr)); /* 296 */ + void (*tcl_FinalizeThread) _ANSI_ARGS_((void)); /* 297 */ + void (*tcl_FinalizeNotifier) _ANSI_ARGS_((ClientData clientData)); /* 298 */ + void (*tcl_FreeEncoding) _ANSI_ARGS_((Tcl_Encoding encoding)); /* 299 */ + Tcl_ThreadId (*tcl_GetCurrentThread) _ANSI_ARGS_((void)); /* 300 */ + Tcl_Encoding (*tcl_GetEncoding) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name)); /* 301 */ + CONST84_RETURN char * (*tcl_GetEncodingName) _ANSI_ARGS_((Tcl_Encoding encoding)); /* 302 */ + void (*tcl_GetEncodingNames) _ANSI_ARGS_((Tcl_Interp * interp)); /* 303 */ + int (*tcl_GetIndexFromObjStruct) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, CONST VOID * tablePtr, int offset, CONST char * msg, int flags, int * indexPtr)); /* 304 */ + VOID * (*tcl_GetThreadData) _ANSI_ARGS_((Tcl_ThreadDataKey * keyPtr, int size)); /* 305 */ + Tcl_Obj * (*tcl_GetVar2Ex) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, int flags)); /* 306 */ + ClientData (*tcl_InitNotifier) _ANSI_ARGS_((void)); /* 307 */ + void (*tcl_MutexLock) _ANSI_ARGS_((Tcl_Mutex * mutexPtr)); /* 308 */ + void (*tcl_MutexUnlock) _ANSI_ARGS_((Tcl_Mutex * mutexPtr)); /* 309 */ + void (*tcl_ConditionNotify) _ANSI_ARGS_((Tcl_Condition * condPtr)); /* 310 */ + void (*tcl_ConditionWait) _ANSI_ARGS_((Tcl_Condition * condPtr, Tcl_Mutex * mutexPtr, Tcl_Time * timePtr)); /* 311 */ + int (*tcl_NumUtfChars) _ANSI_ARGS_((CONST char * src, int len)); /* 312 */ + int (*tcl_ReadChars) _ANSI_ARGS_((Tcl_Channel channel, Tcl_Obj * objPtr, int charsToRead, int appendFlag)); /* 313 */ + void (*tcl_RestoreResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_SavedResult * statePtr)); /* 314 */ + void (*tcl_SaveResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_SavedResult * statePtr)); /* 315 */ + int (*tcl_SetSystemEncoding) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name)); /* 316 */ + Tcl_Obj * (*tcl_SetVar2Ex) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * part1, CONST char * part2, Tcl_Obj * newValuePtr, int flags)); /* 317 */ + void (*tcl_ThreadAlert) _ANSI_ARGS_((Tcl_ThreadId threadId)); /* 318 */ + void (*tcl_ThreadQueueEvent) _ANSI_ARGS_((Tcl_ThreadId threadId, Tcl_Event* evPtr, Tcl_QueuePosition position)); /* 319 */ + Tcl_UniChar (*tcl_UniCharAtIndex) _ANSI_ARGS_((CONST char * src, int index)); /* 320 */ + Tcl_UniChar (*tcl_UniCharToLower) _ANSI_ARGS_((int ch)); /* 321 */ + Tcl_UniChar (*tcl_UniCharToTitle) _ANSI_ARGS_((int ch)); /* 322 */ + Tcl_UniChar (*tcl_UniCharToUpper) _ANSI_ARGS_((int ch)); /* 323 */ + int (*tcl_UniCharToUtf) _ANSI_ARGS_((int ch, char * buf)); /* 324 */ + CONST84_RETURN char * (*tcl_UtfAtIndex) _ANSI_ARGS_((CONST char * src, int index)); /* 325 */ + int (*tcl_UtfCharComplete) _ANSI_ARGS_((CONST char * src, int len)); /* 326 */ + int (*tcl_UtfBackslash) _ANSI_ARGS_((CONST char * src, int * readPtr, char * dst)); /* 327 */ + CONST84_RETURN char * (*tcl_UtfFindFirst) _ANSI_ARGS_((CONST char * src, int ch)); /* 328 */ + CONST84_RETURN char * (*tcl_UtfFindLast) _ANSI_ARGS_((CONST char * src, int ch)); /* 329 */ + CONST84_RETURN char * (*tcl_UtfNext) _ANSI_ARGS_((CONST char * src)); /* 330 */ + CONST84_RETURN char * (*tcl_UtfPrev) _ANSI_ARGS_((CONST char * src, CONST char * start)); /* 331 */ + int (*tcl_UtfToExternal) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Encoding encoding, CONST char * src, int srcLen, int flags, Tcl_EncodingState * statePtr, char * dst, int dstLen, int * srcReadPtr, int * dstWrotePtr, int * dstCharsPtr)); /* 332 */ + char * (*tcl_UtfToExternalDString) _ANSI_ARGS_((Tcl_Encoding encoding, CONST char * src, int srcLen, Tcl_DString * dsPtr)); /* 333 */ + int (*tcl_UtfToLower) _ANSI_ARGS_((char * src)); /* 334 */ + int (*tcl_UtfToTitle) _ANSI_ARGS_((char * src)); /* 335 */ + int (*tcl_UtfToUniChar) _ANSI_ARGS_((CONST char * src, Tcl_UniChar * chPtr)); /* 336 */ + int (*tcl_UtfToUpper) _ANSI_ARGS_((char * src)); /* 337 */ + int (*tcl_WriteChars) _ANSI_ARGS_((Tcl_Channel chan, CONST char * src, int srcLen)); /* 338 */ + int (*tcl_WriteObj) _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); /* 339 */ + char * (*tcl_GetString) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 340 */ + CONST84_RETURN char * (*tcl_GetDefaultEncodingDir) _ANSI_ARGS_((void)); /* 341 */ + void (*tcl_SetDefaultEncodingDir) _ANSI_ARGS_((CONST char * path)); /* 342 */ + void (*tcl_AlertNotifier) _ANSI_ARGS_((ClientData clientData)); /* 343 */ + void (*tcl_ServiceModeHook) _ANSI_ARGS_((int mode)); /* 344 */ + int (*tcl_UniCharIsAlnum) _ANSI_ARGS_((int ch)); /* 345 */ + int (*tcl_UniCharIsAlpha) _ANSI_ARGS_((int ch)); /* 346 */ + int (*tcl_UniCharIsDigit) _ANSI_ARGS_((int ch)); /* 347 */ + int (*tcl_UniCharIsLower) _ANSI_ARGS_((int ch)); /* 348 */ + int (*tcl_UniCharIsSpace) _ANSI_ARGS_((int ch)); /* 349 */ + int (*tcl_UniCharIsUpper) _ANSI_ARGS_((int ch)); /* 350 */ + int (*tcl_UniCharIsWordChar) _ANSI_ARGS_((int ch)); /* 351 */ + int (*tcl_UniCharLen) _ANSI_ARGS_((CONST Tcl_UniChar * str)); /* 352 */ + int (*tcl_UniCharNcmp) _ANSI_ARGS_((CONST Tcl_UniChar * cs, CONST Tcl_UniChar * ct, unsigned long n)); /* 353 */ + char * (*tcl_UniCharToUtfDString) _ANSI_ARGS_((CONST Tcl_UniChar * string, int numChars, Tcl_DString * dsPtr)); /* 354 */ + Tcl_UniChar * (*tcl_UtfToUniCharDString) _ANSI_ARGS_((CONST char * string, int length, Tcl_DString * dsPtr)); /* 355 */ + Tcl_RegExp (*tcl_GetRegExpFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * patObj, int flags)); /* 356 */ + Tcl_Obj * (*tcl_EvalTokens) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Token * tokenPtr, int count)); /* 357 */ + void (*tcl_FreeParse) _ANSI_ARGS_((Tcl_Parse * parsePtr)); /* 358 */ + void (*tcl_LogCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * script, CONST char * command, int length)); /* 359 */ + int (*tcl_ParseBraces) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int numBytes, Tcl_Parse * parsePtr, int append, CONST84 char ** termPtr)); /* 360 */ + int (*tcl_ParseCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int numBytes, int nested, Tcl_Parse * parsePtr)); /* 361 */ + int (*tcl_ParseExpr) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int numBytes, Tcl_Parse * parsePtr)); /* 362 */ + int (*tcl_ParseQuotedString) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int numBytes, Tcl_Parse * parsePtr, int append, CONST84 char ** termPtr)); /* 363 */ + int (*tcl_ParseVarName) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * string, int numBytes, Tcl_Parse * parsePtr, int append)); /* 364 */ + char * (*tcl_GetCwd) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * cwdPtr)); /* 365 */ + int (*tcl_Chdir) _ANSI_ARGS_((CONST char * dirName)); /* 366 */ + int (*tcl_Access) _ANSI_ARGS_((CONST char * path, int mode)); /* 367 */ + int (*tcl_Stat) _ANSI_ARGS_((CONST char * path, struct stat * bufPtr)); /* 368 */ + int (*tcl_UtfNcmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, unsigned long n)); /* 369 */ + int (*tcl_UtfNcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, unsigned long n)); /* 370 */ + int (*tcl_StringCaseMatch) _ANSI_ARGS_((CONST char * str, CONST char * pattern, int nocase)); /* 371 */ + int (*tcl_UniCharIsControl) _ANSI_ARGS_((int ch)); /* 372 */ + int (*tcl_UniCharIsGraph) _ANSI_ARGS_((int ch)); /* 373 */ + int (*tcl_UniCharIsPrint) _ANSI_ARGS_((int ch)); /* 374 */ + int (*tcl_UniCharIsPunct) _ANSI_ARGS_((int ch)); /* 375 */ + int (*tcl_RegExpExecObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, Tcl_Obj * objPtr, int offset, int nmatches, int flags)); /* 376 */ + void (*tcl_RegExpGetInfo) _ANSI_ARGS_((Tcl_RegExp regexp, Tcl_RegExpInfo * infoPtr)); /* 377 */ + Tcl_Obj * (*tcl_NewUnicodeObj) _ANSI_ARGS_((CONST Tcl_UniChar * unicode, int numChars)); /* 378 */ + void (*tcl_SetUnicodeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST Tcl_UniChar * unicode, int numChars)); /* 379 */ + int (*tcl_GetCharLength) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 380 */ + Tcl_UniChar (*tcl_GetUniChar) _ANSI_ARGS_((Tcl_Obj * objPtr, int index)); /* 381 */ + Tcl_UniChar * (*tcl_GetUnicode) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 382 */ + Tcl_Obj * (*tcl_GetRange) _ANSI_ARGS_((Tcl_Obj * objPtr, int first, int last)); /* 383 */ + void (*tcl_AppendUnicodeToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST Tcl_UniChar * unicode, int length)); /* 384 */ + int (*tcl_RegExpMatchObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * stringObj, Tcl_Obj * patternObj)); /* 385 */ + void (*tcl_SetNotifier) _ANSI_ARGS_((Tcl_NotifierProcs * notifierProcPtr)); /* 386 */ + Tcl_Mutex * (*tcl_GetAllocMutex) _ANSI_ARGS_((void)); /* 387 */ + int (*tcl_GetChannelNames) _ANSI_ARGS_((Tcl_Interp * interp)); /* 388 */ + int (*tcl_GetChannelNamesEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * pattern)); /* 389 */ + int (*tcl_ProcObjCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 390 */ + void (*tcl_ConditionFinalize) _ANSI_ARGS_((Tcl_Condition * condPtr)); /* 391 */ + void (*tcl_MutexFinalize) _ANSI_ARGS_((Tcl_Mutex * mutex)); /* 392 */ + int (*tcl_CreateThread) _ANSI_ARGS_((Tcl_ThreadId * idPtr, Tcl_ThreadCreateProc proc, ClientData clientData, int stackSize, int flags)); /* 393 */ + int (*tcl_ReadRaw) _ANSI_ARGS_((Tcl_Channel chan, char * dst, int bytesToRead)); /* 394 */ + int (*tcl_WriteRaw) _ANSI_ARGS_((Tcl_Channel chan, CONST char * src, int srcLen)); /* 395 */ + Tcl_Channel (*tcl_GetTopChannel) _ANSI_ARGS_((Tcl_Channel chan)); /* 396 */ + int (*tcl_ChannelBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 397 */ + CONST84_RETURN char * (*tcl_ChannelName) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 398 */ + Tcl_ChannelTypeVersion (*tcl_ChannelVersion) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 399 */ + Tcl_DriverBlockModeProc * (*tcl_ChannelBlockModeProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 400 */ + Tcl_DriverCloseProc * (*tcl_ChannelCloseProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 401 */ + Tcl_DriverClose2Proc * (*tcl_ChannelClose2Proc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 402 */ + Tcl_DriverInputProc * (*tcl_ChannelInputProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 403 */ + Tcl_DriverOutputProc * (*tcl_ChannelOutputProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 404 */ + Tcl_DriverSeekProc * (*tcl_ChannelSeekProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 405 */ + Tcl_DriverSetOptionProc * (*tcl_ChannelSetOptionProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 406 */ + Tcl_DriverGetOptionProc * (*tcl_ChannelGetOptionProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 407 */ + Tcl_DriverWatchProc * (*tcl_ChannelWatchProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 408 */ + Tcl_DriverGetHandleProc * (*tcl_ChannelGetHandleProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 409 */ + Tcl_DriverFlushProc * (*tcl_ChannelFlushProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 410 */ + Tcl_DriverHandlerProc * (*tcl_ChannelHandlerProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 411 */ + int (*tcl_JoinThread) _ANSI_ARGS_((Tcl_ThreadId threadId, int* result)); /* 412 */ + int (*tcl_IsChannelShared) _ANSI_ARGS_((Tcl_Channel channel)); /* 413 */ + int (*tcl_IsChannelRegistered) _ANSI_ARGS_((Tcl_Interp* interp, Tcl_Channel channel)); /* 414 */ + void (*tcl_CutChannel) _ANSI_ARGS_((Tcl_Channel channel)); /* 415 */ + void (*tcl_SpliceChannel) _ANSI_ARGS_((Tcl_Channel channel)); /* 416 */ + void (*tcl_ClearChannelHandlers) _ANSI_ARGS_((Tcl_Channel channel)); /* 417 */ + int (*tcl_IsChannelExisting) _ANSI_ARGS_((CONST char* channelName)); /* 418 */ + int (*tcl_UniCharNcasecmp) _ANSI_ARGS_((CONST Tcl_UniChar * cs, CONST Tcl_UniChar * ct, unsigned long n)); /* 419 */ + int (*tcl_UniCharCaseMatch) _ANSI_ARGS_((CONST Tcl_UniChar * ustr, CONST Tcl_UniChar * pattern, int nocase)); /* 420 */ + Tcl_HashEntry * (*tcl_FindHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key)); /* 421 */ + Tcl_HashEntry * (*tcl_CreateHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key, int * newPtr)); /* 422 */ + void (*tcl_InitCustomHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType, Tcl_HashKeyType * typePtr)); /* 423 */ + void (*tcl_InitObjHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 424 */ + ClientData (*tcl_CommandTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData)); /* 425 */ + int (*tcl_TraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 426 */ + void (*tcl_UntraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 427 */ + char * (*tcl_AttemptAlloc) _ANSI_ARGS_((unsigned int size)); /* 428 */ + char * (*tcl_AttemptDbCkalloc) _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 429 */ + char * (*tcl_AttemptRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 430 */ + char * (*tcl_AttemptDbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST char * file, int line)); /* 431 */ + int (*tcl_AttemptSetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 432 */ + Tcl_ThreadId (*tcl_GetChannelThread) _ANSI_ARGS_((Tcl_Channel channel)); /* 433 */ + Tcl_UniChar * (*tcl_GetUnicodeFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 434 */ + int (*tcl_GetMathFuncInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, int * numArgsPtr, Tcl_ValueType ** argTypesPtr, Tcl_MathProc ** procPtr, ClientData * clientDataPtr)); /* 435 */ + Tcl_Obj * (*tcl_ListMathFuncs) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * pattern)); /* 436 */ + Tcl_Obj * (*tcl_SubstObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int flags)); /* 437 */ + int (*tcl_DetachChannel) _ANSI_ARGS_((Tcl_Interp* interp, Tcl_Channel channel)); /* 438 */ + int (*tcl_IsStandardChannel) _ANSI_ARGS_((Tcl_Channel channel)); /* 439 */ + int (*tcl_FSCopyFile) _ANSI_ARGS_((Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr)); /* 440 */ + int (*tcl_FSCopyDirectory) _ANSI_ARGS_((Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr, Tcl_Obj ** errorPtr)); /* 441 */ + int (*tcl_FSCreateDirectory) _ANSI_ARGS_((Tcl_Obj * pathPtr)); /* 442 */ + int (*tcl_FSDeleteFile) _ANSI_ARGS_((Tcl_Obj * pathPtr)); /* 443 */ + int (*tcl_FSLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * pathPtr, CONST char * sym1, CONST char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, Tcl_LoadHandle * handlePtr, Tcl_FSUnloadFileProc ** unloadProcPtr)); /* 444 */ + int (*tcl_FSMatchInDirectory) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * result, Tcl_Obj * pathPtr, CONST char * pattern, Tcl_GlobTypeData * types)); /* 445 */ + Tcl_Obj * (*tcl_FSLink) _ANSI_ARGS_((Tcl_Obj * pathPtr, Tcl_Obj * toPtr, int linkAction)); /* 446 */ + int (*tcl_FSRemoveDirectory) _ANSI_ARGS_((Tcl_Obj * pathPtr, int recursive, Tcl_Obj ** errorPtr)); /* 447 */ + int (*tcl_FSRenameFile) _ANSI_ARGS_((Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr)); /* 448 */ + int (*tcl_FSLstat) _ANSI_ARGS_((Tcl_Obj * pathPtr, Tcl_StatBuf * buf)); /* 449 */ + int (*tcl_FSUtime) _ANSI_ARGS_((Tcl_Obj * pathPtr, struct utimbuf * tval)); /* 450 */ + int (*tcl_FSFileAttrsGet) _ANSI_ARGS_((Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef)); /* 451 */ + int (*tcl_FSFileAttrsSet) _ANSI_ARGS_((Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj * objPtr)); /* 452 */ + CONST char ** (*tcl_FSFileAttrStrings) _ANSI_ARGS_((Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef)); /* 453 */ + int (*tcl_FSStat) _ANSI_ARGS_((Tcl_Obj * pathPtr, Tcl_StatBuf * buf)); /* 454 */ + int (*tcl_FSAccess) _ANSI_ARGS_((Tcl_Obj * pathPtr, int mode)); /* 455 */ + Tcl_Channel (*tcl_FSOpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * pathPtr, CONST char * modeString, int permissions)); /* 456 */ + Tcl_Obj* (*tcl_FSGetCwd) _ANSI_ARGS_((Tcl_Interp * interp)); /* 457 */ + int (*tcl_FSChdir) _ANSI_ARGS_((Tcl_Obj * pathPtr)); /* 458 */ + int (*tcl_FSConvertToPathType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * pathPtr)); /* 459 */ + Tcl_Obj* (*tcl_FSJoinPath) _ANSI_ARGS_((Tcl_Obj * listObj, int elements)); /* 460 */ + Tcl_Obj* (*tcl_FSSplitPath) _ANSI_ARGS_((Tcl_Obj* pathPtr, int * lenPtr)); /* 461 */ + int (*tcl_FSEqualPaths) _ANSI_ARGS_((Tcl_Obj* firstPtr, Tcl_Obj* secondPtr)); /* 462 */ + Tcl_Obj* (*tcl_FSGetNormalizedPath) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj* pathObjPtr)); /* 463 */ + Tcl_Obj* (*tcl_FSJoinToPath) _ANSI_ARGS_((Tcl_Obj * basePtr, int objc, Tcl_Obj *CONST objv[])); /* 464 */ + ClientData (*tcl_FSGetInternalRep) _ANSI_ARGS_((Tcl_Obj* pathObjPtr, Tcl_Filesystem * fsPtr)); /* 465 */ + Tcl_Obj* (*tcl_FSGetTranslatedPath) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj* pathPtr)); /* 466 */ + int (*tcl_FSEvalFile) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * fileName)); /* 467 */ + Tcl_Obj* (*tcl_FSNewNativePath) _ANSI_ARGS_((Tcl_Filesystem* fromFilesystem, ClientData clientData)); /* 468 */ + CONST char* (*tcl_FSGetNativePath) _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); /* 469 */ + Tcl_Obj* (*tcl_FSFileSystemInfo) _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); /* 470 */ + Tcl_Obj* (*tcl_FSPathSeparator) _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); /* 471 */ + Tcl_Obj* (*tcl_FSListVolumes) _ANSI_ARGS_((void)); /* 472 */ + int (*tcl_FSRegister) _ANSI_ARGS_((ClientData clientData, Tcl_Filesystem * fsPtr)); /* 473 */ + int (*tcl_FSUnregister) _ANSI_ARGS_((Tcl_Filesystem * fsPtr)); /* 474 */ + ClientData (*tcl_FSData) _ANSI_ARGS_((Tcl_Filesystem * fsPtr)); /* 475 */ + CONST char* (*tcl_FSGetTranslatedStringPath) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj* pathPtr)); /* 476 */ + Tcl_Filesystem* (*tcl_FSGetFileSystemForPath) _ANSI_ARGS_((Tcl_Obj* pathObjPtr)); /* 477 */ + Tcl_PathType (*tcl_FSGetPathType) _ANSI_ARGS_((Tcl_Obj * pathObjPtr)); /* 478 */ + int (*tcl_OutputBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 479 */ + void (*tcl_FSMountsChanged) _ANSI_ARGS_((Tcl_Filesystem * fsPtr)); /* 480 */ + int (*tcl_EvalTokensStandard) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Token * tokenPtr, int count)); /* 481 */ + void (*tcl_GetTime) _ANSI_ARGS_((Tcl_Time* timeBuf)); /* 482 */ + Tcl_Trace (*tcl_CreateObjTrace) _ANSI_ARGS_((Tcl_Interp* interp, int level, int flags, Tcl_CmdObjTraceProc* objProc, ClientData clientData, Tcl_CmdObjTraceDeleteProc* delProc)); /* 483 */ + int (*tcl_GetCommandInfoFromToken) _ANSI_ARGS_((Tcl_Command token, Tcl_CmdInfo* infoPtr)); /* 484 */ + int (*tcl_SetCommandInfoFromToken) _ANSI_ARGS_((Tcl_Command token, CONST Tcl_CmdInfo* infoPtr)); /* 485 */ + Tcl_Obj * (*tcl_DbNewWideIntObj) _ANSI_ARGS_((Tcl_WideInt wideValue, CONST char * file, int line)); /* 486 */ + int (*tcl_GetWideIntFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_WideInt * widePtr)); /* 487 */ + Tcl_Obj * (*tcl_NewWideIntObj) _ANSI_ARGS_((Tcl_WideInt wideValue)); /* 488 */ + void (*tcl_SetWideIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_WideInt wideValue)); /* 489 */ + Tcl_StatBuf * (*tcl_AllocStatBuf) _ANSI_ARGS_((void)); /* 490 */ + Tcl_WideInt (*tcl_Seek) _ANSI_ARGS_((Tcl_Channel chan, Tcl_WideInt offset, int mode)); /* 491 */ + Tcl_WideInt (*tcl_Tell) _ANSI_ARGS_((Tcl_Channel chan)); /* 492 */ + Tcl_DriverWideSeekProc * (*tcl_ChannelWideSeekProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 493 */ + void *reserved494; + void *reserved495; + void *reserved496; + void *reserved497; + void *reserved498; + void *reserved499; + void *reserved500; + void *reserved501; + void *reserved502; + void *reserved503; + void *reserved504; + void *reserved505; + void *reserved506; + void *reserved507; + void *reserved508; + void *reserved509; + void *reserved510; + void *reserved511; + void *reserved512; + void *reserved513; + void *reserved514; + void *reserved515; + void *reserved516; + void *reserved517; + void *reserved518; + void *reserved519; + void *reserved520; + void *reserved521; + void *reserved522; + void *reserved523; + void *reserved524; + void *reserved525; + void *reserved526; + void *reserved527; + void *reserved528; + void *reserved529; + void *reserved530; + void *reserved531; + void *reserved532; + void *reserved533; + void *reserved534; + void *reserved535; + void *reserved536; + void *reserved537; + void *reserved538; + void *reserved539; + void *reserved540; + void *reserved541; + void *reserved542; + void *reserved543; + void *reserved544; + void *reserved545; + void *reserved546; + void *reserved547; + void *reserved548; + void *reserved549; + void *reserved550; + void *reserved551; + void *reserved552; + void *reserved553; + Tcl_DriverThreadActionProc * (*tcl_ChannelThreadActionProc) _ANSI_ARGS_((Tcl_ChannelType * chanTypePtr)); /* 554 */ + void *reserved555; + void *reserved556; + void *reserved557; + void *reserved558; + void *reserved559; + void *reserved560; + void *reserved561; + void *reserved562; + void *reserved563; + void *reserved564; + void *reserved565; + void *reserved566; + void *reserved567; + void *reserved568; + void *reserved569; + void *reserved570; + void *reserved571; + void *reserved572; + int (*tcl_PkgRequireProc) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, int objc, Tcl_Obj *CONST objv[], ClientData * clientDataPtr)); /* 573 */ +} TclStubs; + +#ifdef __cplusplus +extern "C" { +#endif +extern TclStubs *tclStubsPtr; +#ifdef __cplusplus +} +#endif + +#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) + +/* + * Inline function declarations: + */ + +#ifndef Tcl_PkgProvideEx +#define Tcl_PkgProvideEx \ + (tclStubsPtr->tcl_PkgProvideEx) /* 0 */ +#endif +#ifndef Tcl_PkgRequireEx +#define Tcl_PkgRequireEx \ + (tclStubsPtr->tcl_PkgRequireEx) /* 1 */ +#endif +#ifndef Tcl_Panic +#define Tcl_Panic \ + (tclStubsPtr->tcl_Panic) /* 2 */ +#endif +#ifndef Tcl_Alloc +#define Tcl_Alloc \ + (tclStubsPtr->tcl_Alloc) /* 3 */ +#endif +#ifndef Tcl_Free +#define Tcl_Free \ + (tclStubsPtr->tcl_Free) /* 4 */ +#endif +#ifndef Tcl_Realloc +#define Tcl_Realloc \ + (tclStubsPtr->tcl_Realloc) /* 5 */ +#endif +#ifndef Tcl_DbCkalloc +#define Tcl_DbCkalloc \ + (tclStubsPtr->tcl_DbCkalloc) /* 6 */ +#endif +#ifndef Tcl_DbCkfree +#define Tcl_DbCkfree \ + (tclStubsPtr->tcl_DbCkfree) /* 7 */ +#endif +#ifndef Tcl_DbCkrealloc +#define Tcl_DbCkrealloc \ + (tclStubsPtr->tcl_DbCkrealloc) /* 8 */ +#endif +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_CreateFileHandler +#define Tcl_CreateFileHandler \ + (tclStubsPtr->tcl_CreateFileHandler) /* 9 */ +#endif +#endif /* UNIX */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_DeleteFileHandler +#define Tcl_DeleteFileHandler \ + (tclStubsPtr->tcl_DeleteFileHandler) /* 10 */ +#endif +#endif /* UNIX */ +#ifndef Tcl_SetTimer +#define Tcl_SetTimer \ + (tclStubsPtr->tcl_SetTimer) /* 11 */ +#endif +#ifndef Tcl_Sleep +#define Tcl_Sleep \ + (tclStubsPtr->tcl_Sleep) /* 12 */ +#endif +#ifndef Tcl_WaitForEvent +#define Tcl_WaitForEvent \ + (tclStubsPtr->tcl_WaitForEvent) /* 13 */ +#endif +#ifndef Tcl_AppendAllObjTypes +#define Tcl_AppendAllObjTypes \ + (tclStubsPtr->tcl_AppendAllObjTypes) /* 14 */ +#endif +#ifndef Tcl_AppendStringsToObj +#define Tcl_AppendStringsToObj \ + (tclStubsPtr->tcl_AppendStringsToObj) /* 15 */ +#endif +#ifndef Tcl_AppendToObj +#define Tcl_AppendToObj \ + (tclStubsPtr->tcl_AppendToObj) /* 16 */ +#endif +#ifndef Tcl_ConcatObj +#define Tcl_ConcatObj \ + (tclStubsPtr->tcl_ConcatObj) /* 17 */ +#endif +#ifndef Tcl_ConvertToType +#define Tcl_ConvertToType \ + (tclStubsPtr->tcl_ConvertToType) /* 18 */ +#endif +#ifndef Tcl_DbDecrRefCount +#define Tcl_DbDecrRefCount \ + (tclStubsPtr->tcl_DbDecrRefCount) /* 19 */ +#endif +#ifndef Tcl_DbIncrRefCount +#define Tcl_DbIncrRefCount \ + (tclStubsPtr->tcl_DbIncrRefCount) /* 20 */ +#endif +#ifndef Tcl_DbIsShared +#define Tcl_DbIsShared \ + (tclStubsPtr->tcl_DbIsShared) /* 21 */ +#endif +#ifndef Tcl_DbNewBooleanObj +#define Tcl_DbNewBooleanObj \ + (tclStubsPtr->tcl_DbNewBooleanObj) /* 22 */ +#endif +#ifndef Tcl_DbNewByteArrayObj +#define Tcl_DbNewByteArrayObj \ + (tclStubsPtr->tcl_DbNewByteArrayObj) /* 23 */ +#endif +#ifndef Tcl_DbNewDoubleObj +#define Tcl_DbNewDoubleObj \ + (tclStubsPtr->tcl_DbNewDoubleObj) /* 24 */ +#endif +#ifndef Tcl_DbNewListObj +#define Tcl_DbNewListObj \ + (tclStubsPtr->tcl_DbNewListObj) /* 25 */ +#endif +#ifndef Tcl_DbNewLongObj +#define Tcl_DbNewLongObj \ + (tclStubsPtr->tcl_DbNewLongObj) /* 26 */ +#endif +#ifndef Tcl_DbNewObj +#define Tcl_DbNewObj \ + (tclStubsPtr->tcl_DbNewObj) /* 27 */ +#endif +#ifndef Tcl_DbNewStringObj +#define Tcl_DbNewStringObj \ + (tclStubsPtr->tcl_DbNewStringObj) /* 28 */ +#endif +#ifndef Tcl_DuplicateObj +#define Tcl_DuplicateObj \ + (tclStubsPtr->tcl_DuplicateObj) /* 29 */ +#endif +#ifndef TclFreeObj +#define TclFreeObj \ + (tclStubsPtr->tclFreeObj) /* 30 */ +#endif +#ifndef Tcl_GetBoolean +#define Tcl_GetBoolean \ + (tclStubsPtr->tcl_GetBoolean) /* 31 */ +#endif +#ifndef Tcl_GetBooleanFromObj +#define Tcl_GetBooleanFromObj \ + (tclStubsPtr->tcl_GetBooleanFromObj) /* 32 */ +#endif +#ifndef Tcl_GetByteArrayFromObj +#define Tcl_GetByteArrayFromObj \ + (tclStubsPtr->tcl_GetByteArrayFromObj) /* 33 */ +#endif +#ifndef Tcl_GetDouble +#define Tcl_GetDouble \ + (tclStubsPtr->tcl_GetDouble) /* 34 */ +#endif +#ifndef Tcl_GetDoubleFromObj +#define Tcl_GetDoubleFromObj \ + (tclStubsPtr->tcl_GetDoubleFromObj) /* 35 */ +#endif +#ifndef Tcl_GetIndexFromObj +#define Tcl_GetIndexFromObj \ + (tclStubsPtr->tcl_GetIndexFromObj) /* 36 */ +#endif +#ifndef Tcl_GetInt +#define Tcl_GetInt \ + (tclStubsPtr->tcl_GetInt) /* 37 */ +#endif +#ifndef Tcl_GetIntFromObj +#define Tcl_GetIntFromObj \ + (tclStubsPtr->tcl_GetIntFromObj) /* 38 */ +#endif +#ifndef Tcl_GetLongFromObj +#define Tcl_GetLongFromObj \ + (tclStubsPtr->tcl_GetLongFromObj) /* 39 */ +#endif +#ifndef Tcl_GetObjType +#define Tcl_GetObjType \ + (tclStubsPtr->tcl_GetObjType) /* 40 */ +#endif +#ifndef Tcl_GetStringFromObj +#define Tcl_GetStringFromObj \ + (tclStubsPtr->tcl_GetStringFromObj) /* 41 */ +#endif +#ifndef Tcl_InvalidateStringRep +#define Tcl_InvalidateStringRep \ + (tclStubsPtr->tcl_InvalidateStringRep) /* 42 */ +#endif +#ifndef Tcl_ListObjAppendList +#define Tcl_ListObjAppendList \ + (tclStubsPtr->tcl_ListObjAppendList) /* 43 */ +#endif +#ifndef Tcl_ListObjAppendElement +#define Tcl_ListObjAppendElement \ + (tclStubsPtr->tcl_ListObjAppendElement) /* 44 */ +#endif +#ifndef Tcl_ListObjGetElements +#define Tcl_ListObjGetElements \ + (tclStubsPtr->tcl_ListObjGetElements) /* 45 */ +#endif +#ifndef Tcl_ListObjIndex +#define Tcl_ListObjIndex \ + (tclStubsPtr->tcl_ListObjIndex) /* 46 */ +#endif +#ifndef Tcl_ListObjLength +#define Tcl_ListObjLength \ + (tclStubsPtr->tcl_ListObjLength) /* 47 */ +#endif +#ifndef Tcl_ListObjReplace +#define Tcl_ListObjReplace \ + (tclStubsPtr->tcl_ListObjReplace) /* 48 */ +#endif +#ifndef Tcl_NewBooleanObj +#define Tcl_NewBooleanObj \ + (tclStubsPtr->tcl_NewBooleanObj) /* 49 */ +#endif +#ifndef Tcl_NewByteArrayObj +#define Tcl_NewByteArrayObj \ + (tclStubsPtr->tcl_NewByteArrayObj) /* 50 */ +#endif +#ifndef Tcl_NewDoubleObj +#define Tcl_NewDoubleObj \ + (tclStubsPtr->tcl_NewDoubleObj) /* 51 */ +#endif +#ifndef Tcl_NewIntObj +#define Tcl_NewIntObj \ + (tclStubsPtr->tcl_NewIntObj) /* 52 */ +#endif +#ifndef Tcl_NewListObj +#define Tcl_NewListObj \ + (tclStubsPtr->tcl_NewListObj) /* 53 */ +#endif +#ifndef Tcl_NewLongObj +#define Tcl_NewLongObj \ + (tclStubsPtr->tcl_NewLongObj) /* 54 */ +#endif +#ifndef Tcl_NewObj +#define Tcl_NewObj \ + (tclStubsPtr->tcl_NewObj) /* 55 */ +#endif +#ifndef Tcl_NewStringObj +#define Tcl_NewStringObj \ + (tclStubsPtr->tcl_NewStringObj) /* 56 */ +#endif +#ifndef Tcl_SetBooleanObj +#define Tcl_SetBooleanObj \ + (tclStubsPtr->tcl_SetBooleanObj) /* 57 */ +#endif +#ifndef Tcl_SetByteArrayLength +#define Tcl_SetByteArrayLength \ + (tclStubsPtr->tcl_SetByteArrayLength) /* 58 */ +#endif +#ifndef Tcl_SetByteArrayObj +#define Tcl_SetByteArrayObj \ + (tclStubsPtr->tcl_SetByteArrayObj) /* 59 */ +#endif +#ifndef Tcl_SetDoubleObj +#define Tcl_SetDoubleObj \ + (tclStubsPtr->tcl_SetDoubleObj) /* 60 */ +#endif +#ifndef Tcl_SetIntObj +#define Tcl_SetIntObj \ + (tclStubsPtr->tcl_SetIntObj) /* 61 */ +#endif +#ifndef Tcl_SetListObj +#define Tcl_SetListObj \ + (tclStubsPtr->tcl_SetListObj) /* 62 */ +#endif +#ifndef Tcl_SetLongObj +#define Tcl_SetLongObj \ + (tclStubsPtr->tcl_SetLongObj) /* 63 */ +#endif +#ifndef Tcl_SetObjLength +#define Tcl_SetObjLength \ + (tclStubsPtr->tcl_SetObjLength) /* 64 */ +#endif +#ifndef Tcl_SetStringObj +#define Tcl_SetStringObj \ + (tclStubsPtr->tcl_SetStringObj) /* 65 */ +#endif +#ifndef Tcl_AddErrorInfo +#define Tcl_AddErrorInfo \ + (tclStubsPtr->tcl_AddErrorInfo) /* 66 */ +#endif +#ifndef Tcl_AddObjErrorInfo +#define Tcl_AddObjErrorInfo \ + (tclStubsPtr->tcl_AddObjErrorInfo) /* 67 */ +#endif +#ifndef Tcl_AllowExceptions +#define Tcl_AllowExceptions \ + (tclStubsPtr->tcl_AllowExceptions) /* 68 */ +#endif +#ifndef Tcl_AppendElement +#define Tcl_AppendElement \ + (tclStubsPtr->tcl_AppendElement) /* 69 */ +#endif +#ifndef Tcl_AppendResult +#define Tcl_AppendResult \ + (tclStubsPtr->tcl_AppendResult) /* 70 */ +#endif +#ifndef Tcl_AsyncCreate +#define Tcl_AsyncCreate \ + (tclStubsPtr->tcl_AsyncCreate) /* 71 */ +#endif +#ifndef Tcl_AsyncDelete +#define Tcl_AsyncDelete \ + (tclStubsPtr->tcl_AsyncDelete) /* 72 */ +#endif +#ifndef Tcl_AsyncInvoke +#define Tcl_AsyncInvoke \ + (tclStubsPtr->tcl_AsyncInvoke) /* 73 */ +#endif +#ifndef Tcl_AsyncMark +#define Tcl_AsyncMark \ + (tclStubsPtr->tcl_AsyncMark) /* 74 */ +#endif +#ifndef Tcl_AsyncReady +#define Tcl_AsyncReady \ + (tclStubsPtr->tcl_AsyncReady) /* 75 */ +#endif +#ifndef Tcl_BackgroundError +#define Tcl_BackgroundError \ + (tclStubsPtr->tcl_BackgroundError) /* 76 */ +#endif +#ifndef Tcl_Backslash +#define Tcl_Backslash \ + (tclStubsPtr->tcl_Backslash) /* 77 */ +#endif +#ifndef Tcl_BadChannelOption +#define Tcl_BadChannelOption \ + (tclStubsPtr->tcl_BadChannelOption) /* 78 */ +#endif +#ifndef Tcl_CallWhenDeleted +#define Tcl_CallWhenDeleted \ + (tclStubsPtr->tcl_CallWhenDeleted) /* 79 */ +#endif +#ifndef Tcl_CancelIdleCall +#define Tcl_CancelIdleCall \ + (tclStubsPtr->tcl_CancelIdleCall) /* 80 */ +#endif +#ifndef Tcl_Close +#define Tcl_Close \ + (tclStubsPtr->tcl_Close) /* 81 */ +#endif +#ifndef Tcl_CommandComplete +#define Tcl_CommandComplete \ + (tclStubsPtr->tcl_CommandComplete) /* 82 */ +#endif +#ifndef Tcl_Concat +#define Tcl_Concat \ + (tclStubsPtr->tcl_Concat) /* 83 */ +#endif +#ifndef Tcl_ConvertElement +#define Tcl_ConvertElement \ + (tclStubsPtr->tcl_ConvertElement) /* 84 */ +#endif +#ifndef Tcl_ConvertCountedElement +#define Tcl_ConvertCountedElement \ + (tclStubsPtr->tcl_ConvertCountedElement) /* 85 */ +#endif +#ifndef Tcl_CreateAlias +#define Tcl_CreateAlias \ + (tclStubsPtr->tcl_CreateAlias) /* 86 */ +#endif +#ifndef Tcl_CreateAliasObj +#define Tcl_CreateAliasObj \ + (tclStubsPtr->tcl_CreateAliasObj) /* 87 */ +#endif +#ifndef Tcl_CreateChannel +#define Tcl_CreateChannel \ + (tclStubsPtr->tcl_CreateChannel) /* 88 */ +#endif +#ifndef Tcl_CreateChannelHandler +#define Tcl_CreateChannelHandler \ + (tclStubsPtr->tcl_CreateChannelHandler) /* 89 */ +#endif +#ifndef Tcl_CreateCloseHandler +#define Tcl_CreateCloseHandler \ + (tclStubsPtr->tcl_CreateCloseHandler) /* 90 */ +#endif +#ifndef Tcl_CreateCommand +#define Tcl_CreateCommand \ + (tclStubsPtr->tcl_CreateCommand) /* 91 */ +#endif +#ifndef Tcl_CreateEventSource +#define Tcl_CreateEventSource \ + (tclStubsPtr->tcl_CreateEventSource) /* 92 */ +#endif +#ifndef Tcl_CreateExitHandler +#define Tcl_CreateExitHandler \ + (tclStubsPtr->tcl_CreateExitHandler) /* 93 */ +#endif +#ifndef Tcl_CreateInterp +#define Tcl_CreateInterp \ + (tclStubsPtr->tcl_CreateInterp) /* 94 */ +#endif +#ifndef Tcl_CreateMathFunc +#define Tcl_CreateMathFunc \ + (tclStubsPtr->tcl_CreateMathFunc) /* 95 */ +#endif +#ifndef Tcl_CreateObjCommand +#define Tcl_CreateObjCommand \ + (tclStubsPtr->tcl_CreateObjCommand) /* 96 */ +#endif +#ifndef Tcl_CreateSlave +#define Tcl_CreateSlave \ + (tclStubsPtr->tcl_CreateSlave) /* 97 */ +#endif +#ifndef Tcl_CreateTimerHandler +#define Tcl_CreateTimerHandler \ + (tclStubsPtr->tcl_CreateTimerHandler) /* 98 */ +#endif +#ifndef Tcl_CreateTrace +#define Tcl_CreateTrace \ + (tclStubsPtr->tcl_CreateTrace) /* 99 */ +#endif +#ifndef Tcl_DeleteAssocData +#define Tcl_DeleteAssocData \ + (tclStubsPtr->tcl_DeleteAssocData) /* 100 */ +#endif +#ifndef Tcl_DeleteChannelHandler +#define Tcl_DeleteChannelHandler \ + (tclStubsPtr->tcl_DeleteChannelHandler) /* 101 */ +#endif +#ifndef Tcl_DeleteCloseHandler +#define Tcl_DeleteCloseHandler \ + (tclStubsPtr->tcl_DeleteCloseHandler) /* 102 */ +#endif +#ifndef Tcl_DeleteCommand +#define Tcl_DeleteCommand \ + (tclStubsPtr->tcl_DeleteCommand) /* 103 */ +#endif +#ifndef Tcl_DeleteCommandFromToken +#define Tcl_DeleteCommandFromToken \ + (tclStubsPtr->tcl_DeleteCommandFromToken) /* 104 */ +#endif +#ifndef Tcl_DeleteEvents +#define Tcl_DeleteEvents \ + (tclStubsPtr->tcl_DeleteEvents) /* 105 */ +#endif +#ifndef Tcl_DeleteEventSource +#define Tcl_DeleteEventSource \ + (tclStubsPtr->tcl_DeleteEventSource) /* 106 */ +#endif +#ifndef Tcl_DeleteExitHandler +#define Tcl_DeleteExitHandler \ + (tclStubsPtr->tcl_DeleteExitHandler) /* 107 */ +#endif +#ifndef Tcl_DeleteHashEntry +#define Tcl_DeleteHashEntry \ + (tclStubsPtr->tcl_DeleteHashEntry) /* 108 */ +#endif +#ifndef Tcl_DeleteHashTable +#define Tcl_DeleteHashTable \ + (tclStubsPtr->tcl_DeleteHashTable) /* 109 */ +#endif +#ifndef Tcl_DeleteInterp +#define Tcl_DeleteInterp \ + (tclStubsPtr->tcl_DeleteInterp) /* 110 */ +#endif +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_DetachPids +#define Tcl_DetachPids \ + (tclStubsPtr->tcl_DetachPids) /* 111 */ +#endif +#endif /* UNIX */ +#ifdef __WIN32__ +#ifndef Tcl_DetachPids +#define Tcl_DetachPids \ + (tclStubsPtr->tcl_DetachPids) /* 111 */ +#endif +#endif /* __WIN32__ */ +#ifndef Tcl_DeleteTimerHandler +#define Tcl_DeleteTimerHandler \ + (tclStubsPtr->tcl_DeleteTimerHandler) /* 112 */ +#endif +#ifndef Tcl_DeleteTrace +#define Tcl_DeleteTrace \ + (tclStubsPtr->tcl_DeleteTrace) /* 113 */ +#endif +#ifndef Tcl_DontCallWhenDeleted +#define Tcl_DontCallWhenDeleted \ + (tclStubsPtr->tcl_DontCallWhenDeleted) /* 114 */ +#endif +#ifndef Tcl_DoOneEvent +#define Tcl_DoOneEvent \ + (tclStubsPtr->tcl_DoOneEvent) /* 115 */ +#endif +#ifndef Tcl_DoWhenIdle +#define Tcl_DoWhenIdle \ + (tclStubsPtr->tcl_DoWhenIdle) /* 116 */ +#endif +#ifndef Tcl_DStringAppend +#define Tcl_DStringAppend \ + (tclStubsPtr->tcl_DStringAppend) /* 117 */ +#endif +#ifndef Tcl_DStringAppendElement +#define Tcl_DStringAppendElement \ + (tclStubsPtr->tcl_DStringAppendElement) /* 118 */ +#endif +#ifndef Tcl_DStringEndSublist +#define Tcl_DStringEndSublist \ + (tclStubsPtr->tcl_DStringEndSublist) /* 119 */ +#endif +#ifndef Tcl_DStringFree +#define Tcl_DStringFree \ + (tclStubsPtr->tcl_DStringFree) /* 120 */ +#endif +#ifndef Tcl_DStringGetResult +#define Tcl_DStringGetResult \ + (tclStubsPtr->tcl_DStringGetResult) /* 121 */ +#endif +#ifndef Tcl_DStringInit +#define Tcl_DStringInit \ + (tclStubsPtr->tcl_DStringInit) /* 122 */ +#endif +#ifndef Tcl_DStringResult +#define Tcl_DStringResult \ + (tclStubsPtr->tcl_DStringResult) /* 123 */ +#endif +#ifndef Tcl_DStringSetLength +#define Tcl_DStringSetLength \ + (tclStubsPtr->tcl_DStringSetLength) /* 124 */ +#endif +#ifndef Tcl_DStringStartSublist +#define Tcl_DStringStartSublist \ + (tclStubsPtr->tcl_DStringStartSublist) /* 125 */ +#endif +#ifndef Tcl_Eof +#define Tcl_Eof \ + (tclStubsPtr->tcl_Eof) /* 126 */ +#endif +#ifndef Tcl_ErrnoId +#define Tcl_ErrnoId \ + (tclStubsPtr->tcl_ErrnoId) /* 127 */ +#endif +#ifndef Tcl_ErrnoMsg +#define Tcl_ErrnoMsg \ + (tclStubsPtr->tcl_ErrnoMsg) /* 128 */ +#endif +#ifndef Tcl_Eval +#define Tcl_Eval \ + (tclStubsPtr->tcl_Eval) /* 129 */ +#endif +#ifndef Tcl_EvalFile +#define Tcl_EvalFile \ + (tclStubsPtr->tcl_EvalFile) /* 130 */ +#endif +#ifndef Tcl_EvalObj +#define Tcl_EvalObj \ + (tclStubsPtr->tcl_EvalObj) /* 131 */ +#endif +#ifndef Tcl_EventuallyFree +#define Tcl_EventuallyFree \ + (tclStubsPtr->tcl_EventuallyFree) /* 132 */ +#endif +#ifndef Tcl_Exit +#define Tcl_Exit \ + (tclStubsPtr->tcl_Exit) /* 133 */ +#endif +#ifndef Tcl_ExposeCommand +#define Tcl_ExposeCommand \ + (tclStubsPtr->tcl_ExposeCommand) /* 134 */ +#endif +#ifndef Tcl_ExprBoolean +#define Tcl_ExprBoolean \ + (tclStubsPtr->tcl_ExprBoolean) /* 135 */ +#endif +#ifndef Tcl_ExprBooleanObj +#define Tcl_ExprBooleanObj \ + (tclStubsPtr->tcl_ExprBooleanObj) /* 136 */ +#endif +#ifndef Tcl_ExprDouble +#define Tcl_ExprDouble \ + (tclStubsPtr->tcl_ExprDouble) /* 137 */ +#endif +#ifndef Tcl_ExprDoubleObj +#define Tcl_ExprDoubleObj \ + (tclStubsPtr->tcl_ExprDoubleObj) /* 138 */ +#endif +#ifndef Tcl_ExprLong +#define Tcl_ExprLong \ + (tclStubsPtr->tcl_ExprLong) /* 139 */ +#endif +#ifndef Tcl_ExprLongObj +#define Tcl_ExprLongObj \ + (tclStubsPtr->tcl_ExprLongObj) /* 140 */ +#endif +#ifndef Tcl_ExprObj +#define Tcl_ExprObj \ + (tclStubsPtr->tcl_ExprObj) /* 141 */ +#endif +#ifndef Tcl_ExprString +#define Tcl_ExprString \ + (tclStubsPtr->tcl_ExprString) /* 142 */ +#endif +#ifndef Tcl_Finalize +#define Tcl_Finalize \ + (tclStubsPtr->tcl_Finalize) /* 143 */ +#endif +#ifndef Tcl_FindExecutable +#define Tcl_FindExecutable \ + (tclStubsPtr->tcl_FindExecutable) /* 144 */ +#endif +#ifndef Tcl_FirstHashEntry +#define Tcl_FirstHashEntry \ + (tclStubsPtr->tcl_FirstHashEntry) /* 145 */ +#endif +#ifndef Tcl_Flush +#define Tcl_Flush \ + (tclStubsPtr->tcl_Flush) /* 146 */ +#endif +#ifndef Tcl_FreeResult +#define Tcl_FreeResult \ + (tclStubsPtr->tcl_FreeResult) /* 147 */ +#endif +#ifndef Tcl_GetAlias +#define Tcl_GetAlias \ + (tclStubsPtr->tcl_GetAlias) /* 148 */ +#endif +#ifndef Tcl_GetAliasObj +#define Tcl_GetAliasObj \ + (tclStubsPtr->tcl_GetAliasObj) /* 149 */ +#endif +#ifndef Tcl_GetAssocData +#define Tcl_GetAssocData \ + (tclStubsPtr->tcl_GetAssocData) /* 150 */ +#endif +#ifndef Tcl_GetChannel +#define Tcl_GetChannel \ + (tclStubsPtr->tcl_GetChannel) /* 151 */ +#endif +#ifndef Tcl_GetChannelBufferSize +#define Tcl_GetChannelBufferSize \ + (tclStubsPtr->tcl_GetChannelBufferSize) /* 152 */ +#endif +#ifndef Tcl_GetChannelHandle +#define Tcl_GetChannelHandle \ + (tclStubsPtr->tcl_GetChannelHandle) /* 153 */ +#endif +#ifndef Tcl_GetChannelInstanceData +#define Tcl_GetChannelInstanceData \ + (tclStubsPtr->tcl_GetChannelInstanceData) /* 154 */ +#endif +#ifndef Tcl_GetChannelMode +#define Tcl_GetChannelMode \ + (tclStubsPtr->tcl_GetChannelMode) /* 155 */ +#endif +#ifndef Tcl_GetChannelName +#define Tcl_GetChannelName \ + (tclStubsPtr->tcl_GetChannelName) /* 156 */ +#endif +#ifndef Tcl_GetChannelOption +#define Tcl_GetChannelOption \ + (tclStubsPtr->tcl_GetChannelOption) /* 157 */ +#endif +#ifndef Tcl_GetChannelType +#define Tcl_GetChannelType \ + (tclStubsPtr->tcl_GetChannelType) /* 158 */ +#endif +#ifndef Tcl_GetCommandInfo +#define Tcl_GetCommandInfo \ + (tclStubsPtr->tcl_GetCommandInfo) /* 159 */ +#endif +#ifndef Tcl_GetCommandName +#define Tcl_GetCommandName \ + (tclStubsPtr->tcl_GetCommandName) /* 160 */ +#endif +#ifndef Tcl_GetErrno +#define Tcl_GetErrno \ + (tclStubsPtr->tcl_GetErrno) /* 161 */ +#endif +#ifndef Tcl_GetHostName +#define Tcl_GetHostName \ + (tclStubsPtr->tcl_GetHostName) /* 162 */ +#endif +#ifndef Tcl_GetInterpPath +#define Tcl_GetInterpPath \ + (tclStubsPtr->tcl_GetInterpPath) /* 163 */ +#endif +#ifndef Tcl_GetMaster +#define Tcl_GetMaster \ + (tclStubsPtr->tcl_GetMaster) /* 164 */ +#endif +#ifndef Tcl_GetNameOfExecutable +#define Tcl_GetNameOfExecutable \ + (tclStubsPtr->tcl_GetNameOfExecutable) /* 165 */ +#endif +#ifndef Tcl_GetObjResult +#define Tcl_GetObjResult \ + (tclStubsPtr->tcl_GetObjResult) /* 166 */ +#endif +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_GetOpenFile +#define Tcl_GetOpenFile \ + (tclStubsPtr->tcl_GetOpenFile) /* 167 */ +#endif +#endif /* UNIX */ +#ifndef Tcl_GetPathType +#define Tcl_GetPathType \ + (tclStubsPtr->tcl_GetPathType) /* 168 */ +#endif +#ifndef Tcl_Gets +#define Tcl_Gets \ + (tclStubsPtr->tcl_Gets) /* 169 */ +#endif +#ifndef Tcl_GetsObj +#define Tcl_GetsObj \ + (tclStubsPtr->tcl_GetsObj) /* 170 */ +#endif +#ifndef Tcl_GetServiceMode +#define Tcl_GetServiceMode \ + (tclStubsPtr->tcl_GetServiceMode) /* 171 */ +#endif +#ifndef Tcl_GetSlave +#define Tcl_GetSlave \ + (tclStubsPtr->tcl_GetSlave) /* 172 */ +#endif +#ifndef Tcl_GetStdChannel +#define Tcl_GetStdChannel \ + (tclStubsPtr->tcl_GetStdChannel) /* 173 */ +#endif +#ifndef Tcl_GetStringResult +#define Tcl_GetStringResult \ + (tclStubsPtr->tcl_GetStringResult) /* 174 */ +#endif +#ifndef Tcl_GetVar +#define Tcl_GetVar \ + (tclStubsPtr->tcl_GetVar) /* 175 */ +#endif +#ifndef Tcl_GetVar2 +#define Tcl_GetVar2 \ + (tclStubsPtr->tcl_GetVar2) /* 176 */ +#endif +#ifndef Tcl_GlobalEval +#define Tcl_GlobalEval \ + (tclStubsPtr->tcl_GlobalEval) /* 177 */ +#endif +#ifndef Tcl_GlobalEvalObj +#define Tcl_GlobalEvalObj \ + (tclStubsPtr->tcl_GlobalEvalObj) /* 178 */ +#endif +#ifndef Tcl_HideCommand +#define Tcl_HideCommand \ + (tclStubsPtr->tcl_HideCommand) /* 179 */ +#endif +#ifndef Tcl_Init +#define Tcl_Init \ + (tclStubsPtr->tcl_Init) /* 180 */ +#endif +#ifndef Tcl_InitHashTable +#define Tcl_InitHashTable \ + (tclStubsPtr->tcl_InitHashTable) /* 181 */ +#endif +#ifndef Tcl_InputBlocked +#define Tcl_InputBlocked \ + (tclStubsPtr->tcl_InputBlocked) /* 182 */ +#endif +#ifndef Tcl_InputBuffered +#define Tcl_InputBuffered \ + (tclStubsPtr->tcl_InputBuffered) /* 183 */ +#endif +#ifndef Tcl_InterpDeleted +#define Tcl_InterpDeleted \ + (tclStubsPtr->tcl_InterpDeleted) /* 184 */ +#endif +#ifndef Tcl_IsSafe +#define Tcl_IsSafe \ + (tclStubsPtr->tcl_IsSafe) /* 185 */ +#endif +#ifndef Tcl_JoinPath +#define Tcl_JoinPath \ + (tclStubsPtr->tcl_JoinPath) /* 186 */ +#endif +#ifndef Tcl_LinkVar +#define Tcl_LinkVar \ + (tclStubsPtr->tcl_LinkVar) /* 187 */ +#endif +/* Slot 188 is reserved */ +#ifndef Tcl_MakeFileChannel +#define Tcl_MakeFileChannel \ + (tclStubsPtr->tcl_MakeFileChannel) /* 189 */ +#endif +#ifndef Tcl_MakeSafe +#define Tcl_MakeSafe \ + (tclStubsPtr->tcl_MakeSafe) /* 190 */ +#endif +#ifndef Tcl_MakeTcpClientChannel +#define Tcl_MakeTcpClientChannel \ + (tclStubsPtr->tcl_MakeTcpClientChannel) /* 191 */ +#endif +#ifndef Tcl_Merge +#define Tcl_Merge \ + (tclStubsPtr->tcl_Merge) /* 192 */ +#endif +#ifndef Tcl_NextHashEntry +#define Tcl_NextHashEntry \ + (tclStubsPtr->tcl_NextHashEntry) /* 193 */ +#endif +#ifndef Tcl_NotifyChannel +#define Tcl_NotifyChannel \ + (tclStubsPtr->tcl_NotifyChannel) /* 194 */ +#endif +#ifndef Tcl_ObjGetVar2 +#define Tcl_ObjGetVar2 \ + (tclStubsPtr->tcl_ObjGetVar2) /* 195 */ +#endif +#ifndef Tcl_ObjSetVar2 +#define Tcl_ObjSetVar2 \ + (tclStubsPtr->tcl_ObjSetVar2) /* 196 */ +#endif +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_OpenCommandChannel +#define Tcl_OpenCommandChannel \ + (tclStubsPtr->tcl_OpenCommandChannel) /* 197 */ +#endif +#endif /* UNIX */ +#ifdef __WIN32__ +#ifndef Tcl_OpenCommandChannel +#define Tcl_OpenCommandChannel \ + (tclStubsPtr->tcl_OpenCommandChannel) /* 197 */ +#endif +#endif /* __WIN32__ */ +#ifndef Tcl_OpenFileChannel +#define Tcl_OpenFileChannel \ + (tclStubsPtr->tcl_OpenFileChannel) /* 198 */ +#endif +#ifndef Tcl_OpenTcpClient +#define Tcl_OpenTcpClient \ + (tclStubsPtr->tcl_OpenTcpClient) /* 199 */ +#endif +#ifndef Tcl_OpenTcpServer +#define Tcl_OpenTcpServer \ + (tclStubsPtr->tcl_OpenTcpServer) /* 200 */ +#endif +#ifndef Tcl_Preserve +#define Tcl_Preserve \ + (tclStubsPtr->tcl_Preserve) /* 201 */ +#endif +#ifndef Tcl_PrintDouble +#define Tcl_PrintDouble \ + (tclStubsPtr->tcl_PrintDouble) /* 202 */ +#endif +#ifndef Tcl_PutEnv +#define Tcl_PutEnv \ + (tclStubsPtr->tcl_PutEnv) /* 203 */ +#endif +#ifndef Tcl_PosixError +#define Tcl_PosixError \ + (tclStubsPtr->tcl_PosixError) /* 204 */ +#endif +#ifndef Tcl_QueueEvent +#define Tcl_QueueEvent \ + (tclStubsPtr->tcl_QueueEvent) /* 205 */ +#endif +#ifndef Tcl_Read +#define Tcl_Read \ + (tclStubsPtr->tcl_Read) /* 206 */ +#endif +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_ReapDetachedProcs +#define Tcl_ReapDetachedProcs \ + (tclStubsPtr->tcl_ReapDetachedProcs) /* 207 */ +#endif +#endif /* UNIX */ +#ifdef __WIN32__ +#ifndef Tcl_ReapDetachedProcs +#define Tcl_ReapDetachedProcs \ + (tclStubsPtr->tcl_ReapDetachedProcs) /* 207 */ +#endif +#endif /* __WIN32__ */ +#ifndef Tcl_RecordAndEval +#define Tcl_RecordAndEval \ + (tclStubsPtr->tcl_RecordAndEval) /* 208 */ +#endif +#ifndef Tcl_RecordAndEvalObj +#define Tcl_RecordAndEvalObj \ + (tclStubsPtr->tcl_RecordAndEvalObj) /* 209 */ +#endif +#ifndef Tcl_RegisterChannel +#define Tcl_RegisterChannel \ + (tclStubsPtr->tcl_RegisterChannel) /* 210 */ +#endif +#ifndef Tcl_RegisterObjType +#define Tcl_RegisterObjType \ + (tclStubsPtr->tcl_RegisterObjType) /* 211 */ +#endif +#ifndef Tcl_RegExpCompile +#define Tcl_RegExpCompile \ + (tclStubsPtr->tcl_RegExpCompile) /* 212 */ +#endif +#ifndef Tcl_RegExpExec +#define Tcl_RegExpExec \ + (tclStubsPtr->tcl_RegExpExec) /* 213 */ +#endif +#ifndef Tcl_RegExpMatch +#define Tcl_RegExpMatch \ + (tclStubsPtr->tcl_RegExpMatch) /* 214 */ +#endif +#ifndef Tcl_RegExpRange +#define Tcl_RegExpRange \ + (tclStubsPtr->tcl_RegExpRange) /* 215 */ +#endif +#ifndef Tcl_Release +#define Tcl_Release \ + (tclStubsPtr->tcl_Release) /* 216 */ +#endif +#ifndef Tcl_ResetResult +#define Tcl_ResetResult \ + (tclStubsPtr->tcl_ResetResult) /* 217 */ +#endif +#ifndef Tcl_ScanElement +#define Tcl_ScanElement \ + (tclStubsPtr->tcl_ScanElement) /* 218 */ +#endif +#ifndef Tcl_ScanCountedElement +#define Tcl_ScanCountedElement \ + (tclStubsPtr->tcl_ScanCountedElement) /* 219 */ +#endif +#ifndef Tcl_SeekOld +#define Tcl_SeekOld \ + (tclStubsPtr->tcl_SeekOld) /* 220 */ +#endif +#ifndef Tcl_ServiceAll +#define Tcl_ServiceAll \ + (tclStubsPtr->tcl_ServiceAll) /* 221 */ +#endif +#ifndef Tcl_ServiceEvent +#define Tcl_ServiceEvent \ + (tclStubsPtr->tcl_ServiceEvent) /* 222 */ +#endif +#ifndef Tcl_SetAssocData +#define Tcl_SetAssocData \ + (tclStubsPtr->tcl_SetAssocData) /* 223 */ +#endif +#ifndef Tcl_SetChannelBufferSize +#define Tcl_SetChannelBufferSize \ + (tclStubsPtr->tcl_SetChannelBufferSize) /* 224 */ +#endif +#ifndef Tcl_SetChannelOption +#define Tcl_SetChannelOption \ + (tclStubsPtr->tcl_SetChannelOption) /* 225 */ +#endif +#ifndef Tcl_SetCommandInfo +#define Tcl_SetCommandInfo \ + (tclStubsPtr->tcl_SetCommandInfo) /* 226 */ +#endif +#ifndef Tcl_SetErrno +#define Tcl_SetErrno \ + (tclStubsPtr->tcl_SetErrno) /* 227 */ +#endif +#ifndef Tcl_SetErrorCode +#define Tcl_SetErrorCode \ + (tclStubsPtr->tcl_SetErrorCode) /* 228 */ +#endif +#ifndef Tcl_SetMaxBlockTime +#define Tcl_SetMaxBlockTime \ + (tclStubsPtr->tcl_SetMaxBlockTime) /* 229 */ +#endif +#ifndef Tcl_SetPanicProc +#define Tcl_SetPanicProc \ + (tclStubsPtr->tcl_SetPanicProc) /* 230 */ +#endif +#ifndef Tcl_SetRecursionLimit +#define Tcl_SetRecursionLimit \ + (tclStubsPtr->tcl_SetRecursionLimit) /* 231 */ +#endif +#ifndef Tcl_SetResult +#define Tcl_SetResult \ + (tclStubsPtr->tcl_SetResult) /* 232 */ +#endif +#ifndef Tcl_SetServiceMode +#define Tcl_SetServiceMode \ + (tclStubsPtr->tcl_SetServiceMode) /* 233 */ +#endif +#ifndef Tcl_SetObjErrorCode +#define Tcl_SetObjErrorCode \ + (tclStubsPtr->tcl_SetObjErrorCode) /* 234 */ +#endif +#ifndef Tcl_SetObjResult +#define Tcl_SetObjResult \ + (tclStubsPtr->tcl_SetObjResult) /* 235 */ +#endif +#ifndef Tcl_SetStdChannel +#define Tcl_SetStdChannel \ + (tclStubsPtr->tcl_SetStdChannel) /* 236 */ +#endif +#ifndef Tcl_SetVar +#define Tcl_SetVar \ + (tclStubsPtr->tcl_SetVar) /* 237 */ +#endif +#ifndef Tcl_SetVar2 +#define Tcl_SetVar2 \ + (tclStubsPtr->tcl_SetVar2) /* 238 */ +#endif +#ifndef Tcl_SignalId +#define Tcl_SignalId \ + (tclStubsPtr->tcl_SignalId) /* 239 */ +#endif +#ifndef Tcl_SignalMsg +#define Tcl_SignalMsg \ + (tclStubsPtr->tcl_SignalMsg) /* 240 */ +#endif +#ifndef Tcl_SourceRCFile +#define Tcl_SourceRCFile \ + (tclStubsPtr->tcl_SourceRCFile) /* 241 */ +#endif +#ifndef Tcl_SplitList +#define Tcl_SplitList \ + (tclStubsPtr->tcl_SplitList) /* 242 */ +#endif +#ifndef Tcl_SplitPath +#define Tcl_SplitPath \ + (tclStubsPtr->tcl_SplitPath) /* 243 */ +#endif +#ifndef Tcl_StaticPackage +#define Tcl_StaticPackage \ + (tclStubsPtr->tcl_StaticPackage) /* 244 */ +#endif +#ifndef Tcl_StringMatch +#define Tcl_StringMatch \ + (tclStubsPtr->tcl_StringMatch) /* 245 */ +#endif +#ifndef Tcl_TellOld +#define Tcl_TellOld \ + (tclStubsPtr->tcl_TellOld) /* 246 */ +#endif +#ifndef Tcl_TraceVar +#define Tcl_TraceVar \ + (tclStubsPtr->tcl_TraceVar) /* 247 */ +#endif +#ifndef Tcl_TraceVar2 +#define Tcl_TraceVar2 \ + (tclStubsPtr->tcl_TraceVar2) /* 248 */ +#endif +#ifndef Tcl_TranslateFileName +#define Tcl_TranslateFileName \ + (tclStubsPtr->tcl_TranslateFileName) /* 249 */ +#endif +#ifndef Tcl_Ungets +#define Tcl_Ungets \ + (tclStubsPtr->tcl_Ungets) /* 250 */ +#endif +#ifndef Tcl_UnlinkVar +#define Tcl_UnlinkVar \ + (tclStubsPtr->tcl_UnlinkVar) /* 251 */ +#endif +#ifndef Tcl_UnregisterChannel +#define Tcl_UnregisterChannel \ + (tclStubsPtr->tcl_UnregisterChannel) /* 252 */ +#endif +#ifndef Tcl_UnsetVar +#define Tcl_UnsetVar \ + (tclStubsPtr->tcl_UnsetVar) /* 253 */ +#endif +#ifndef Tcl_UnsetVar2 +#define Tcl_UnsetVar2 \ + (tclStubsPtr->tcl_UnsetVar2) /* 254 */ +#endif +#ifndef Tcl_UntraceVar +#define Tcl_UntraceVar \ + (tclStubsPtr->tcl_UntraceVar) /* 255 */ +#endif +#ifndef Tcl_UntraceVar2 +#define Tcl_UntraceVar2 \ + (tclStubsPtr->tcl_UntraceVar2) /* 256 */ +#endif +#ifndef Tcl_UpdateLinkedVar +#define Tcl_UpdateLinkedVar \ + (tclStubsPtr->tcl_UpdateLinkedVar) /* 257 */ +#endif +#ifndef Tcl_UpVar +#define Tcl_UpVar \ + (tclStubsPtr->tcl_UpVar) /* 258 */ +#endif +#ifndef Tcl_UpVar2 +#define Tcl_UpVar2 \ + (tclStubsPtr->tcl_UpVar2) /* 259 */ +#endif +#ifndef Tcl_VarEval +#define Tcl_VarEval \ + (tclStubsPtr->tcl_VarEval) /* 260 */ +#endif +#ifndef Tcl_VarTraceInfo +#define Tcl_VarTraceInfo \ + (tclStubsPtr->tcl_VarTraceInfo) /* 261 */ +#endif +#ifndef Tcl_VarTraceInfo2 +#define Tcl_VarTraceInfo2 \ + (tclStubsPtr->tcl_VarTraceInfo2) /* 262 */ +#endif +#ifndef Tcl_Write +#define Tcl_Write \ + (tclStubsPtr->tcl_Write) /* 263 */ +#endif +#ifndef Tcl_WrongNumArgs +#define Tcl_WrongNumArgs \ + (tclStubsPtr->tcl_WrongNumArgs) /* 264 */ +#endif +#ifndef Tcl_DumpActiveMemory +#define Tcl_DumpActiveMemory \ + (tclStubsPtr->tcl_DumpActiveMemory) /* 265 */ +#endif +#ifndef Tcl_ValidateAllMemory +#define Tcl_ValidateAllMemory \ + (tclStubsPtr->tcl_ValidateAllMemory) /* 266 */ +#endif +#ifndef Tcl_AppendResultVA +#define Tcl_AppendResultVA \ + (tclStubsPtr->tcl_AppendResultVA) /* 267 */ +#endif +#ifndef Tcl_AppendStringsToObjVA +#define Tcl_AppendStringsToObjVA \ + (tclStubsPtr->tcl_AppendStringsToObjVA) /* 268 */ +#endif +#ifndef Tcl_HashStats +#define Tcl_HashStats \ + (tclStubsPtr->tcl_HashStats) /* 269 */ +#endif +#ifndef Tcl_ParseVar +#define Tcl_ParseVar \ + (tclStubsPtr->tcl_ParseVar) /* 270 */ +#endif +#ifndef Tcl_PkgPresent +#define Tcl_PkgPresent \ + (tclStubsPtr->tcl_PkgPresent) /* 271 */ +#endif +#ifndef Tcl_PkgPresentEx +#define Tcl_PkgPresentEx \ + (tclStubsPtr->tcl_PkgPresentEx) /* 272 */ +#endif +#ifndef Tcl_PkgProvide +#define Tcl_PkgProvide \ + (tclStubsPtr->tcl_PkgProvide) /* 273 */ +#endif +#ifndef Tcl_PkgRequire +#define Tcl_PkgRequire \ + (tclStubsPtr->tcl_PkgRequire) /* 274 */ +#endif +#ifndef Tcl_SetErrorCodeVA +#define Tcl_SetErrorCodeVA \ + (tclStubsPtr->tcl_SetErrorCodeVA) /* 275 */ +#endif +#ifndef Tcl_VarEvalVA +#define Tcl_VarEvalVA \ + (tclStubsPtr->tcl_VarEvalVA) /* 276 */ +#endif +#ifndef Tcl_WaitPid +#define Tcl_WaitPid \ + (tclStubsPtr->tcl_WaitPid) /* 277 */ +#endif +#ifndef Tcl_PanicVA +#define Tcl_PanicVA \ + (tclStubsPtr->tcl_PanicVA) /* 278 */ +#endif +#ifndef Tcl_GetVersion +#define Tcl_GetVersion \ + (tclStubsPtr->tcl_GetVersion) /* 279 */ +#endif +#ifndef Tcl_InitMemory +#define Tcl_InitMemory \ + (tclStubsPtr->tcl_InitMemory) /* 280 */ +#endif +#ifndef Tcl_StackChannel +#define Tcl_StackChannel \ + (tclStubsPtr->tcl_StackChannel) /* 281 */ +#endif +#ifndef Tcl_UnstackChannel +#define Tcl_UnstackChannel \ + (tclStubsPtr->tcl_UnstackChannel) /* 282 */ +#endif +#ifndef Tcl_GetStackedChannel +#define Tcl_GetStackedChannel \ + (tclStubsPtr->tcl_GetStackedChannel) /* 283 */ +#endif +#ifndef Tcl_SetMainLoop +#define Tcl_SetMainLoop \ + (tclStubsPtr->tcl_SetMainLoop) /* 284 */ +#endif +/* Slot 285 is reserved */ +#ifndef Tcl_AppendObjToObj +#define Tcl_AppendObjToObj \ + (tclStubsPtr->tcl_AppendObjToObj) /* 286 */ +#endif +#ifndef Tcl_CreateEncoding +#define Tcl_CreateEncoding \ + (tclStubsPtr->tcl_CreateEncoding) /* 287 */ +#endif +#ifndef Tcl_CreateThreadExitHandler +#define Tcl_CreateThreadExitHandler \ + (tclStubsPtr->tcl_CreateThreadExitHandler) /* 288 */ +#endif +#ifndef Tcl_DeleteThreadExitHandler +#define Tcl_DeleteThreadExitHandler \ + (tclStubsPtr->tcl_DeleteThreadExitHandler) /* 289 */ +#endif +#ifndef Tcl_DiscardResult +#define Tcl_DiscardResult \ + (tclStubsPtr->tcl_DiscardResult) /* 290 */ +#endif +#ifndef Tcl_EvalEx +#define Tcl_EvalEx \ + (tclStubsPtr->tcl_EvalEx) /* 291 */ +#endif +#ifndef Tcl_EvalObjv +#define Tcl_EvalObjv \ + (tclStubsPtr->tcl_EvalObjv) /* 292 */ +#endif +#ifndef Tcl_EvalObjEx +#define Tcl_EvalObjEx \ + (tclStubsPtr->tcl_EvalObjEx) /* 293 */ +#endif +#ifndef Tcl_ExitThread +#define Tcl_ExitThread \ + (tclStubsPtr->tcl_ExitThread) /* 294 */ +#endif +#ifndef Tcl_ExternalToUtf +#define Tcl_ExternalToUtf \ + (tclStubsPtr->tcl_ExternalToUtf) /* 295 */ +#endif +#ifndef Tcl_ExternalToUtfDString +#define Tcl_ExternalToUtfDString \ + (tclStubsPtr->tcl_ExternalToUtfDString) /* 296 */ +#endif +#ifndef Tcl_FinalizeThread +#define Tcl_FinalizeThread \ + (tclStubsPtr->tcl_FinalizeThread) /* 297 */ +#endif +#ifndef Tcl_FinalizeNotifier +#define Tcl_FinalizeNotifier \ + (tclStubsPtr->tcl_FinalizeNotifier) /* 298 */ +#endif +#ifndef Tcl_FreeEncoding +#define Tcl_FreeEncoding \ + (tclStubsPtr->tcl_FreeEncoding) /* 299 */ +#endif +#ifndef Tcl_GetCurrentThread +#define Tcl_GetCurrentThread \ + (tclStubsPtr->tcl_GetCurrentThread) /* 300 */ +#endif +#ifndef Tcl_GetEncoding +#define Tcl_GetEncoding \ + (tclStubsPtr->tcl_GetEncoding) /* 301 */ +#endif +#ifndef Tcl_GetEncodingName +#define Tcl_GetEncodingName \ + (tclStubsPtr->tcl_GetEncodingName) /* 302 */ +#endif +#ifndef Tcl_GetEncodingNames +#define Tcl_GetEncodingNames \ + (tclStubsPtr->tcl_GetEncodingNames) /* 303 */ +#endif +#ifndef Tcl_GetIndexFromObjStruct +#define Tcl_GetIndexFromObjStruct \ + (tclStubsPtr->tcl_GetIndexFromObjStruct) /* 304 */ +#endif +#ifndef Tcl_GetThreadData +#define Tcl_GetThreadData \ + (tclStubsPtr->tcl_GetThreadData) /* 305 */ +#endif +#ifndef Tcl_GetVar2Ex +#define Tcl_GetVar2Ex \ + (tclStubsPtr->tcl_GetVar2Ex) /* 306 */ +#endif +#ifndef Tcl_InitNotifier +#define Tcl_InitNotifier \ + (tclStubsPtr->tcl_InitNotifier) /* 307 */ +#endif +#ifndef Tcl_MutexLock +#define Tcl_MutexLock \ + (tclStubsPtr->tcl_MutexLock) /* 308 */ +#endif +#ifndef Tcl_MutexUnlock +#define Tcl_MutexUnlock \ + (tclStubsPtr->tcl_MutexUnlock) /* 309 */ +#endif +#ifndef Tcl_ConditionNotify +#define Tcl_ConditionNotify \ + (tclStubsPtr->tcl_ConditionNotify) /* 310 */ +#endif +#ifndef Tcl_ConditionWait +#define Tcl_ConditionWait \ + (tclStubsPtr->tcl_ConditionWait) /* 311 */ +#endif +#ifndef Tcl_NumUtfChars +#define Tcl_NumUtfChars \ + (tclStubsPtr->tcl_NumUtfChars) /* 312 */ +#endif +#ifndef Tcl_ReadChars +#define Tcl_ReadChars \ + (tclStubsPtr->tcl_ReadChars) /* 313 */ +#endif +#ifndef Tcl_RestoreResult +#define Tcl_RestoreResult \ + (tclStubsPtr->tcl_RestoreResult) /* 314 */ +#endif +#ifndef Tcl_SaveResult +#define Tcl_SaveResult \ + (tclStubsPtr->tcl_SaveResult) /* 315 */ +#endif +#ifndef Tcl_SetSystemEncoding +#define Tcl_SetSystemEncoding \ + (tclStubsPtr->tcl_SetSystemEncoding) /* 316 */ +#endif +#ifndef Tcl_SetVar2Ex +#define Tcl_SetVar2Ex \ + (tclStubsPtr->tcl_SetVar2Ex) /* 317 */ +#endif +#ifndef Tcl_ThreadAlert +#define Tcl_ThreadAlert \ + (tclStubsPtr->tcl_ThreadAlert) /* 318 */ +#endif +#ifndef Tcl_ThreadQueueEvent +#define Tcl_ThreadQueueEvent \ + (tclStubsPtr->tcl_ThreadQueueEvent) /* 319 */ +#endif +#ifndef Tcl_UniCharAtIndex +#define Tcl_UniCharAtIndex \ + (tclStubsPtr->tcl_UniCharAtIndex) /* 320 */ +#endif +#ifndef Tcl_UniCharToLower +#define Tcl_UniCharToLower \ + (tclStubsPtr->tcl_UniCharToLower) /* 321 */ +#endif +#ifndef Tcl_UniCharToTitle +#define Tcl_UniCharToTitle \ + (tclStubsPtr->tcl_UniCharToTitle) /* 322 */ +#endif +#ifndef Tcl_UniCharToUpper +#define Tcl_UniCharToUpper \ + (tclStubsPtr->tcl_UniCharToUpper) /* 323 */ +#endif +#ifndef Tcl_UniCharToUtf +#define Tcl_UniCharToUtf \ + (tclStubsPtr->tcl_UniCharToUtf) /* 324 */ +#endif +#ifndef Tcl_UtfAtIndex +#define Tcl_UtfAtIndex \ + (tclStubsPtr->tcl_UtfAtIndex) /* 325 */ +#endif +#ifndef Tcl_UtfCharComplete +#define Tcl_UtfCharComplete \ + (tclStubsPtr->tcl_UtfCharComplete) /* 326 */ +#endif +#ifndef Tcl_UtfBackslash +#define Tcl_UtfBackslash \ + (tclStubsPtr->tcl_UtfBackslash) /* 327 */ +#endif +#ifndef Tcl_UtfFindFirst +#define Tcl_UtfFindFirst \ + (tclStubsPtr->tcl_UtfFindFirst) /* 328 */ +#endif +#ifndef Tcl_UtfFindLast +#define Tcl_UtfFindLast \ + (tclStubsPtr->tcl_UtfFindLast) /* 329 */ +#endif +#ifndef Tcl_UtfNext +#define Tcl_UtfNext \ + (tclStubsPtr->tcl_UtfNext) /* 330 */ +#endif +#ifndef Tcl_UtfPrev +#define Tcl_UtfPrev \ + (tclStubsPtr->tcl_UtfPrev) /* 331 */ +#endif +#ifndef Tcl_UtfToExternal +#define Tcl_UtfToExternal \ + (tclStubsPtr->tcl_UtfToExternal) /* 332 */ +#endif +#ifndef Tcl_UtfToExternalDString +#define Tcl_UtfToExternalDString \ + (tclStubsPtr->tcl_UtfToExternalDString) /* 333 */ +#endif +#ifndef Tcl_UtfToLower +#define Tcl_UtfToLower \ + (tclStubsPtr->tcl_UtfToLower) /* 334 */ +#endif +#ifndef Tcl_UtfToTitle +#define Tcl_UtfToTitle \ + (tclStubsPtr->tcl_UtfToTitle) /* 335 */ +#endif +#ifndef Tcl_UtfToUniChar +#define Tcl_UtfToUniChar \ + (tclStubsPtr->tcl_UtfToUniChar) /* 336 */ +#endif +#ifndef Tcl_UtfToUpper +#define Tcl_UtfToUpper \ + (tclStubsPtr->tcl_UtfToUpper) /* 337 */ +#endif +#ifndef Tcl_WriteChars +#define Tcl_WriteChars \ + (tclStubsPtr->tcl_WriteChars) /* 338 */ +#endif +#ifndef Tcl_WriteObj +#define Tcl_WriteObj \ + (tclStubsPtr->tcl_WriteObj) /* 339 */ +#endif +#ifndef Tcl_GetString +#define Tcl_GetString \ + (tclStubsPtr->tcl_GetString) /* 340 */ +#endif +#ifndef Tcl_GetDefaultEncodingDir +#define Tcl_GetDefaultEncodingDir \ + (tclStubsPtr->tcl_GetDefaultEncodingDir) /* 341 */ +#endif +#ifndef Tcl_SetDefaultEncodingDir +#define Tcl_SetDefaultEncodingDir \ + (tclStubsPtr->tcl_SetDefaultEncodingDir) /* 342 */ +#endif +#ifndef Tcl_AlertNotifier +#define Tcl_AlertNotifier \ + (tclStubsPtr->tcl_AlertNotifier) /* 343 */ +#endif +#ifndef Tcl_ServiceModeHook +#define Tcl_ServiceModeHook \ + (tclStubsPtr->tcl_ServiceModeHook) /* 344 */ +#endif +#ifndef Tcl_UniCharIsAlnum +#define Tcl_UniCharIsAlnum \ + (tclStubsPtr->tcl_UniCharIsAlnum) /* 345 */ +#endif +#ifndef Tcl_UniCharIsAlpha +#define Tcl_UniCharIsAlpha \ + (tclStubsPtr->tcl_UniCharIsAlpha) /* 346 */ +#endif +#ifndef Tcl_UniCharIsDigit +#define Tcl_UniCharIsDigit \ + (tclStubsPtr->tcl_UniCharIsDigit) /* 347 */ +#endif +#ifndef Tcl_UniCharIsLower +#define Tcl_UniCharIsLower \ + (tclStubsPtr->tcl_UniCharIsLower) /* 348 */ +#endif +#ifndef Tcl_UniCharIsSpace +#define Tcl_UniCharIsSpace \ + (tclStubsPtr->tcl_UniCharIsSpace) /* 349 */ +#endif +#ifndef Tcl_UniCharIsUpper +#define Tcl_UniCharIsUpper \ + (tclStubsPtr->tcl_UniCharIsUpper) /* 350 */ +#endif +#ifndef Tcl_UniCharIsWordChar +#define Tcl_UniCharIsWordChar \ + (tclStubsPtr->tcl_UniCharIsWordChar) /* 351 */ +#endif +#ifndef Tcl_UniCharLen +#define Tcl_UniCharLen \ + (tclStubsPtr->tcl_UniCharLen) /* 352 */ +#endif +#ifndef Tcl_UniCharNcmp +#define Tcl_UniCharNcmp \ + (tclStubsPtr->tcl_UniCharNcmp) /* 353 */ +#endif +#ifndef Tcl_UniCharToUtfDString +#define Tcl_UniCharToUtfDString \ + (tclStubsPtr->tcl_UniCharToUtfDString) /* 354 */ +#endif +#ifndef Tcl_UtfToUniCharDString +#define Tcl_UtfToUniCharDString \ + (tclStubsPtr->tcl_UtfToUniCharDString) /* 355 */ +#endif +#ifndef Tcl_GetRegExpFromObj +#define Tcl_GetRegExpFromObj \ + (tclStubsPtr->tcl_GetRegExpFromObj) /* 356 */ +#endif +#ifndef Tcl_EvalTokens +#define Tcl_EvalTokens \ + (tclStubsPtr->tcl_EvalTokens) /* 357 */ +#endif +#ifndef Tcl_FreeParse +#define Tcl_FreeParse \ + (tclStubsPtr->tcl_FreeParse) /* 358 */ +#endif +#ifndef Tcl_LogCommandInfo +#define Tcl_LogCommandInfo \ + (tclStubsPtr->tcl_LogCommandInfo) /* 359 */ +#endif +#ifndef Tcl_ParseBraces +#define Tcl_ParseBraces \ + (tclStubsPtr->tcl_ParseBraces) /* 360 */ +#endif +#ifndef Tcl_ParseCommand +#define Tcl_ParseCommand \ + (tclStubsPtr->tcl_ParseCommand) /* 361 */ +#endif +#ifndef Tcl_ParseExpr +#define Tcl_ParseExpr \ + (tclStubsPtr->tcl_ParseExpr) /* 362 */ +#endif +#ifndef Tcl_ParseQuotedString +#define Tcl_ParseQuotedString \ + (tclStubsPtr->tcl_ParseQuotedString) /* 363 */ +#endif +#ifndef Tcl_ParseVarName +#define Tcl_ParseVarName \ + (tclStubsPtr->tcl_ParseVarName) /* 364 */ +#endif +#ifndef Tcl_GetCwd +#define Tcl_GetCwd \ + (tclStubsPtr->tcl_GetCwd) /* 365 */ +#endif +#ifndef Tcl_Chdir +#define Tcl_Chdir \ + (tclStubsPtr->tcl_Chdir) /* 366 */ +#endif +#ifndef Tcl_Access +#define Tcl_Access \ + (tclStubsPtr->tcl_Access) /* 367 */ +#endif +#ifndef Tcl_Stat +#define Tcl_Stat \ + (tclStubsPtr->tcl_Stat) /* 368 */ +#endif +#ifndef Tcl_UtfNcmp +#define Tcl_UtfNcmp \ + (tclStubsPtr->tcl_UtfNcmp) /* 369 */ +#endif +#ifndef Tcl_UtfNcasecmp +#define Tcl_UtfNcasecmp \ + (tclStubsPtr->tcl_UtfNcasecmp) /* 370 */ +#endif +#ifndef Tcl_StringCaseMatch +#define Tcl_StringCaseMatch \ + (tclStubsPtr->tcl_StringCaseMatch) /* 371 */ +#endif +#ifndef Tcl_UniCharIsControl +#define Tcl_UniCharIsControl \ + (tclStubsPtr->tcl_UniCharIsControl) /* 372 */ +#endif +#ifndef Tcl_UniCharIsGraph +#define Tcl_UniCharIsGraph \ + (tclStubsPtr->tcl_UniCharIsGraph) /* 373 */ +#endif +#ifndef Tcl_UniCharIsPrint +#define Tcl_UniCharIsPrint \ + (tclStubsPtr->tcl_UniCharIsPrint) /* 374 */ +#endif +#ifndef Tcl_UniCharIsPunct +#define Tcl_UniCharIsPunct \ + (tclStubsPtr->tcl_UniCharIsPunct) /* 375 */ +#endif +#ifndef Tcl_RegExpExecObj +#define Tcl_RegExpExecObj \ + (tclStubsPtr->tcl_RegExpExecObj) /* 376 */ +#endif +#ifndef Tcl_RegExpGetInfo +#define Tcl_RegExpGetInfo \ + (tclStubsPtr->tcl_RegExpGetInfo) /* 377 */ +#endif +#ifndef Tcl_NewUnicodeObj +#define Tcl_NewUnicodeObj \ + (tclStubsPtr->tcl_NewUnicodeObj) /* 378 */ +#endif +#ifndef Tcl_SetUnicodeObj +#define Tcl_SetUnicodeObj \ + (tclStubsPtr->tcl_SetUnicodeObj) /* 379 */ +#endif +#ifndef Tcl_GetCharLength +#define Tcl_GetCharLength \ + (tclStubsPtr->tcl_GetCharLength) /* 380 */ +#endif +#ifndef Tcl_GetUniChar +#define Tcl_GetUniChar \ + (tclStubsPtr->tcl_GetUniChar) /* 381 */ +#endif +#ifndef Tcl_GetUnicode +#define Tcl_GetUnicode \ + (tclStubsPtr->tcl_GetUnicode) /* 382 */ +#endif +#ifndef Tcl_GetRange +#define Tcl_GetRange \ + (tclStubsPtr->tcl_GetRange) /* 383 */ +#endif +#ifndef Tcl_AppendUnicodeToObj +#define Tcl_AppendUnicodeToObj \ + (tclStubsPtr->tcl_AppendUnicodeToObj) /* 384 */ +#endif +#ifndef Tcl_RegExpMatchObj +#define Tcl_RegExpMatchObj \ + (tclStubsPtr->tcl_RegExpMatchObj) /* 385 */ +#endif +#ifndef Tcl_SetNotifier +#define Tcl_SetNotifier \ + (tclStubsPtr->tcl_SetNotifier) /* 386 */ +#endif +#ifndef Tcl_GetAllocMutex +#define Tcl_GetAllocMutex \ + (tclStubsPtr->tcl_GetAllocMutex) /* 387 */ +#endif +#ifndef Tcl_GetChannelNames +#define Tcl_GetChannelNames \ + (tclStubsPtr->tcl_GetChannelNames) /* 388 */ +#endif +#ifndef Tcl_GetChannelNamesEx +#define Tcl_GetChannelNamesEx \ + (tclStubsPtr->tcl_GetChannelNamesEx) /* 389 */ +#endif +#ifndef Tcl_ProcObjCmd +#define Tcl_ProcObjCmd \ + (tclStubsPtr->tcl_ProcObjCmd) /* 390 */ +#endif +#ifndef Tcl_ConditionFinalize +#define Tcl_ConditionFinalize \ + (tclStubsPtr->tcl_ConditionFinalize) /* 391 */ +#endif +#ifndef Tcl_MutexFinalize +#define Tcl_MutexFinalize \ + (tclStubsPtr->tcl_MutexFinalize) /* 392 */ +#endif +#ifndef Tcl_CreateThread +#define Tcl_CreateThread \ + (tclStubsPtr->tcl_CreateThread) /* 393 */ +#endif +#ifndef Tcl_ReadRaw +#define Tcl_ReadRaw \ + (tclStubsPtr->tcl_ReadRaw) /* 394 */ +#endif +#ifndef Tcl_WriteRaw +#define Tcl_WriteRaw \ + (tclStubsPtr->tcl_WriteRaw) /* 395 */ +#endif +#ifndef Tcl_GetTopChannel +#define Tcl_GetTopChannel \ + (tclStubsPtr->tcl_GetTopChannel) /* 396 */ +#endif +#ifndef Tcl_ChannelBuffered +#define Tcl_ChannelBuffered \ + (tclStubsPtr->tcl_ChannelBuffered) /* 397 */ +#endif +#ifndef Tcl_ChannelName +#define Tcl_ChannelName \ + (tclStubsPtr->tcl_ChannelName) /* 398 */ +#endif +#ifndef Tcl_ChannelVersion +#define Tcl_ChannelVersion \ + (tclStubsPtr->tcl_ChannelVersion) /* 399 */ +#endif +#ifndef Tcl_ChannelBlockModeProc +#define Tcl_ChannelBlockModeProc \ + (tclStubsPtr->tcl_ChannelBlockModeProc) /* 400 */ +#endif +#ifndef Tcl_ChannelCloseProc +#define Tcl_ChannelCloseProc \ + (tclStubsPtr->tcl_ChannelCloseProc) /* 401 */ +#endif +#ifndef Tcl_ChannelClose2Proc +#define Tcl_ChannelClose2Proc \ + (tclStubsPtr->tcl_ChannelClose2Proc) /* 402 */ +#endif +#ifndef Tcl_ChannelInputProc +#define Tcl_ChannelInputProc \ + (tclStubsPtr->tcl_ChannelInputProc) /* 403 */ +#endif +#ifndef Tcl_ChannelOutputProc +#define Tcl_ChannelOutputProc \ + (tclStubsPtr->tcl_ChannelOutputProc) /* 404 */ +#endif +#ifndef Tcl_ChannelSeekProc +#define Tcl_ChannelSeekProc \ + (tclStubsPtr->tcl_ChannelSeekProc) /* 405 */ +#endif +#ifndef Tcl_ChannelSetOptionProc +#define Tcl_ChannelSetOptionProc \ + (tclStubsPtr->tcl_ChannelSetOptionProc) /* 406 */ +#endif +#ifndef Tcl_ChannelGetOptionProc +#define Tcl_ChannelGetOptionProc \ + (tclStubsPtr->tcl_ChannelGetOptionProc) /* 407 */ +#endif +#ifndef Tcl_ChannelWatchProc +#define Tcl_ChannelWatchProc \ + (tclStubsPtr->tcl_ChannelWatchProc) /* 408 */ +#endif +#ifndef Tcl_ChannelGetHandleProc +#define Tcl_ChannelGetHandleProc \ + (tclStubsPtr->tcl_ChannelGetHandleProc) /* 409 */ +#endif +#ifndef Tcl_ChannelFlushProc +#define Tcl_ChannelFlushProc \ + (tclStubsPtr->tcl_ChannelFlushProc) /* 410 */ +#endif +#ifndef Tcl_ChannelHandlerProc +#define Tcl_ChannelHandlerProc \ + (tclStubsPtr->tcl_ChannelHandlerProc) /* 411 */ +#endif +#ifndef Tcl_JoinThread +#define Tcl_JoinThread \ + (tclStubsPtr->tcl_JoinThread) /* 412 */ +#endif +#ifndef Tcl_IsChannelShared +#define Tcl_IsChannelShared \ + (tclStubsPtr->tcl_IsChannelShared) /* 413 */ +#endif +#ifndef Tcl_IsChannelRegistered +#define Tcl_IsChannelRegistered \ + (tclStubsPtr->tcl_IsChannelRegistered) /* 414 */ +#endif +#ifndef Tcl_CutChannel +#define Tcl_CutChannel \ + (tclStubsPtr->tcl_CutChannel) /* 415 */ +#endif +#ifndef Tcl_SpliceChannel +#define Tcl_SpliceChannel \ + (tclStubsPtr->tcl_SpliceChannel) /* 416 */ +#endif +#ifndef Tcl_ClearChannelHandlers +#define Tcl_ClearChannelHandlers \ + (tclStubsPtr->tcl_ClearChannelHandlers) /* 417 */ +#endif +#ifndef Tcl_IsChannelExisting +#define Tcl_IsChannelExisting \ + (tclStubsPtr->tcl_IsChannelExisting) /* 418 */ +#endif +#ifndef Tcl_UniCharNcasecmp +#define Tcl_UniCharNcasecmp \ + (tclStubsPtr->tcl_UniCharNcasecmp) /* 419 */ +#endif +#ifndef Tcl_UniCharCaseMatch +#define Tcl_UniCharCaseMatch \ + (tclStubsPtr->tcl_UniCharCaseMatch) /* 420 */ +#endif +#ifndef Tcl_FindHashEntry +#define Tcl_FindHashEntry \ + (tclStubsPtr->tcl_FindHashEntry) /* 421 */ +#endif +#ifndef Tcl_CreateHashEntry +#define Tcl_CreateHashEntry \ + (tclStubsPtr->tcl_CreateHashEntry) /* 422 */ +#endif +#ifndef Tcl_InitCustomHashTable +#define Tcl_InitCustomHashTable \ + (tclStubsPtr->tcl_InitCustomHashTable) /* 423 */ +#endif +#ifndef Tcl_InitObjHashTable +#define Tcl_InitObjHashTable \ + (tclStubsPtr->tcl_InitObjHashTable) /* 424 */ +#endif +#ifndef Tcl_CommandTraceInfo +#define Tcl_CommandTraceInfo \ + (tclStubsPtr->tcl_CommandTraceInfo) /* 425 */ +#endif +#ifndef Tcl_TraceCommand +#define Tcl_TraceCommand \ + (tclStubsPtr->tcl_TraceCommand) /* 426 */ +#endif +#ifndef Tcl_UntraceCommand +#define Tcl_UntraceCommand \ + (tclStubsPtr->tcl_UntraceCommand) /* 427 */ +#endif +#ifndef Tcl_AttemptAlloc +#define Tcl_AttemptAlloc \ + (tclStubsPtr->tcl_AttemptAlloc) /* 428 */ +#endif +#ifndef Tcl_AttemptDbCkalloc +#define Tcl_AttemptDbCkalloc \ + (tclStubsPtr->tcl_AttemptDbCkalloc) /* 429 */ +#endif +#ifndef Tcl_AttemptRealloc +#define Tcl_AttemptRealloc \ + (tclStubsPtr->tcl_AttemptRealloc) /* 430 */ +#endif +#ifndef Tcl_AttemptDbCkrealloc +#define Tcl_AttemptDbCkrealloc \ + (tclStubsPtr->tcl_AttemptDbCkrealloc) /* 431 */ +#endif +#ifndef Tcl_AttemptSetObjLength +#define Tcl_AttemptSetObjLength \ + (tclStubsPtr->tcl_AttemptSetObjLength) /* 432 */ +#endif +#ifndef Tcl_GetChannelThread +#define Tcl_GetChannelThread \ + (tclStubsPtr->tcl_GetChannelThread) /* 433 */ +#endif +#ifndef Tcl_GetUnicodeFromObj +#define Tcl_GetUnicodeFromObj \ + (tclStubsPtr->tcl_GetUnicodeFromObj) /* 434 */ +#endif +#ifndef Tcl_GetMathFuncInfo +#define Tcl_GetMathFuncInfo \ + (tclStubsPtr->tcl_GetMathFuncInfo) /* 435 */ +#endif +#ifndef Tcl_ListMathFuncs +#define Tcl_ListMathFuncs \ + (tclStubsPtr->tcl_ListMathFuncs) /* 436 */ +#endif +#ifndef Tcl_SubstObj +#define Tcl_SubstObj \ + (tclStubsPtr->tcl_SubstObj) /* 437 */ +#endif +#ifndef Tcl_DetachChannel +#define Tcl_DetachChannel \ + (tclStubsPtr->tcl_DetachChannel) /* 438 */ +#endif +#ifndef Tcl_IsStandardChannel +#define Tcl_IsStandardChannel \ + (tclStubsPtr->tcl_IsStandardChannel) /* 439 */ +#endif +#ifndef Tcl_FSCopyFile +#define Tcl_FSCopyFile \ + (tclStubsPtr->tcl_FSCopyFile) /* 440 */ +#endif +#ifndef Tcl_FSCopyDirectory +#define Tcl_FSCopyDirectory \ + (tclStubsPtr->tcl_FSCopyDirectory) /* 441 */ +#endif +#ifndef Tcl_FSCreateDirectory +#define Tcl_FSCreateDirectory \ + (tclStubsPtr->tcl_FSCreateDirectory) /* 442 */ +#endif +#ifndef Tcl_FSDeleteFile +#define Tcl_FSDeleteFile \ + (tclStubsPtr->tcl_FSDeleteFile) /* 443 */ +#endif +#ifndef Tcl_FSLoadFile +#define Tcl_FSLoadFile \ + (tclStubsPtr->tcl_FSLoadFile) /* 444 */ +#endif +#ifndef Tcl_FSMatchInDirectory +#define Tcl_FSMatchInDirectory \ + (tclStubsPtr->tcl_FSMatchInDirectory) /* 445 */ +#endif +#ifndef Tcl_FSLink +#define Tcl_FSLink \ + (tclStubsPtr->tcl_FSLink) /* 446 */ +#endif +#ifndef Tcl_FSRemoveDirectory +#define Tcl_FSRemoveDirectory \ + (tclStubsPtr->tcl_FSRemoveDirectory) /* 447 */ +#endif +#ifndef Tcl_FSRenameFile +#define Tcl_FSRenameFile \ + (tclStubsPtr->tcl_FSRenameFile) /* 448 */ +#endif +#ifndef Tcl_FSLstat +#define Tcl_FSLstat \ + (tclStubsPtr->tcl_FSLstat) /* 449 */ +#endif +#ifndef Tcl_FSUtime +#define Tcl_FSUtime \ + (tclStubsPtr->tcl_FSUtime) /* 450 */ +#endif +#ifndef Tcl_FSFileAttrsGet +#define Tcl_FSFileAttrsGet \ + (tclStubsPtr->tcl_FSFileAttrsGet) /* 451 */ +#endif +#ifndef Tcl_FSFileAttrsSet +#define Tcl_FSFileAttrsSet \ + (tclStubsPtr->tcl_FSFileAttrsSet) /* 452 */ +#endif +#ifndef Tcl_FSFileAttrStrings +#define Tcl_FSFileAttrStrings \ + (tclStubsPtr->tcl_FSFileAttrStrings) /* 453 */ +#endif +#ifndef Tcl_FSStat +#define Tcl_FSStat \ + (tclStubsPtr->tcl_FSStat) /* 454 */ +#endif +#ifndef Tcl_FSAccess +#define Tcl_FSAccess \ + (tclStubsPtr->tcl_FSAccess) /* 455 */ +#endif +#ifndef Tcl_FSOpenFileChannel +#define Tcl_FSOpenFileChannel \ + (tclStubsPtr->tcl_FSOpenFileChannel) /* 456 */ +#endif +#ifndef Tcl_FSGetCwd +#define Tcl_FSGetCwd \ + (tclStubsPtr->tcl_FSGetCwd) /* 457 */ +#endif +#ifndef Tcl_FSChdir +#define Tcl_FSChdir \ + (tclStubsPtr->tcl_FSChdir) /* 458 */ +#endif +#ifndef Tcl_FSConvertToPathType +#define Tcl_FSConvertToPathType \ + (tclStubsPtr->tcl_FSConvertToPathType) /* 459 */ +#endif +#ifndef Tcl_FSJoinPath +#define Tcl_FSJoinPath \ + (tclStubsPtr->tcl_FSJoinPath) /* 460 */ +#endif +#ifndef Tcl_FSSplitPath +#define Tcl_FSSplitPath \ + (tclStubsPtr->tcl_FSSplitPath) /* 461 */ +#endif +#ifndef Tcl_FSEqualPaths +#define Tcl_FSEqualPaths \ + (tclStubsPtr->tcl_FSEqualPaths) /* 462 */ +#endif +#ifndef Tcl_FSGetNormalizedPath +#define Tcl_FSGetNormalizedPath \ + (tclStubsPtr->tcl_FSGetNormalizedPath) /* 463 */ +#endif +#ifndef Tcl_FSJoinToPath +#define Tcl_FSJoinToPath \ + (tclStubsPtr->tcl_FSJoinToPath) /* 464 */ +#endif +#ifndef Tcl_FSGetInternalRep +#define Tcl_FSGetInternalRep \ + (tclStubsPtr->tcl_FSGetInternalRep) /* 465 */ +#endif +#ifndef Tcl_FSGetTranslatedPath +#define Tcl_FSGetTranslatedPath \ + (tclStubsPtr->tcl_FSGetTranslatedPath) /* 466 */ +#endif +#ifndef Tcl_FSEvalFile +#define Tcl_FSEvalFile \ + (tclStubsPtr->tcl_FSEvalFile) /* 467 */ +#endif +#ifndef Tcl_FSNewNativePath +#define Tcl_FSNewNativePath \ + (tclStubsPtr->tcl_FSNewNativePath) /* 468 */ +#endif +#ifndef Tcl_FSGetNativePath +#define Tcl_FSGetNativePath \ + (tclStubsPtr->tcl_FSGetNativePath) /* 469 */ +#endif +#ifndef Tcl_FSFileSystemInfo +#define Tcl_FSFileSystemInfo \ + (tclStubsPtr->tcl_FSFileSystemInfo) /* 470 */ +#endif +#ifndef Tcl_FSPathSeparator +#define Tcl_FSPathSeparator \ + (tclStubsPtr->tcl_FSPathSeparator) /* 471 */ +#endif +#ifndef Tcl_FSListVolumes +#define Tcl_FSListVolumes \ + (tclStubsPtr->tcl_FSListVolumes) /* 472 */ +#endif +#ifndef Tcl_FSRegister +#define Tcl_FSRegister \ + (tclStubsPtr->tcl_FSRegister) /* 473 */ +#endif +#ifndef Tcl_FSUnregister +#define Tcl_FSUnregister \ + (tclStubsPtr->tcl_FSUnregister) /* 474 */ +#endif +#ifndef Tcl_FSData +#define Tcl_FSData \ + (tclStubsPtr->tcl_FSData) /* 475 */ +#endif +#ifndef Tcl_FSGetTranslatedStringPath +#define Tcl_FSGetTranslatedStringPath \ + (tclStubsPtr->tcl_FSGetTranslatedStringPath) /* 476 */ +#endif +#ifndef Tcl_FSGetFileSystemForPath +#define Tcl_FSGetFileSystemForPath \ + (tclStubsPtr->tcl_FSGetFileSystemForPath) /* 477 */ +#endif +#ifndef Tcl_FSGetPathType +#define Tcl_FSGetPathType \ + (tclStubsPtr->tcl_FSGetPathType) /* 478 */ +#endif +#ifndef Tcl_OutputBuffered +#define Tcl_OutputBuffered \ + (tclStubsPtr->tcl_OutputBuffered) /* 479 */ +#endif +#ifndef Tcl_FSMountsChanged +#define Tcl_FSMountsChanged \ + (tclStubsPtr->tcl_FSMountsChanged) /* 480 */ +#endif +#ifndef Tcl_EvalTokensStandard +#define Tcl_EvalTokensStandard \ + (tclStubsPtr->tcl_EvalTokensStandard) /* 481 */ +#endif +#ifndef Tcl_GetTime +#define Tcl_GetTime \ + (tclStubsPtr->tcl_GetTime) /* 482 */ +#endif +#ifndef Tcl_CreateObjTrace +#define Tcl_CreateObjTrace \ + (tclStubsPtr->tcl_CreateObjTrace) /* 483 */ +#endif +#ifndef Tcl_GetCommandInfoFromToken +#define Tcl_GetCommandInfoFromToken \ + (tclStubsPtr->tcl_GetCommandInfoFromToken) /* 484 */ +#endif +#ifndef Tcl_SetCommandInfoFromToken +#define Tcl_SetCommandInfoFromToken \ + (tclStubsPtr->tcl_SetCommandInfoFromToken) /* 485 */ +#endif +#ifndef Tcl_DbNewWideIntObj +#define Tcl_DbNewWideIntObj \ + (tclStubsPtr->tcl_DbNewWideIntObj) /* 486 */ +#endif +#ifndef Tcl_GetWideIntFromObj +#define Tcl_GetWideIntFromObj \ + (tclStubsPtr->tcl_GetWideIntFromObj) /* 487 */ +#endif +#ifndef Tcl_NewWideIntObj +#define Tcl_NewWideIntObj \ + (tclStubsPtr->tcl_NewWideIntObj) /* 488 */ +#endif +#ifndef Tcl_SetWideIntObj +#define Tcl_SetWideIntObj \ + (tclStubsPtr->tcl_SetWideIntObj) /* 489 */ +#endif +#ifndef Tcl_AllocStatBuf +#define Tcl_AllocStatBuf \ + (tclStubsPtr->tcl_AllocStatBuf) /* 490 */ +#endif +#ifndef Tcl_Seek +#define Tcl_Seek \ + (tclStubsPtr->tcl_Seek) /* 491 */ +#endif +#ifndef Tcl_Tell +#define Tcl_Tell \ + (tclStubsPtr->tcl_Tell) /* 492 */ +#endif +#ifndef Tcl_ChannelWideSeekProc +#define Tcl_ChannelWideSeekProc \ + (tclStubsPtr->tcl_ChannelWideSeekProc) /* 493 */ +#endif +/* Slot 494 is reserved */ +/* Slot 495 is reserved */ +/* Slot 496 is reserved */ +/* Slot 497 is reserved */ +/* Slot 498 is reserved */ +/* Slot 499 is reserved */ +/* Slot 500 is reserved */ +/* Slot 501 is reserved */ +/* Slot 502 is reserved */ +/* Slot 503 is reserved */ +/* Slot 504 is reserved */ +/* Slot 505 is reserved */ +/* Slot 506 is reserved */ +/* Slot 507 is reserved */ +/* Slot 508 is reserved */ +/* Slot 509 is reserved */ +/* Slot 510 is reserved */ +/* Slot 511 is reserved */ +/* Slot 512 is reserved */ +/* Slot 513 is reserved */ +/* Slot 514 is reserved */ +/* Slot 515 is reserved */ +/* Slot 516 is reserved */ +/* Slot 517 is reserved */ +/* Slot 518 is reserved */ +/* Slot 519 is reserved */ +/* Slot 520 is reserved */ +/* Slot 521 is reserved */ +/* Slot 522 is reserved */ +/* Slot 523 is reserved */ +/* Slot 524 is reserved */ +/* Slot 525 is reserved */ +/* Slot 526 is reserved */ +/* Slot 527 is reserved */ +/* Slot 528 is reserved */ +/* Slot 529 is reserved */ +/* Slot 530 is reserved */ +/* Slot 531 is reserved */ +/* Slot 532 is reserved */ +/* Slot 533 is reserved */ +/* Slot 534 is reserved */ +/* Slot 535 is reserved */ +/* Slot 536 is reserved */ +/* Slot 537 is reserved */ +/* Slot 538 is reserved */ +/* Slot 539 is reserved */ +/* Slot 540 is reserved */ +/* Slot 541 is reserved */ +/* Slot 542 is reserved */ +/* Slot 543 is reserved */ +/* Slot 544 is reserved */ +/* Slot 545 is reserved */ +/* Slot 546 is reserved */ +/* Slot 547 is reserved */ +/* Slot 548 is reserved */ +/* Slot 549 is reserved */ +/* Slot 550 is reserved */ +/* Slot 551 is reserved */ +/* Slot 552 is reserved */ +/* Slot 553 is reserved */ +#ifndef Tcl_ChannelThreadActionProc +#define Tcl_ChannelThreadActionProc \ + (tclStubsPtr->tcl_ChannelThreadActionProc) /* 554 */ +#endif +/* Slot 555 is reserved */ +/* Slot 556 is reserved */ +/* Slot 557 is reserved */ +/* Slot 558 is reserved */ +/* Slot 559 is reserved */ +/* Slot 560 is reserved */ +/* Slot 561 is reserved */ +/* Slot 562 is reserved */ +/* Slot 563 is reserved */ +/* Slot 564 is reserved */ +/* Slot 565 is reserved */ +/* Slot 566 is reserved */ +/* Slot 567 is reserved */ +/* Slot 568 is reserved */ +/* Slot 569 is reserved */ +/* Slot 570 is reserved */ +/* Slot 571 is reserved */ +/* Slot 572 is reserved */ +#ifndef Tcl_PkgRequireProc +#define Tcl_PkgRequireProc \ + (tclStubsPtr->tcl_PkgRequireProc) /* 573 */ +#endif + +#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ + +/* !END!: Do not edit above this line. */ + +#endif /* _TCLDECLS */ + --- blt-2.4z.orig/debian/blt-dev.files +++ blt-2.4z/debian/blt-dev.files @@ -0,0 +1,4 @@ +usr/lib/*.a +usr/lib/*.so +usr/include +usr/share/man/man3/*.3 --- blt-2.4z.orig/debian/hackshlibs +++ blt-2.4z/debian/hackshlibs @@ -0,0 +1,53 @@ +#!/usr/bin/env tclsh8.5 + +# find the system shlib file, and split the library identifier part from the +# package dependency identifier part. +proc getdep { pkg } { + set path "/var/lib/dpkg/info/$pkg.shlibs" + set in [open $path] + if { $in == 0 } { + error "could not open $path" + } + set line [gets $in] + close $in + if {! [regexp {^(\S+\s+\d+)\s+(.*)$} $line m0 m1 m2]} { + error "invalid text in $path" + } + return [list $m1 $m2] +} + +# Now, make sure we're in the right place to do all this +if { [ file isdirectory "debian" ] == 0 } { error "not in source dir" } + +# process the tcl/tk versions in best-to-worst order +foreach ver { "8.5" "8.4" } { + # the libname+soversion goes in one list, the dependency info in another + set l [getdep "tcl$ver"] + lappend tcllibs [lindex $l 0] + lappend tcldeps [lindex $l 1] + # repeat the process with the tk packages + set l [getdep "tk$ver"] + lappend tklibs [lindex $l 0] + lappend tkdeps [lindex $l 1] +} + +# we're ready to make a new local shlibs file +set out [open "debian/shlibs.local" "w"] +if { $out == 0} { error "Can't make local shlibs file" } + +# Now we'll make a new tcl dependency list, with all the packages 'or'd, +# to be used for all he tcl libs in our local shlibs file +set dep [join $tcldeps " | "] +# And spit out the list of libs, each with our new, 'or'-filled dependency +foreach lib $tcllibs { + puts $out "$lib $dep" +} + +# Repeat the process for the tk libs... +set dep [join $tkdeps " | "] +foreach lib $tklibs { + puts $out "$lib $dep" +} + +# and we're done +close $out --- blt-2.4z.orig/debian/tcl.h.tcl8.4 +++ blt-2.4z/debian/tcl.h.tcl8.4 @@ -0,0 +1,2367 @@ +/* + * tcl.h -- + * + * This header file describes the externally-visible facilities + * of the Tcl interpreter. + * + * Copyright (c) 1987-1994 The Regents of the University of California. + * Copyright (c) 1993-1996 Lucent Technologies. + * Copyright (c) 1994-1998 Sun Microsystems, Inc. + * Copyright (c) 1998-2000 by Scriptics Corporation. + * Copyright (c) 2002 by Kevin B. Kenny. All rights reserved. + * + * 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.153.2.35 2008/04/11 16:57:38 dgp Exp $ + */ + +#ifndef _TCL +#define _TCL + +/* + * For C++ compilers, use extern "C" + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The following defines are used to indicate the various release levels. + */ + +#define TCL_ALPHA_RELEASE 0 +#define TCL_BETA_RELEASE 1 +#define TCL_FINAL_RELEASE 2 + +/* + * When version numbers change here, must also go into the following files + * and update the version numbers: + * + * library/init.tcl (only if Major.minor changes, not patchlevel) 1 LOC + * unix/configure.in (2 LOC Major, 2 LOC minor, 1 LOC patch) + * win/configure.in (as above) + * win/tcl.m4 (not patchlevel) + * win/makefile.vc (not patchlevel) 2 LOC + * README (sections 0 and 2) + * mac/README (2 LOC, not patchlevel) + * macosx/Tcl.pbproj/project.pbxproj (not patchlevel) 1 LOC + * macosx/Tcl.pbproj/default.pbxuser (not patchlevel) 1 LOC + * win/README.binary (sections 0-4) + * win/README (not patchlevel) (sections 0 and 2) + * unix/tcl.spec (2 LOC Major/Minor, 1 LOC patch) + * tests/basic.test (1 LOC M/M, not patchlevel) + * tools/tcl.hpj.in (not patchlevel, for windows installer) + * tools/tcl.wse.in (for windows installer) + * tools/tclSplash.bmp (not patchlevel) + */ +#define TCL_MAJOR_VERSION 8 +#define TCL_MINOR_VERSION 4 +#define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE +#define TCL_RELEASE_SERIAL 19 + +#define TCL_VERSION "8.4" +#define TCL_PATCH_LEVEL "8.4.19" + +/* + * The following definitions set up the proper options for Windows + * compilers. We use this method because there is no autoconf equivalent. + */ + +#ifndef __WIN32__ +# if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined(__BORLANDC__) +# define __WIN32__ +# ifndef WIN32 +# define WIN32 +# endif +# endif +#endif + +/* + * STRICT: See MSDN Article Q83456 + */ +#ifdef __WIN32__ +# ifndef STRICT +# define STRICT +# endif +#endif /* __WIN32__ */ + +/* + * The following definitions set up the proper options for Macintosh + * compilers. We use this method because there is no autoconf equivalent. + */ + +#ifdef MAC_TCL +#include +# ifndef USE_TCLALLOC +# define USE_TCLALLOC 1 +# endif +# ifndef NO_STRERROR +# define NO_STRERROR 1 +# endif +# define INLINE +#endif + + +/* + * Utility macros: STRINGIFY takes an argument and wraps it in "" (double + * quotation marks), JOIN joins two arguments. + */ +#ifndef STRINGIFY +# define STRINGIFY(x) STRINGIFY1(x) +# define STRINGIFY1(x) #x +#endif +#ifndef JOIN +# define JOIN(a,b) JOIN1(a,b) +# define JOIN1(a,b) a##b +#endif + +/* + * A special definition used to allow this header file to be included + * from windows or mac resource files so that they can obtain version + * information. RC_INVOKED is defined by default by the windows RC tool + * and manually set for macintosh. + * + * Resource compilers don't like all the C stuff, like typedefs and + * procedure declarations, that occur below, so block them out. + */ + +#ifndef RC_INVOKED + +/* + * Special macro to define mutexes, that doesn't do anything + * if we are not using threads. + */ + +#ifdef TCL_THREADS +#define TCL_DECLARE_MUTEX(name) static Tcl_Mutex name; +#else +#define TCL_DECLARE_MUTEX(name) +#endif + +/* + * Macros that eliminate the overhead of the thread synchronization + * functions when compiling without thread support. + */ + +#ifndef TCL_THREADS +#define Tcl_MutexLock(mutexPtr) +#define Tcl_MutexUnlock(mutexPtr) +#define Tcl_MutexFinalize(mutexPtr) +#define Tcl_ConditionNotify(condPtr) +#define Tcl_ConditionWait(condPtr, mutexPtr, timePtr) +#define Tcl_ConditionFinalize(condPtr) +#endif /* TCL_THREADS */ + + +#ifndef BUFSIZ +# include +#endif + + +/* + * Definitions that allow Tcl functions with variable numbers of + * arguments to be used with either varargs.h or stdarg.h. TCL_VARARGS + * is used in procedure prototypes. TCL_VARARGS_DEF is used to declare + * the arguments in a function definiton: it takes the type and name of + * the first argument and supplies the appropriate argument declaration + * string for use in the function definition. TCL_VARARGS_START + * initializes the va_list data structure and returns the first argument. + */ +#if !defined(NO_STDARG) +# include +# 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 +# define TCL_VARARGS(type, name) () +# define TCL_VARARGS_DEF(type, name) (va_alist) +# define TCL_VARARGS_START(type, name, list) \ + (va_start(list), va_arg(list, type)) +#endif + +/* + * Macros used to declare a function to be exported by a DLL. + * Used by Windows, maps to no-op declarations on non-Windows systems. + * 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. + */ + +#ifdef STATIC_BUILD +# define DLLIMPORT +# define DLLEXPORT +#else +# if (defined(__WIN32__) && (defined(_MSC_VER) || (__BORLANDC__ >= 0x0550) || (defined(__GNUC__) && defined(__declspec)))) || (defined(MAC_TCL) && FUNCTION_DECLSPEC) +# define DLLIMPORT __declspec(dllimport) +# define DLLEXPORT __declspec(dllexport) +# else +# define DLLIMPORT +# define DLLEXPORT +# endif +#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 +# 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. + */ +#undef _ANSI_ARGS_ +#undef CONST +#ifndef INLINE +# define INLINE +#endif + +#ifndef NO_CONST +# define CONST const +#else +# define CONST +#endif + +#ifndef NO_PROTOTYPES +# define _ANSI_ARGS_(x) x +#else +# define _ANSI_ARGS_(x) () +#endif + +#ifdef USE_NON_CONST +# ifdef USE_COMPAT_CONST +# error define at most one of USE_NON_CONST and USE_COMPAT_CONST +# endif +# define CONST84 +# define CONST84_RETURN +#else +# ifdef USE_COMPAT_CONST +# define CONST84 +# define CONST84_RETURN CONST +# else +# define CONST84 CONST +# define CONST84_RETURN CONST +# endif +#endif + + +/* + * Make sure EXTERN isn't defined elsewhere + */ +#ifdef EXTERN +# undef EXTERN +#endif /* EXTERN */ + +#ifdef __cplusplus +# define EXTERN extern "C" TCL_STORAGE_CLASS +#else +# define EXTERN extern TCL_STORAGE_CLASS +#endif + + +/* + * The following code is copied from winnt.h. + * If we don't replicate it here, then can't be included + * after tcl.h, since tcl.h also defines VOID. + * This block is skipped under Cygwin and Mingw. + * + * + */ +#if defined(__WIN32__) && !defined(HAVE_WINNT_IGNORE_VOID) +#ifndef VOID +#define VOID void +typedef char CHAR; +typedef short SHORT; +typedef long LONG; +#endif +#endif /* __WIN32__ && !HAVE_WINNT_IGNORE_VOID */ + +/* + * Macro to use instead of "void" for arguments that must have + * type "void *" in ANSI C; maps them to type "char *" in + * non-ANSI systems. + */ + +#ifndef NO_VOID +# define VOID void +#else +# define VOID char +#endif + +/* + * Miscellaneous declarations. + */ + +#ifndef _CLIENTDATA +# ifndef NO_VOID + typedef void *ClientData; +# else + typedef int *ClientData; +# endif +# define _CLIENTDATA +#endif + +/* + * Darwin specifc configure overrides (to support fat compiles, where + * configure runs only once for multiple architectures): + */ + +#ifdef __APPLE__ +# ifdef __LP64__ +# undef TCL_WIDE_INT_TYPE +# define TCL_WIDE_INT_IS_LONG 1 +# else /* !__LP64__ */ +# define TCL_WIDE_INT_TYPE long long +# undef TCL_WIDE_INT_IS_LONG +# endif /* __LP64__ */ +# undef HAVE_STRUCT_STAT64 +#endif /* __APPLE__ */ + +/* + * Define Tcl_WideInt to be a type that is (at least) 64-bits wide, + * and define Tcl_WideUInt to be the unsigned variant of that type + * (assuming that where we have one, we can have the other.) + * + * Also defines the following macros: + * TCL_WIDE_INT_IS_LONG - if wide ints are really longs (i.e. we're on + * a real 64-bit system.) + * Tcl_WideAsLong - forgetful converter from wideInt to long. + * Tcl_LongAsWide - sign-extending converter from long to wideInt. + * Tcl_WideAsDouble - converter from wideInt to double. + * Tcl_DoubleAsWide - converter from double to wideInt. + * + * The following invariant should hold for any long value 'longVal': + * longVal == Tcl_WideAsLong(Tcl_LongAsWide(longVal)) + * + * Note on converting between Tcl_WideInt and strings. This + * implementation (in tclObj.c) depends on the functions strtoull() + * and sprintf(...,"%" TCL_LL_MODIFIER "d",...). TCL_LL_MODIFIER_SIZE + * is the length of the modifier string, which is "ll" on most 32-bit + * Unix systems. It has to be split up like this to allow for the more + * complex formats sometimes needed (e.g. in the format(n) command.) + */ + +#if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG) +# if defined(__GNUC__) +# define TCL_WIDE_INT_TYPE long long +# if defined(__WIN32__) && !defined(__CYGWIN__) +# define TCL_LL_MODIFIER "I64" +# define TCL_LL_MODIFIER_SIZE 3 +# else +# define TCL_LL_MODIFIER "L" +# define TCL_LL_MODIFIER_SIZE 1 +# endif +typedef struct stat Tcl_StatBuf; +# elif defined(__WIN32__) +# define TCL_WIDE_INT_TYPE __int64 +# ifdef __BORLANDC__ +typedef struct stati64 Tcl_StatBuf; +# define TCL_LL_MODIFIER "L" +# define TCL_LL_MODIFIER_SIZE 1 +# else /* __BORLANDC__ */ +# if _MSC_VER < 1400 || !defined(_M_IX86) +typedef struct _stati64 Tcl_StatBuf; +# else +typedef struct _stat64 Tcl_StatBuf; +# endif /* _MSC_VER < 1400 */ +# define TCL_LL_MODIFIER "I64" +# define TCL_LL_MODIFIER_SIZE 3 +# endif /* __BORLANDC__ */ +# else /* __WIN32__ */ +/* + * Don't know what platform it is and configure hasn't discovered what + * is going on for us. Try to guess... + */ +# ifdef NO_LIMITS_H +# error please define either TCL_WIDE_INT_TYPE or TCL_WIDE_INT_IS_LONG +# else /* !NO_LIMITS_H */ +# include +# if (INT_MAX < LONG_MAX) +# define TCL_WIDE_INT_IS_LONG 1 +# else +# define TCL_WIDE_INT_TYPE long long +# endif +# endif /* NO_LIMITS_H */ +# endif /* __WIN32__ */ +#endif /* !TCL_WIDE_INT_TYPE & !TCL_WIDE_INT_IS_LONG */ +#ifdef TCL_WIDE_INT_IS_LONG +# undef TCL_WIDE_INT_TYPE +# define TCL_WIDE_INT_TYPE long +#endif /* TCL_WIDE_INT_IS_LONG */ + +typedef TCL_WIDE_INT_TYPE Tcl_WideInt; +typedef unsigned TCL_WIDE_INT_TYPE Tcl_WideUInt; + +#ifdef TCL_WIDE_INT_IS_LONG +typedef struct stat Tcl_StatBuf; +# define Tcl_WideAsLong(val) ((long)(val)) +# define Tcl_LongAsWide(val) ((long)(val)) +# define Tcl_WideAsDouble(val) ((double)((long)(val))) +# define Tcl_DoubleAsWide(val) ((long)((double)(val))) +# ifndef TCL_LL_MODIFIER +# define TCL_LL_MODIFIER "l" +# define TCL_LL_MODIFIER_SIZE 1 +# endif /* !TCL_LL_MODIFIER */ +#else /* TCL_WIDE_INT_IS_LONG */ +/* + * The next short section of defines are only done when not running on + * Windows or some other strange platform. + */ +# ifndef TCL_LL_MODIFIER +# ifdef HAVE_STRUCT_STAT64 +typedef struct stat64 Tcl_StatBuf; +# else +typedef struct stat Tcl_StatBuf; +# endif /* HAVE_STRUCT_STAT64 */ +# define TCL_LL_MODIFIER "ll" +# define TCL_LL_MODIFIER_SIZE 2 +# endif /* !TCL_LL_MODIFIER */ +# define Tcl_WideAsLong(val) ((long)((Tcl_WideInt)(val))) +# define Tcl_LongAsWide(val) ((Tcl_WideInt)((long)(val))) +# define Tcl_WideAsDouble(val) ((double)((Tcl_WideInt)(val))) +# define Tcl_DoubleAsWide(val) ((Tcl_WideInt)((double)(val))) +#endif /* TCL_WIDE_INT_IS_LONG */ + + +/* + * This flag controls whether binary compatability is maintained with + * extensions built against a previous version of Tcl. This is true + * by default. + */ +#ifndef TCL_PRESERVE_BINARY_COMPATABILITY +# define TCL_PRESERVE_BINARY_COMPATABILITY 1 +#endif + + +/* + * Data structures defined opaquely in this module. The definitions below + * just provide dummy types. A few fields are made visible in Tcl_Interp + * structures, namely those used for returning a string result from + * commands. Direct access to the result field is discouraged in Tcl 8.0. + * The interpreter result is either an object or a string, and the two + * values are kept consistent unless some C code sets interp->result + * directly. Programmers should use either the procedure Tcl_GetObjResult() + * or Tcl_GetStringResult() to read the interpreter's result. See the + * SetResult man page for details. + * + * Note: any change to the Tcl_Interp definition below must be mirrored + * in the "real" definition in tclInt.h. + * + * Note: Tcl_ObjCmdProc procedures do not directly set result and freeProc. + * Instead, they set a Tcl_Obj member in the "real" structure that can be + * accessed with Tcl_GetObjResult() and Tcl_SetObjResult(). + */ + +typedef struct Tcl_Interp { + char *result; /* If the last command returned a string + * result, this points to it. */ + void (*freeProc) _ANSI_ARGS_((char *blockPtr)); + /* Zero means the string result is + * statically allocated. TCL_DYNAMIC means + * it was allocated with ckalloc and should + * be freed with ckfree. Other values give + * the address of procedure to invoke to + * free the result. Tcl_Eval must free it + * before executing next command. */ + int errorLine; /* When TCL_ERROR is returned, this gives + * the line number within the command where + * the error occurred (1 if first line). */ +} Tcl_Interp; + +typedef struct Tcl_AsyncHandler_ *Tcl_AsyncHandler; +typedef struct Tcl_Channel_ *Tcl_Channel; +typedef struct Tcl_Command_ *Tcl_Command; +typedef struct Tcl_Condition_ *Tcl_Condition; +typedef struct Tcl_EncodingState_ *Tcl_EncodingState; +typedef struct Tcl_Encoding_ *Tcl_Encoding; +typedef struct Tcl_Event Tcl_Event; +typedef struct Tcl_Mutex_ *Tcl_Mutex; +typedef struct Tcl_Pid_ *Tcl_Pid; +typedef struct Tcl_RegExp_ *Tcl_RegExp; +typedef struct Tcl_ThreadDataKey_ *Tcl_ThreadDataKey; +typedef struct Tcl_ThreadId_ *Tcl_ThreadId; +typedef struct Tcl_TimerToken_ *Tcl_TimerToken; +typedef struct Tcl_Trace_ *Tcl_Trace; +typedef struct Tcl_Var_ *Tcl_Var; +typedef struct Tcl_ChannelTypeVersion_ *Tcl_ChannelTypeVersion; +typedef struct Tcl_LoadHandle_ *Tcl_LoadHandle; + +/* + * Definition of the interface to procedures implementing threads. + * A procedure following this definition is given to each call of + * 'Tcl_CreateThread' and will be called as the main fuction of + * the new thread created by that call. + */ +#ifdef MAC_TCL +typedef pascal void *(Tcl_ThreadCreateProc) _ANSI_ARGS_((ClientData clientData)); +#elif defined __WIN32__ +typedef unsigned (__stdcall Tcl_ThreadCreateProc) _ANSI_ARGS_((ClientData clientData)); +#else +typedef void (Tcl_ThreadCreateProc) _ANSI_ARGS_((ClientData clientData)); +#endif + + +/* + * Threading function return types used for abstracting away platform + * differences when writing a Tcl_ThreadCreateProc. See the NewThread + * function in generic/tclThreadTest.c for it's usage. + */ +#ifdef MAC_TCL +# define Tcl_ThreadCreateType pascal void * +# define TCL_THREAD_CREATE_RETURN return NULL +#elif defined __WIN32__ +# define Tcl_ThreadCreateType unsigned __stdcall +# define TCL_THREAD_CREATE_RETURN return 0 +#else +# define Tcl_ThreadCreateType void +# define TCL_THREAD_CREATE_RETURN +#endif + + +/* + * Definition of values for default stacksize and the possible flags to be + * given to Tcl_CreateThread. + */ +#define TCL_THREAD_STACK_DEFAULT (0) /* Use default size for stack */ +#define TCL_THREAD_NOFLAGS (0000) /* Standard flags, default behaviour */ +#define TCL_THREAD_JOINABLE (0001) /* Mark the thread as joinable */ + +/* + * Flag values passed to Tcl_GetRegExpFromObj. + */ +#define TCL_REG_BASIC 000000 /* BREs (convenience) */ +#define TCL_REG_EXTENDED 000001 /* EREs */ +#define TCL_REG_ADVF 000002 /* advanced features in EREs */ +#define TCL_REG_ADVANCED 000003 /* AREs (which are also EREs) */ +#define TCL_REG_QUOTE 000004 /* no special characters, none */ +#define TCL_REG_NOCASE 000010 /* ignore case */ +#define TCL_REG_NOSUB 000020 /* don't care about subexpressions */ +#define TCL_REG_EXPANDED 000040 /* expanded format, white space & + * comments */ +#define TCL_REG_NLSTOP 000100 /* \n doesn't match . or [^ ] */ +#define TCL_REG_NLANCH 000200 /* ^ matches after \n, $ before */ +#define TCL_REG_NEWLINE 000300 /* newlines are line terminators */ +#define TCL_REG_CANMATCH 001000 /* report details on partial/limited + * matches */ + +/* + * The following flag is experimental and only intended for use by Expect. It + * will probably go away in a later release. + */ +#define TCL_REG_BOSONLY 002000 /* prepend \A to pattern so it only + * matches at the beginning of the + * string. */ + +/* + * Flags values passed to Tcl_RegExpExecObj. + */ +#define TCL_REG_NOTBOL 0001 /* Beginning of string does not match ^. */ +#define TCL_REG_NOTEOL 0002 /* End of string does not match $. */ + +/* + * Structures filled in by Tcl_RegExpInfo. Note that all offset values are + * relative to the start of the match string, not the beginning of the + * entire string. + */ +typedef struct Tcl_RegExpIndices { + long start; /* character offset of first character in match */ + long end; /* character offset of first character after the + * match. */ +} Tcl_RegExpIndices; + +typedef struct Tcl_RegExpInfo { + int nsubs; /* number of subexpressions in the + * compiled expression */ + Tcl_RegExpIndices *matches; /* array of nsubs match offset + * pairs */ + long extendStart; /* The offset at which a subsequent + * match might begin. */ + long reserved; /* Reserved for later use. */ +} Tcl_RegExpInfo; + +/* + * Picky compilers complain if this typdef doesn't appear before the + * struct's reference in tclDecls.h. + */ +typedef Tcl_StatBuf *Tcl_Stat_; +typedef struct stat *Tcl_OldStat_; + +/* + * When a TCL command returns, the interpreter contains a result from the + * command. Programmers are strongly encouraged to use one of the + * procedures Tcl_GetObjResult() or Tcl_GetStringResult() to read the + * interpreter's result. See the SetResult man page for details. Besides + * this result, the command procedure returns an integer code, which is + * one of the following: + * + * TCL_OK Command completed normally; the interpreter's + * result contains the command's result. + * TCL_ERROR The command couldn't be completed successfully; + * the interpreter's result describes what went wrong. + * TCL_RETURN The command requests that the current procedure + * return; the interpreter's result contains the + * procedure's return value. + * TCL_BREAK The command requests that the innermost loop + * be exited; the interpreter's result is meaningless. + * TCL_CONTINUE Go on to the next iteration of the current loop; + * the interpreter's result is meaningless. + */ +#define TCL_OK 0 +#define TCL_ERROR 1 +#define TCL_RETURN 2 +#define TCL_BREAK 3 +#define TCL_CONTINUE 4 + +#define TCL_RESULT_SIZE 200 + +/* + * Flags to control what substitutions are performed by Tcl_SubstObj(): + */ +#define TCL_SUBST_COMMANDS 001 +#define TCL_SUBST_VARIABLES 002 +#define TCL_SUBST_BACKSLASHES 004 +#define TCL_SUBST_ALL 007 + + +/* + * Argument descriptors for math function callbacks in expressions: + */ +typedef enum { + TCL_INT, TCL_DOUBLE, TCL_EITHER, TCL_WIDE_INT +} Tcl_ValueType; +typedef struct Tcl_Value { + Tcl_ValueType type; /* Indicates intValue or doubleValue is + * valid, or both. */ + long intValue; /* Integer value. */ + double doubleValue; /* Double-precision floating value. */ + Tcl_WideInt wideValue; /* Wide (min. 64-bit) integer value. */ +} Tcl_Value; + +/* + * Forward declaration of Tcl_Obj to prevent an error when the forward + * reference to Tcl_Obj is encountered in the procedure types declared + * below. + */ +struct Tcl_Obj; + + +/* + * Procedure types defined by Tcl: + */ + +typedef int (Tcl_AppInitProc) _ANSI_ARGS_((Tcl_Interp *interp)); +typedef int (Tcl_AsyncProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int code)); +typedef void (Tcl_ChannelProc) _ANSI_ARGS_((ClientData clientData, int mask)); +typedef void (Tcl_CloseProc) _ANSI_ARGS_((ClientData data)); +typedef void (Tcl_CmdDeleteProc) _ANSI_ARGS_((ClientData clientData)); +typedef int (Tcl_CmdProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int argc, CONST84 char *argv[])); +typedef void (Tcl_CmdTraceProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int level, char *command, Tcl_CmdProc *proc, + ClientData cmdClientData, int argc, CONST84 char *argv[])); +typedef int (Tcl_CmdObjTraceProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int level, CONST char *command, + Tcl_Command commandInfo, int objc, struct Tcl_Obj * CONST * objv)); +typedef void (Tcl_CmdObjTraceDeleteProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_DupInternalRepProc) _ANSI_ARGS_((struct Tcl_Obj *srcPtr, + struct Tcl_Obj *dupPtr)); +typedef int (Tcl_EncodingConvertProc)_ANSI_ARGS_((ClientData clientData, + CONST char *src, int srcLen, int flags, Tcl_EncodingState *statePtr, + char *dst, int dstLen, int *srcReadPtr, int *dstWrotePtr, + int *dstCharsPtr)); +typedef void (Tcl_EncodingFreeProc)_ANSI_ARGS_((ClientData clientData)); +typedef int (Tcl_EventProc) _ANSI_ARGS_((Tcl_Event *evPtr, int flags)); +typedef void (Tcl_EventCheckProc) _ANSI_ARGS_((ClientData clientData, + int flags)); +typedef int (Tcl_EventDeleteProc) _ANSI_ARGS_((Tcl_Event *evPtr, + ClientData clientData)); +typedef void (Tcl_EventSetupProc) _ANSI_ARGS_((ClientData clientData, + int flags)); +typedef void (Tcl_ExitProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_FileProc) _ANSI_ARGS_((ClientData clientData, int mask)); +typedef void (Tcl_FileFreeProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_FreeInternalRepProc) _ANSI_ARGS_((struct Tcl_Obj *objPtr)); +typedef void (Tcl_FreeProc) _ANSI_ARGS_((char *blockPtr)); +typedef void (Tcl_IdleProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_InterpDeleteProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp)); +typedef int (Tcl_MathProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, Tcl_Value *args, Tcl_Value *resultPtr)); +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(CONST 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)); +typedef int (Tcl_SetFromAnyProc) _ANSI_ARGS_((Tcl_Interp *interp, + struct Tcl_Obj *objPtr)); +typedef void (Tcl_UpdateStringProc) _ANSI_ARGS_((struct Tcl_Obj *objPtr)); +typedef char *(Tcl_VarTraceProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, CONST84 char *part1, CONST84 char *part2, int flags)); +typedef void (Tcl_CommandTraceProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, CONST char *oldName, CONST char *newName, + int flags)); +typedef void (Tcl_CreateFileHandlerProc) _ANSI_ARGS_((int fd, int mask, + Tcl_FileProc *proc, ClientData clientData)); +typedef void (Tcl_DeleteFileHandlerProc) _ANSI_ARGS_((int fd)); +typedef void (Tcl_AlertNotifierProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_ServiceModeHookProc) _ANSI_ARGS_((int mode)); +typedef ClientData (Tcl_InitNotifierProc) _ANSI_ARGS_((VOID)); +typedef void (Tcl_FinalizeNotifierProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (Tcl_MainLoopProc) _ANSI_ARGS_((void)); + + +/* + * The following structure represents a type of object, which is a + * particular internal representation for an object plus a set of + * procedures that provide standard operations on objects of that type. + */ + +typedef struct Tcl_ObjType { + char *name; /* Name of the type, e.g. "int". */ + Tcl_FreeInternalRepProc *freeIntRepProc; + /* Called to free any storage for the type's + * internal rep. NULL if the internal rep + * does not need freeing. */ + Tcl_DupInternalRepProc *dupIntRepProc; + /* Called to create a new object as a copy + * of an existing object. */ + Tcl_UpdateStringProc *updateStringProc; + /* Called to update the string rep from the + * type's internal representation. */ + Tcl_SetFromAnyProc *setFromAnyProc; + /* Called to convert the object's internal + * rep to this type. Frees the internal rep + * of the old type. Returns TCL_ERROR on + * failure. */ +} Tcl_ObjType; + + +/* + * One of the following structures exists for each object in the Tcl + * system. An object stores a value as either a string, some internal + * representation, or both. + */ + +typedef struct Tcl_Obj { + int refCount; /* When 0 the object will be freed. */ + char *bytes; /* This points to the first byte of the + * object's string representation. The array + * must be followed by a null byte (i.e., at + * offset length) but may also contain + * embedded null characters. The array's + * storage is allocated by ckalloc. NULL + * means the string rep is invalid and must + * be regenerated from the internal rep. + * Clients should use Tcl_GetStringFromObj + * or Tcl_GetString to get a pointer to the + * byte array as a readonly value. */ + int length; /* The number of bytes at *bytes, not + * including the terminating null. */ + Tcl_ObjType *typePtr; /* Denotes the object's type. Always + * corresponds to the type of the object's + * internal rep. NULL indicates the object + * has no internal rep (has no type). */ + union { /* The internal representation: */ + long longValue; /* - an long integer value */ + double doubleValue; /* - a double-precision floating value */ + VOID *otherValuePtr; /* - another, type-specific value */ + Tcl_WideInt wideValue; /* - a long long value */ + struct { /* - internal rep as two pointers */ + VOID *ptr1; + VOID *ptr2; + } twoPtrValue; + } internalRep; +} Tcl_Obj; + + +/* + * Macros to increment and decrement a Tcl_Obj's reference count, and to + * test whether an object is shared (i.e. has reference count > 1). + * Note: clients should use Tcl_DecrRefCount() when they are finished using + * an object, and should never call TclFreeObj() directly. TclFreeObj() is + * only defined and made public in tcl.h to support Tcl_DecrRefCount's macro + * definition. Note also that Tcl_DecrRefCount() refers to the parameter + * "obj" twice. This means that you should avoid calling it with an + * expression that is expensive to compute or has side effects. + */ +void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); +void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); +int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); + +#ifdef TCL_MEM_DEBUG +# define Tcl_IncrRefCount(objPtr) \ + Tcl_DbIncrRefCount(objPtr, __FILE__, __LINE__) +# define Tcl_DecrRefCount(objPtr) \ + Tcl_DbDecrRefCount(objPtr, __FILE__, __LINE__) +# define Tcl_IsShared(objPtr) \ + Tcl_DbIsShared(objPtr, __FILE__, __LINE__) +#else +# define Tcl_IncrRefCount(objPtr) \ + ++(objPtr)->refCount + /* + * Use do/while0 idiom for optimum correctness without compiler warnings + * http://c2.com/cgi/wiki?TrivialDoWhileLoop + */ +# define Tcl_DecrRefCount(objPtr) \ + do { if (--(objPtr)->refCount <= 0) TclFreeObj(objPtr); } while(0) +# define Tcl_IsShared(objPtr) \ + ((objPtr)->refCount > 1) +#endif + +/* + * Macros and definitions that help to debug the use of Tcl objects. + * When TCL_MEM_DEBUG is defined, the Tcl_New declarations are + * overridden to call debugging versions of the object creation procedures. + */ + +#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) \ + Tcl_DbNewLongObj(val, __FILE__, __LINE__) +# define Tcl_NewListObj(objc, objv) \ + Tcl_DbNewListObj(objc, objv, __FILE__, __LINE__) +# define Tcl_NewLongObj(val) \ + Tcl_DbNewLongObj(val, __FILE__, __LINE__) +# define Tcl_NewObj() \ + Tcl_DbNewObj(__FILE__, __LINE__) +# define Tcl_NewStringObj(bytes, len) \ + Tcl_DbNewStringObj(bytes, len, __FILE__, __LINE__) +# define Tcl_NewWideIntObj(val) \ + Tcl_DbNewWideIntObj(val, __FILE__, __LINE__) +#endif /* TCL_MEM_DEBUG */ + + +/* + * The following structure contains the state needed by + * Tcl_SaveResult. No-one outside of Tcl should access any of these + * fields. This structure is typically allocated on the stack. + */ +typedef struct Tcl_SavedResult { + char *result; + Tcl_FreeProc *freeProc; + Tcl_Obj *objResultPtr; + char *appendResult; + int appendAvl; + int appendUsed; + char resultSpace[TCL_RESULT_SIZE+1]; +} Tcl_SavedResult; + + +/* + * The following definitions support Tcl's namespace facility. + * Note: the first five fields must match exactly the fields in a + * Namespace structure (see tclInt.h). + */ + +typedef struct Tcl_Namespace { + char *name; /* The namespace's name within its parent + * namespace. This contains no ::'s. The + * name of the global namespace is "" + * although "::" is an synonym. */ + char *fullName; /* The namespace's fully qualified name. + * This starts with ::. */ + ClientData clientData; /* Arbitrary value associated with this + * namespace. */ + Tcl_NamespaceDeleteProc* deleteProc; + /* Procedure invoked when deleting the + * namespace to, e.g., free clientData. */ + struct Tcl_Namespace* parentPtr; + /* Points to the namespace that contains + * this one. NULL if this is the global + * namespace. */ +} Tcl_Namespace; + + +/* + * The following structure represents a call frame, or activation record. + * A call frame defines a naming context for a procedure call: its local + * scope (for local variables) and its namespace scope (used for non-local + * variables; often the global :: namespace). A call frame can also define + * the naming context for a namespace eval or namespace inscope command: + * the namespace in which the command's code should execute. The + * Tcl_CallFrame structures exist only while procedures or namespace + * eval/inscope's are being executed, and provide a Tcl call stack. + * + * A call frame is initialized and pushed using Tcl_PushCallFrame and + * popped using Tcl_PopCallFrame. Storage for a Tcl_CallFrame must be + * provided by the Tcl_PushCallFrame caller, and callers typically allocate + * them on the C call stack for efficiency. For this reason, Tcl_CallFrame + * is defined as a structure and not as an opaque token. However, most + * Tcl_CallFrame fields are hidden since applications should not access + * them directly; others are declared as "dummyX". + * + * WARNING!! The structure definition must be kept consistent with the + * CallFrame structure in tclInt.h. If you change one, change the other. + */ + +typedef struct Tcl_CallFrame { + Tcl_Namespace *nsPtr; + int dummy1; + int dummy2; + char *dummy3; + char *dummy4; + char *dummy5; + int dummy6; + char *dummy7; + char *dummy8; + int dummy9; + char* dummy10; +} Tcl_CallFrame; + + +/* + * Information about commands that is returned by Tcl_GetCommandInfo and + * passed to Tcl_SetCommandInfo. objProc is an objc/objv object-based + * command procedure while proc is a traditional Tcl argc/argv + * string-based procedure. Tcl_CreateObjCommand and Tcl_CreateCommand + * ensure that both objProc and proc are non-NULL and can be called to + * execute the command. However, it may be faster to call one instead of + * the other. The member isNativeObjectProc is set to 1 if an + * object-based procedure was registered by Tcl_CreateObjCommand, and to + * 0 if a string-based procedure was registered by Tcl_CreateCommand. + * The other procedure is typically set to a compatibility wrapper that + * does string-to-object or object-to-string argument conversions then + * calls the other procedure. + */ + +typedef struct Tcl_CmdInfo { + int isNativeObjectProc; /* 1 if objProc was registered by a call to + * Tcl_CreateObjCommand; 0 otherwise. + * Tcl_SetCmdInfo does not modify this + * field. */ + Tcl_ObjCmdProc *objProc; /* Command's object-based procedure. */ + ClientData objClientData; /* ClientData for object proc. */ + Tcl_CmdProc *proc; /* Command's string-based procedure. */ + ClientData clientData; /* ClientData for string proc. */ + Tcl_CmdDeleteProc *deleteProc; + /* Procedure to call when command is + * deleted. */ + ClientData deleteData; /* Value to pass to deleteProc (usually + * the same as clientData). */ + Tcl_Namespace *namespacePtr; /* Points to the namespace that contains + * this command. Note that Tcl_SetCmdInfo + * will not change a command's namespace; + * use Tcl_RenameCommand to do that. */ + +} Tcl_CmdInfo; + +/* + * The structure defined below is used to hold dynamic strings. The only + * field that clients should use is the string field, accessible via the + * macro Tcl_DStringValue. + */ +#define TCL_DSTRING_STATIC_SIZE 200 +typedef struct Tcl_DString { + char *string; /* Points to beginning of string: either + * staticSpace below or a malloced array. */ + int length; /* Number of non-NULL characters in the + * string. */ + int spaceAvl; /* Total number of bytes available for the + * string and its terminating NULL char. */ + char staticSpace[TCL_DSTRING_STATIC_SIZE]; + /* Space to use in common case where string + * is small. */ +} Tcl_DString; + +#define Tcl_DStringLength(dsPtr) ((dsPtr)->length) +#define Tcl_DStringValue(dsPtr) ((dsPtr)->string) +#define Tcl_DStringTrunc Tcl_DStringSetLength + +/* + * Definitions for the maximum number of digits of precision that may + * be specified in the "tcl_precision" variable, and the number of + * bytes of buffer space required by Tcl_PrintDouble. + */ +#define TCL_MAX_PREC 17 +#define TCL_DOUBLE_SPACE (TCL_MAX_PREC+10) + +/* + * Definition for a number of bytes of buffer space sufficient to hold the + * string representation of an integer in base 10 (assuming the existence + * of 64-bit integers). + */ +#define TCL_INTEGER_SPACE 24 + +/* + * Flag that may be passed to Tcl_ConvertElement to force it not to + * output braces (careful! if you change this flag be sure to change + * the definitions at the front of tclUtil.c). + */ +#define TCL_DONT_USE_BRACES 1 + +/* + * Flag that may be passed to Tcl_GetIndexFromObj to force it to disallow + * abbreviated strings. + */ +#define TCL_EXACT 1 + +/* + * Flag values passed to Tcl_RecordAndEval and/or Tcl_EvalObj. + * WARNING: these bit choices must not conflict with the bit choices + * for evalFlag bits in tclInt.h!! + */ +#define TCL_NO_EVAL 0x10000 +#define TCL_EVAL_GLOBAL 0x20000 +#define TCL_EVAL_DIRECT 0x40000 +#define TCL_EVAL_INVOKE 0x80000 + +/* + * Special freeProc values that may be passed to Tcl_SetResult (see + * the man page for details): + */ +#define TCL_VOLATILE ((Tcl_FreeProc *) 1) +#define TCL_STATIC ((Tcl_FreeProc *) 0) +#define TCL_DYNAMIC ((Tcl_FreeProc *) 3) + +/* + * Flag values passed to variable-related procedures. + */ +#define TCL_GLOBAL_ONLY 1 +#define TCL_NAMESPACE_ONLY 2 +#define TCL_APPEND_VALUE 4 +#define TCL_LIST_ELEMENT 8 +#define TCL_TRACE_READS 0x10 +#define TCL_TRACE_WRITES 0x20 +#define TCL_TRACE_UNSETS 0x40 +#define TCL_TRACE_DESTROYED 0x80 +#define TCL_INTERP_DESTROYED 0x100 +#define TCL_LEAVE_ERR_MSG 0x200 +#define TCL_TRACE_ARRAY 0x800 +#ifndef TCL_REMOVE_OBSOLETE_TRACES +/* Required to support old variable/vdelete/vinfo traces */ +#define TCL_TRACE_OLD_STYLE 0x1000 +#endif +/* Indicate the semantics of the result of a trace */ +#define TCL_TRACE_RESULT_DYNAMIC 0x8000 +#define TCL_TRACE_RESULT_OBJECT 0x10000 + +/* + * Flag values passed to command-related procedures. + */ + +#define TCL_TRACE_RENAME 0x2000 +#define TCL_TRACE_DELETE 0x4000 + +#define TCL_ALLOW_INLINE_COMPILATION 0x20000 + +/* + * Flag values passed to Tcl_CreateObjTrace, and used internally + * by command execution traces. Slots 4,8,16 and 32 are + * used internally by execution traces (see tclCmdMZ.c) + */ +#define TCL_TRACE_ENTER_EXEC 1 +#define TCL_TRACE_LEAVE_EXEC 2 + +/* + * The TCL_PARSE_PART1 flag is deprecated and has no effect. + * The part1 is now always parsed whenever the part2 is NULL. + * (This is to avoid a common error when converting code to + * use the new object based APIs and forgetting to give the + * flag) + */ +#ifndef TCL_NO_DEPRECATED +# define TCL_PARSE_PART1 0x400 +#endif + + +/* + * Types for linked variables: + */ +#define TCL_LINK_INT 1 +#define TCL_LINK_DOUBLE 2 +#define TCL_LINK_BOOLEAN 3 +#define TCL_LINK_STRING 4 +#define TCL_LINK_WIDE_INT 5 +#define TCL_LINK_READ_ONLY 0x80 + + +/* + * Forward declarations of Tcl_HashTable and related types. + */ +typedef struct Tcl_HashKeyType Tcl_HashKeyType; +typedef struct Tcl_HashTable Tcl_HashTable; +typedef struct Tcl_HashEntry Tcl_HashEntry; + +typedef unsigned int (Tcl_HashKeyProc) _ANSI_ARGS_((Tcl_HashTable *tablePtr, + VOID *keyPtr)); +typedef int (Tcl_CompareHashKeysProc) _ANSI_ARGS_((VOID *keyPtr, + Tcl_HashEntry *hPtr)); +typedef Tcl_HashEntry *(Tcl_AllocHashEntryProc) _ANSI_ARGS_(( + Tcl_HashTable *tablePtr, VOID *keyPtr)); +typedef void (Tcl_FreeHashEntryProc) _ANSI_ARGS_((Tcl_HashEntry *hPtr)); + +/* + * This flag controls whether the hash table stores the hash of a key, or + * recalculates it. There should be no reason for turning this flag off + * as it is completely binary and source compatible unless you directly + * access the bucketPtr member of the Tcl_HashTableEntry structure. This + * member has been removed and the space used to store the hash value. + */ +#ifndef TCL_HASH_KEY_STORE_HASH +# define TCL_HASH_KEY_STORE_HASH 1 +#endif + +/* + * Structure definition for an entry in a hash table. No-one outside + * Tcl should access any of these fields directly; use the macros + * defined below. + */ + +struct Tcl_HashEntry { + Tcl_HashEntry *nextPtr; /* Pointer to next entry in this + * hash bucket, or NULL for end of + * chain. */ + Tcl_HashTable *tablePtr; /* Pointer to table containing entry. */ +#if TCL_HASH_KEY_STORE_HASH +# if TCL_PRESERVE_BINARY_COMPATABILITY + VOID *hash; /* Hash value, stored as pointer to + * ensure that the offsets of the + * fields in this structure are not + * changed. */ +# else + unsigned int hash; /* Hash value. */ +# endif +#else + Tcl_HashEntry **bucketPtr; /* Pointer to bucket that points to + * first entry in this entry's chain: + * used for deleting the entry. */ +#endif + ClientData clientData; /* Application stores something here + * with Tcl_SetHashValue. */ + union { /* Key has one of these forms: */ + char *oneWordValue; /* One-word value for key. */ + Tcl_Obj *objPtr; /* Tcl_Obj * key value. */ + int words[1]; /* Multiple integer words for key. + * The actual size will be as large + * as necessary for this table's + * keys. */ + char string[4]; /* String for key. The actual size + * will be as large as needed to hold + * the key. */ + } key; /* MUST BE LAST FIELD IN RECORD!! */ +}; + +/* + * Flags used in Tcl_HashKeyType. + * + * TCL_HASH_KEY_RANDOMIZE_HASH: + * There are some things, pointers for example + * which don't hash well because they do not use + * the lower bits. If this flag is set then the + * hash table will attempt to rectify this by + * randomising the bits and then using the upper + * N bits as the index into the table. + */ +#define TCL_HASH_KEY_RANDOMIZE_HASH 0x1 + +/* + * Structure definition for the methods associated with a hash table + * key type. + */ +#define TCL_HASH_KEY_TYPE_VERSION 1 +struct Tcl_HashKeyType { + int version; /* Version of the table. If this structure is + * extended in future then the version can be + * used to distinguish between different + * structures. + */ + + int flags; /* Flags, see above for details. */ + + /* Calculates a hash value for the key. If this is NULL then the pointer + * itself is used as a hash value. + */ + Tcl_HashKeyProc *hashKeyProc; + + /* Compares two keys and returns zero if they do not match, and non-zero + * if they do. If this is NULL then the pointers are compared. + */ + Tcl_CompareHashKeysProc *compareKeysProc; + + /* Called to allocate memory for a new entry, i.e. if the key is a + * string then this could allocate a single block which contains enough + * space for both the entry and the string. Only the key field of the + * allocated Tcl_HashEntry structure needs to be filled in. If something + * else needs to be done to the key, i.e. incrementing a reference count + * then that should be done by this function. If this is NULL then Tcl_Alloc + * is used to allocate enough space for a Tcl_HashEntry and the key pointer + * is assigned to key.oneWordValue. + */ + Tcl_AllocHashEntryProc *allocEntryProc; + + /* Called to free memory associated with an entry. If something else needs + * to be done to the key, i.e. decrementing a reference count then that + * should be done by this function. If this is NULL then Tcl_Free is used + * to free the Tcl_HashEntry. + */ + Tcl_FreeHashEntryProc *freeEntryProc; +}; + +/* + * Structure definition for a hash table. Must be in tcl.h so clients + * can allocate space for these structures, but clients should never + * access any fields in this structure. + */ + +#define TCL_SMALL_HASH_TABLE 4 +struct Tcl_HashTable { + Tcl_HashEntry **buckets; /* Pointer to bucket array. Each + * element points to first entry in + * bucket's hash chain, or NULL. */ + Tcl_HashEntry *staticBuckets[TCL_SMALL_HASH_TABLE]; + /* Bucket array used for small tables + * (to avoid mallocs and frees). */ + int numBuckets; /* Total number of buckets allocated + * at **bucketPtr. */ + int numEntries; /* Total number of entries present + * in table. */ + int rebuildSize; /* Enlarge table when numEntries gets + * to be this large. */ + int downShift; /* Shift count used in hashing + * function. Designed to use high- + * order bits of randomized keys. */ + int mask; /* Mask value used in hashing + * function. */ + int keyType; /* Type of keys used in this table. + * It's either TCL_CUSTOM_KEYS, + * TCL_STRING_KEYS, TCL_ONE_WORD_KEYS, + * or an integer giving the number of + * ints that is the size of the key. + */ +#if TCL_PRESERVE_BINARY_COMPATABILITY + Tcl_HashEntry *(*findProc) _ANSI_ARGS_((Tcl_HashTable *tablePtr, + CONST char *key)); + Tcl_HashEntry *(*createProc) _ANSI_ARGS_((Tcl_HashTable *tablePtr, + CONST char *key, int *newPtr)); +#endif + Tcl_HashKeyType *typePtr; /* Type of the keys used in the + * Tcl_HashTable. */ +}; + +/* + * Structure definition for information used to keep track of searches + * through hash tables: + */ + +typedef struct Tcl_HashSearch { + Tcl_HashTable *tablePtr; /* Table being searched. */ + int nextIndex; /* Index of next bucket to be + * enumerated after present one. */ + Tcl_HashEntry *nextEntryPtr; /* Next entry to be enumerated in the + * the current bucket. */ +} Tcl_HashSearch; + +/* + * Acceptable key types for hash tables: + * + * TCL_STRING_KEYS: The keys are strings, they are copied into + * the entry. + * TCL_ONE_WORD_KEYS: The keys are pointers, the pointer is stored + * in the entry. + * TCL_CUSTOM_TYPE_KEYS: The keys are arbitrary types which are copied + * into the entry. + * TCL_CUSTOM_PTR_KEYS: The keys are pointers to arbitrary types, the + * pointer is stored in the entry. + * + * While maintaining binary compatability the above have to be distinct + * values as they are used to differentiate between old versions of the + * hash table which don't have a typePtr and new ones which do. Once binary + * compatability is discarded in favour of making more wide spread changes + * TCL_STRING_KEYS can be the same as TCL_CUSTOM_TYPE_KEYS, and + * TCL_ONE_WORD_KEYS can be the same as TCL_CUSTOM_PTR_KEYS because they + * simply determine how the key is accessed from the entry and not the + * behaviour. + */ + +#define TCL_STRING_KEYS 0 +#define TCL_ONE_WORD_KEYS 1 + +#if TCL_PRESERVE_BINARY_COMPATABILITY +# define TCL_CUSTOM_TYPE_KEYS -2 +# define TCL_CUSTOM_PTR_KEYS -1 +#else +# define TCL_CUSTOM_TYPE_KEYS TCL_STRING_KEYS +# define TCL_CUSTOM_PTR_KEYS TCL_ONE_WORD_KEYS +#endif + +/* + * Macros for clients to use to access fields of hash entries: + */ + +#define Tcl_GetHashValue(h) ((h)->clientData) +#define Tcl_SetHashValue(h, value) ((h)->clientData = (ClientData) (value)) +#if TCL_PRESERVE_BINARY_COMPATABILITY +# define Tcl_GetHashKey(tablePtr, h) \ + ((char *) (((tablePtr)->keyType == TCL_ONE_WORD_KEYS || \ + (tablePtr)->keyType == TCL_CUSTOM_PTR_KEYS) \ + ? (h)->key.oneWordValue \ + : (h)->key.string)) +#else +# define Tcl_GetHashKey(tablePtr, h) \ + ((char *) (((tablePtr)->keyType == TCL_ONE_WORD_KEYS) \ + ? (h)->key.oneWordValue \ + : (h)->key.string)) +#endif + +/* + * Macros to use for clients to use to invoke find and create procedures + * for hash tables: + */ + +#if TCL_PRESERVE_BINARY_COMPATABILITY +# define Tcl_FindHashEntry(tablePtr, key) \ + (*((tablePtr)->findProc))(tablePtr, key) +# define Tcl_CreateHashEntry(tablePtr, key, newPtr) \ + (*((tablePtr)->createProc))(tablePtr, key, newPtr) +#else /* !TCL_PRESERVE_BINARY_COMPATABILITY */ +/* + * Macro to use new extended version of Tcl_InitHashTable. + */ +# define Tcl_InitHashTable(tablePtr, keyType) \ + Tcl_InitHashTableEx(tablePtr, keyType, NULL) +#endif /* TCL_PRESERVE_BINARY_COMPATABILITY */ + + +/* + * Flag values to pass to Tcl_DoOneEvent to disable searches + * for some kinds of events: + */ +#define TCL_DONT_WAIT (1<<1) +#define TCL_WINDOW_EVENTS (1<<2) +#define TCL_FILE_EVENTS (1<<3) +#define TCL_TIMER_EVENTS (1<<4) +#define TCL_IDLE_EVENTS (1<<5) /* WAS 0x10 ???? */ +#define TCL_ALL_EVENTS (~TCL_DONT_WAIT) + +/* + * The following structure defines a generic event for the Tcl event + * system. These are the things that are queued in calls to Tcl_QueueEvent + * and serviced later by Tcl_DoOneEvent. There can be many different + * kinds of events with different fields, corresponding to window events, + * timer events, etc. The structure for a particular event consists of + * a Tcl_Event header followed by additional information specific to that + * event. + */ +struct Tcl_Event { + Tcl_EventProc *proc; /* Procedure to call to service this event. */ + struct Tcl_Event *nextPtr; /* Next in list of pending events, or NULL. */ +}; + +/* + * Positions to pass to Tcl_QueueEvent: + */ +typedef enum { + TCL_QUEUE_TAIL, TCL_QUEUE_HEAD, TCL_QUEUE_MARK +} Tcl_QueuePosition; + +/* + * Values to pass to Tcl_SetServiceMode to specify the behavior of notifier + * event routines. + */ +#define TCL_SERVICE_NONE 0 +#define TCL_SERVICE_ALL 1 + + +/* + * The following structure keeps is used to hold a time value, either as + * an absolute time (the number of seconds from the epoch) or as an + * elapsed time. On Unix systems the epoch is Midnight Jan 1, 1970 GMT. + * On Macintosh systems the epoch is Midnight Jan 1, 1904 GMT. + */ +typedef struct Tcl_Time { + long sec; /* Seconds. */ + long usec; /* Microseconds. */ +} Tcl_Time; + +typedef void (Tcl_SetTimerProc) _ANSI_ARGS_((Tcl_Time *timePtr)); +typedef int (Tcl_WaitForEventProc) _ANSI_ARGS_((Tcl_Time *timePtr)); + + +/* + * Bits to pass to Tcl_CreateFileHandler and Tcl_CreateChannelHandler + * to indicate what sorts of events are of interest: + */ +#define TCL_READABLE (1<<1) +#define TCL_WRITABLE (1<<2) +#define TCL_EXCEPTION (1<<3) + +/* + * Flag values to pass to Tcl_OpenCommandChannel to indicate the + * disposition of the stdio handles. TCL_STDIN, TCL_STDOUT, TCL_STDERR, + * are also used in Tcl_GetStdChannel. + */ +#define TCL_STDIN (1<<1) +#define TCL_STDOUT (1<<2) +#define TCL_STDERR (1<<3) +#define TCL_ENFORCE_MODE (1<<4) + +/* + * Bits passed to Tcl_DriverClose2Proc to indicate which side of a channel + * should be closed. + */ +#define TCL_CLOSE_READ (1<<1) +#define TCL_CLOSE_WRITE (1<<2) + +/* + * Value to use as the closeProc for a channel that supports the + * close2Proc interface. + */ +#define TCL_CLOSE2PROC ((Tcl_DriverCloseProc *)1) + +/* + * Channel version tag. This was introduced in 8.3.2/8.4. + */ +#define TCL_CHANNEL_VERSION_1 ((Tcl_ChannelTypeVersion) 0x1) +#define TCL_CHANNEL_VERSION_2 ((Tcl_ChannelTypeVersion) 0x2) +#define TCL_CHANNEL_VERSION_3 ((Tcl_ChannelTypeVersion) 0x3) +#define TCL_CHANNEL_VERSION_4 ((Tcl_ChannelTypeVersion) 0x4) + +/* + * TIP #218: Channel Actions, Ids for Tcl_DriverThreadActionProc + */ + +#define TCL_CHANNEL_THREAD_INSERT (0) +#define TCL_CHANNEL_THREAD_REMOVE (1) + +/* + * Typedefs for the various operations in a channel type: + */ +typedef int (Tcl_DriverBlockModeProc) _ANSI_ARGS_(( + ClientData instanceData, int mode)); +typedef int (Tcl_DriverCloseProc) _ANSI_ARGS_((ClientData instanceData, + Tcl_Interp *interp)); +typedef int (Tcl_DriverClose2Proc) _ANSI_ARGS_((ClientData instanceData, + Tcl_Interp *interp, int flags)); +typedef int (Tcl_DriverInputProc) _ANSI_ARGS_((ClientData instanceData, + char *buf, int toRead, int *errorCodePtr)); +typedef int (Tcl_DriverOutputProc) _ANSI_ARGS_((ClientData instanceData, + CONST84 char *buf, int toWrite, int *errorCodePtr)); +typedef int (Tcl_DriverSeekProc) _ANSI_ARGS_((ClientData instanceData, + long offset, int mode, int *errorCodePtr)); +typedef int (Tcl_DriverSetOptionProc) _ANSI_ARGS_(( + ClientData instanceData, Tcl_Interp *interp, + CONST char *optionName, CONST char *value)); +typedef int (Tcl_DriverGetOptionProc) _ANSI_ARGS_(( + ClientData instanceData, Tcl_Interp *interp, + CONST84 char *optionName, Tcl_DString *dsPtr)); +typedef void (Tcl_DriverWatchProc) _ANSI_ARGS_(( + ClientData instanceData, int mask)); +typedef int (Tcl_DriverGetHandleProc) _ANSI_ARGS_(( + ClientData instanceData, int direction, + ClientData *handlePtr)); +typedef int (Tcl_DriverFlushProc) _ANSI_ARGS_(( + ClientData instanceData)); +typedef int (Tcl_DriverHandlerProc) _ANSI_ARGS_(( + ClientData instanceData, int interestMask)); +typedef Tcl_WideInt (Tcl_DriverWideSeekProc) _ANSI_ARGS_(( + ClientData instanceData, Tcl_WideInt offset, + int mode, int *errorCodePtr)); + + /* TIP #218, Channel Thread Actions */ +typedef void (Tcl_DriverThreadActionProc) _ANSI_ARGS_ (( + ClientData instanceData, int action)); + +/* + * The following declarations either map ckalloc and ckfree to + * malloc and free, or they map them to procedures with all sorts + * of debugging hooks defined in tclCkalloc.c. + */ +#ifdef TCL_MEM_DEBUG + +# define ckalloc(x) Tcl_DbCkalloc(x, __FILE__, __LINE__) +# define ckfree(x) Tcl_DbCkfree(x, __FILE__, __LINE__) +# define ckrealloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) +# define attemptckalloc(x) Tcl_AttemptDbCkalloc(x, __FILE__, __LINE__) +# define attemptckrealloc(x,y) Tcl_AttemptDbCkrealloc((x), (y), __FILE__, __LINE__) +#else /* !TCL_MEM_DEBUG */ + +/* + * If we are not using the debugging allocator, we should call the + * Tcl_Alloc, et al. routines in order to guarantee that every module + * is using the same memory allocator both inside and outside of the + * Tcl library. + */ +# define ckalloc(x) Tcl_Alloc(x) +# define ckfree(x) Tcl_Free(x) +# define ckrealloc(x,y) Tcl_Realloc(x,y) +# define attemptckalloc(x) Tcl_AttemptAlloc(x) +# define attemptckrealloc(x,y) Tcl_AttemptRealloc(x,y) +# define Tcl_InitMemory(x) +# define Tcl_DumpActiveMemory(x) +# define Tcl_ValidateAllMemory(x,y) + +#endif /* !TCL_MEM_DEBUG */ + +/* + * struct Tcl_ChannelType: + * + * One such structure exists for each type (kind) of channel. + * It collects together in one place all the functions that are + * part of the specific channel type. + * + * It is recommend that the Tcl_Channel* functions are used to access + * elements of this structure, instead of direct accessing. + */ +typedef struct Tcl_ChannelType { + char *typeName; /* The name of the channel type in Tcl + * commands. This storage is owned by + * channel type. */ + Tcl_ChannelTypeVersion version; /* Version of the channel type. */ + Tcl_DriverCloseProc *closeProc; /* Procedure to call to close the + * channel, or TCL_CLOSE2PROC if the + * close2Proc should be used + * instead. */ + Tcl_DriverInputProc *inputProc; /* Procedure to call for input + * on channel. */ + Tcl_DriverOutputProc *outputProc; /* Procedure to call for output + * on channel. */ + Tcl_DriverSeekProc *seekProc; /* Procedure to call to seek + * on the channel. May be NULL. */ + Tcl_DriverSetOptionProc *setOptionProc; + /* Set an option on a channel. */ + Tcl_DriverGetOptionProc *getOptionProc; + /* Get an option from a channel. */ + Tcl_DriverWatchProc *watchProc; /* Set up the notifier to watch + * for events on this channel. */ + Tcl_DriverGetHandleProc *getHandleProc; + /* Get an OS handle from the channel + * or NULL if not supported. */ + Tcl_DriverClose2Proc *close2Proc; /* Procedure to call to close the + * channel if the device supports + * closing the read & write sides + * independently. */ + Tcl_DriverBlockModeProc *blockModeProc; + /* Set blocking mode for the + * raw channel. May be NULL. */ + /* + * Only valid in TCL_CHANNEL_VERSION_2 channels or later + */ + Tcl_DriverFlushProc *flushProc; /* Procedure to call to flush a + * channel. May be NULL. */ + Tcl_DriverHandlerProc *handlerProc; /* Procedure to call to handle a + * channel event. This will be passed + * up the stacked channel chain. */ + /* + * Only valid in TCL_CHANNEL_VERSION_3 channels or later + */ + Tcl_DriverWideSeekProc *wideSeekProc; + /* Procedure to call to seek + * on the channel which can + * handle 64-bit offsets. May be + * NULL, and must be NULL if + * seekProc is NULL. */ + + /* + * Only valid in TCL_CHANNEL_VERSION_4 channels or later + * TIP #218, Channel Thread Actions + */ + Tcl_DriverThreadActionProc *threadActionProc; + /* Procedure to call to notify + * the driver of thread specific + * activity for a channel. + * May be NULL. */ +} Tcl_ChannelType; + +/* + * The following flags determine whether the blockModeProc above should + * set the channel into blocking or nonblocking mode. They are passed + * as arguments to the blockModeProc procedure in the above structure. + */ +#define TCL_MODE_BLOCKING 0 /* Put channel into blocking mode. */ +#define TCL_MODE_NONBLOCKING 1 /* Put channel into nonblocking + * mode. */ + +/* + * Enum for different types of file paths. + */ +typedef enum Tcl_PathType { + TCL_PATH_ABSOLUTE, + TCL_PATH_RELATIVE, + TCL_PATH_VOLUME_RELATIVE +} Tcl_PathType; + + +/* + * The following structure is used to pass glob type data amongst + * the various glob routines and Tcl_FSMatchInDirectory. + */ +typedef struct Tcl_GlobTypeData { + /* Corresponds to bcdpfls as in 'find -t' */ + int type; + /* Corresponds to file permissions */ + int perm; + /* Acceptable mac type */ + Tcl_Obj* macType; + /* Acceptable mac creator */ + Tcl_Obj* macCreator; +} Tcl_GlobTypeData; + +/* + * type and permission definitions for glob command + */ +#define TCL_GLOB_TYPE_BLOCK (1<<0) +#define TCL_GLOB_TYPE_CHAR (1<<1) +#define TCL_GLOB_TYPE_DIR (1<<2) +#define TCL_GLOB_TYPE_PIPE (1<<3) +#define TCL_GLOB_TYPE_FILE (1<<4) +#define TCL_GLOB_TYPE_LINK (1<<5) +#define TCL_GLOB_TYPE_SOCK (1<<6) +#define TCL_GLOB_TYPE_MOUNT (1<<7) + +#define TCL_GLOB_PERM_RONLY (1<<0) +#define TCL_GLOB_PERM_HIDDEN (1<<1) +#define TCL_GLOB_PERM_R (1<<2) +#define TCL_GLOB_PERM_W (1<<3) +#define TCL_GLOB_PERM_X (1<<4) + + +/* + * Typedefs for the various filesystem operations: + */ +typedef int (Tcl_FSStatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, Tcl_StatBuf *buf)); +typedef int (Tcl_FSAccessProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, int mode)); +typedef Tcl_Channel (Tcl_FSOpenFileChannelProc) + _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *pathPtr, + int mode, int permissions)); +typedef int (Tcl_FSMatchInDirectoryProc) _ANSI_ARGS_((Tcl_Interp* interp, + Tcl_Obj *result, Tcl_Obj *pathPtr, CONST char *pattern, + Tcl_GlobTypeData * types)); +typedef Tcl_Obj* (Tcl_FSGetCwdProc) _ANSI_ARGS_((Tcl_Interp *interp)); +typedef int (Tcl_FSChdirProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); +typedef int (Tcl_FSLstatProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + Tcl_StatBuf *buf)); +typedef int (Tcl_FSCreateDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); +typedef int (Tcl_FSDeleteFileProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); +typedef int (Tcl_FSCopyDirectoryProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, + Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr)); +typedef int (Tcl_FSCopyFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, + Tcl_Obj *destPathPtr)); +typedef int (Tcl_FSRemoveDirectoryProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + int recursive, Tcl_Obj **errorPtr)); +typedef int (Tcl_FSRenameFileProc) _ANSI_ARGS_((Tcl_Obj *srcPathPtr, + Tcl_Obj *destPathPtr)); +typedef void (Tcl_FSUnloadFileProc) _ANSI_ARGS_((Tcl_LoadHandle loadHandle)); +typedef Tcl_Obj* (Tcl_FSListVolumesProc) _ANSI_ARGS_((void)); +/* We have to declare the utime structure here. */ +struct utimbuf; +typedef int (Tcl_FSUtimeProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + struct utimbuf *tval)); +typedef int (Tcl_FSNormalizePathProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *pathPtr, int nextCheckpoint)); +typedef int (Tcl_FSFileAttrsGetProc) _ANSI_ARGS_((Tcl_Interp *interp, + int index, Tcl_Obj *pathPtr, + Tcl_Obj **objPtrRef)); +typedef CONST char** (Tcl_FSFileAttrStringsProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + Tcl_Obj** objPtrRef)); +typedef int (Tcl_FSFileAttrsSetProc) _ANSI_ARGS_((Tcl_Interp *interp, + int index, Tcl_Obj *pathPtr, + Tcl_Obj *objPtr)); +typedef Tcl_Obj* (Tcl_FSLinkProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + Tcl_Obj *toPtr, int linkType)); +typedef int (Tcl_FSLoadFileProc) _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj *pathPtr, + Tcl_LoadHandle *handlePtr, + Tcl_FSUnloadFileProc **unloadProcPtr)); +typedef int (Tcl_FSPathInFilesystemProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, + ClientData *clientDataPtr)); +typedef Tcl_Obj* (Tcl_FSFilesystemPathTypeProc) + _ANSI_ARGS_((Tcl_Obj *pathPtr)); +typedef Tcl_Obj* (Tcl_FSFilesystemSeparatorProc) + _ANSI_ARGS_((Tcl_Obj *pathPtr)); +typedef void (Tcl_FSFreeInternalRepProc) _ANSI_ARGS_((ClientData clientData)); +typedef ClientData (Tcl_FSDupInternalRepProc) + _ANSI_ARGS_((ClientData clientData)); +typedef Tcl_Obj* (Tcl_FSInternalToNormalizedProc) + _ANSI_ARGS_((ClientData clientData)); +typedef ClientData (Tcl_FSCreateInternalRepProc) _ANSI_ARGS_((Tcl_Obj *pathPtr)); + +typedef struct Tcl_FSVersion_ *Tcl_FSVersion; + +/* + *---------------------------------------------------------------- + * Data structures related to hooking into the filesystem + *---------------------------------------------------------------- + */ + +/* + * Filesystem version tag. This was introduced in 8.4. + */ +#define TCL_FILESYSTEM_VERSION_1 ((Tcl_FSVersion) 0x1) + +/* + * struct Tcl_Filesystem: + * + * One such structure exists for each type (kind) of filesystem. + * It collects together in one place all the functions that are + * part of the specific filesystem. Tcl always accesses the + * filesystem through one of these structures. + * + * Not all entries need be non-NULL; any which are NULL are simply + * ignored. However, a complete filesystem should provide all of + * these functions. The explanations in the structure show + * the importance of each function. + */ + +typedef struct Tcl_Filesystem { + CONST char *typeName; /* The name of the filesystem. */ + int structureLength; /* Length of this structure, so future + * binary compatibility can be assured. */ + Tcl_FSVersion version; + /* Version of the filesystem type. */ + Tcl_FSPathInFilesystemProc *pathInFilesystemProc; + /* Function to check whether a path is in + * this filesystem. This is the most + * important filesystem procedure. */ + Tcl_FSDupInternalRepProc *dupInternalRepProc; + /* Function to duplicate internal fs rep. May + * be NULL (but then fs is less efficient). */ + Tcl_FSFreeInternalRepProc *freeInternalRepProc; + /* Function to free internal fs rep. Must + * be implemented, if internal representations + * need freeing, otherwise it can be NULL. */ + Tcl_FSInternalToNormalizedProc *internalToNormalizedProc; + /* Function to convert internal representation + * to a normalized path. Only required if + * the fs creates pure path objects with no + * string/path representation. */ + Tcl_FSCreateInternalRepProc *createInternalRepProc; + /* Function to create a filesystem-specific + * internal representation. May be NULL + * if paths have no internal representation, + * or if the Tcl_FSPathInFilesystemProc + * for this filesystem always immediately + * creates an internal representation for + * paths it accepts. */ + Tcl_FSNormalizePathProc *normalizePathProc; + /* Function to normalize a path. Should + * be implemented for all filesystems + * which can have multiple string + * representations for the same path + * object. */ + Tcl_FSFilesystemPathTypeProc *filesystemPathTypeProc; + /* Function to determine the type of a + * path in this filesystem. May be NULL. */ + Tcl_FSFilesystemSeparatorProc *filesystemSeparatorProc; + /* Function to return the separator + * character(s) for this filesystem. Must + * be implemented. */ + Tcl_FSStatProc *statProc; + /* + * Function to process a 'Tcl_FSStat()' + * call. Must be implemented for any + * reasonable filesystem. + */ + Tcl_FSAccessProc *accessProc; + /* + * Function to process a 'Tcl_FSAccess()' + * call. Must be implemented for any + * reasonable filesystem. + */ + Tcl_FSOpenFileChannelProc *openFileChannelProc; + /* + * Function to process a + * 'Tcl_FSOpenFileChannel()' call. Must be + * implemented for any reasonable + * filesystem. + */ + Tcl_FSMatchInDirectoryProc *matchInDirectoryProc; + /* Function to process a + * 'Tcl_FSMatchInDirectory()'. If not + * implemented, then glob and recursive + * copy functionality will be lacking in + * the filesystem. */ + Tcl_FSUtimeProc *utimeProc; + /* Function to process a + * 'Tcl_FSUtime()' call. Required to + * allow setting (not reading) of times + * with 'file mtime', 'file atime' and + * the open-r/open-w/fcopy implementation + * of 'file copy'. */ + Tcl_FSLinkProc *linkProc; + /* Function to process a + * 'Tcl_FSLink()' call. Should be + * implemented only if the filesystem supports + * links (reading or creating). */ + Tcl_FSListVolumesProc *listVolumesProc; + /* Function to list any filesystem volumes + * added by this filesystem. Should be + * implemented only if the filesystem adds + * volumes at the head of the filesystem. */ + Tcl_FSFileAttrStringsProc *fileAttrStringsProc; + /* Function to list all attributes strings + * which are valid for this filesystem. + * If not implemented the filesystem will + * not support the 'file attributes' command. + * This allows arbitrary additional information + * to be attached to files in the filesystem. */ + Tcl_FSFileAttrsGetProc *fileAttrsGetProc; + /* Function to process a + * 'Tcl_FSFileAttrsGet()' call, used by + * 'file attributes'. */ + Tcl_FSFileAttrsSetProc *fileAttrsSetProc; + /* Function to process a + * 'Tcl_FSFileAttrsSet()' call, used by + * 'file attributes'. */ + Tcl_FSCreateDirectoryProc *createDirectoryProc; + /* Function to process a + * 'Tcl_FSCreateDirectory()' call. Should + * be implemented unless the FS is + * read-only. */ + Tcl_FSRemoveDirectoryProc *removeDirectoryProc; + /* Function to process a + * 'Tcl_FSRemoveDirectory()' call. Should + * be implemented unless the FS is + * read-only. */ + Tcl_FSDeleteFileProc *deleteFileProc; + /* Function to process a + * 'Tcl_FSDeleteFile()' call. Should + * be implemented unless the FS is + * read-only. */ + Tcl_FSCopyFileProc *copyFileProc; + /* Function to process a + * 'Tcl_FSCopyFile()' call. If not + * implemented Tcl will fall back + * on open-r, open-w and fcopy as + * a copying mechanism, for copying + * actions initiated in Tcl (not C). */ + Tcl_FSRenameFileProc *renameFileProc; + /* Function to process a + * 'Tcl_FSRenameFile()' call. If not + * implemented, Tcl will fall back on + * a copy and delete mechanism, for + * rename actions initiated in Tcl (not C). */ + Tcl_FSCopyDirectoryProc *copyDirectoryProc; + /* Function to process a + * 'Tcl_FSCopyDirectory()' call. If + * not implemented, Tcl will fall back + * on a recursive create-dir, file copy + * mechanism, for copying actions + * initiated in Tcl (not C). */ + Tcl_FSLstatProc *lstatProc; + /* Function to process a + * 'Tcl_FSLstat()' call. If not implemented, + * Tcl will attempt to use the 'statProc' + * defined above instead. */ + Tcl_FSLoadFileProc *loadFileProc; + /* Function to process a + * 'Tcl_FSLoadFile()' call. If not + * implemented, Tcl will fall back on + * a copy to native-temp followed by a + * Tcl_FSLoadFile on that temporary copy. */ + Tcl_FSGetCwdProc *getCwdProc; + /* + * Function to process a 'Tcl_FSGetCwd()' + * call. Most filesystems need not + * implement this. It will usually only be + * called once, if 'getcwd' is called + * before 'chdir'. May be NULL. + */ + Tcl_FSChdirProc *chdirProc; + /* + * Function to process a 'Tcl_FSChdir()' + * call. If filesystems do not implement + * this, it will be emulated by a series of + * directory access checks. Otherwise, + * virtual filesystems which do implement + * it need only respond with a positive + * return result if the dirName is a valid + * directory in their filesystem. They + * need not remember the result, since that + * will be automatically remembered for use + * by GetCwd. Real filesystems should + * carry out the correct action (i.e. call + * the correct system 'chdir' api). If not + * implemented, then 'cd' and 'pwd' will + * fail inside the filesystem. + */ +} Tcl_Filesystem; + +/* + * The following definitions are used as values for the 'linkAction' flag + * to Tcl_FSLink, or the linkProc of any filesystem. Any combination + * of flags can be given. For link creation, the linkProc should create + * a link which matches any of the types given. + * + * TCL_CREATE_SYMBOLIC_LINK: Create a symbolic or soft link. + * TCL_CREATE_HARD_LINK: Create a hard link. + */ +#define TCL_CREATE_SYMBOLIC_LINK 0x01 +#define TCL_CREATE_HARD_LINK 0x02 + +/* + * The following structure represents the Notifier functions that + * you can override with the Tcl_SetNotifier call. + */ +typedef struct Tcl_NotifierProcs { + Tcl_SetTimerProc *setTimerProc; + Tcl_WaitForEventProc *waitForEventProc; + Tcl_CreateFileHandlerProc *createFileHandlerProc; + Tcl_DeleteFileHandlerProc *deleteFileHandlerProc; + Tcl_InitNotifierProc *initNotifierProc; + Tcl_FinalizeNotifierProc *finalizeNotifierProc; + Tcl_AlertNotifierProc *alertNotifierProc; + Tcl_ServiceModeHookProc *serviceModeHookProc; +} Tcl_NotifierProcs; + + +/* + * The following structure represents a user-defined encoding. It collects + * together all the functions that are used by the specific encoding. + */ +typedef struct Tcl_EncodingType { + CONST char *encodingName; /* The name of the encoding, e.g. "euc-jp". + * This name is the unique key for this + * encoding type. */ + Tcl_EncodingConvertProc *toUtfProc; + /* Procedure to convert from external + * encoding into UTF-8. */ + Tcl_EncodingConvertProc *fromUtfProc; + /* Procedure to convert from UTF-8 into + * external encoding. */ + Tcl_EncodingFreeProc *freeProc; + /* If non-NULL, procedure to call when this + * encoding is deleted. */ + ClientData clientData; /* Arbitrary value associated with encoding + * type. Passed to conversion procedures. */ + int nullSize; /* Number of zero bytes that signify + * end-of-string in this encoding. This + * number is used to determine the source + * string length when the srcLen argument is + * negative. Must be 1 or 2. */ +} Tcl_EncodingType; + +/* + * The following definitions are used as values for the conversion control + * flags argument when converting text from one character set to another: + * + * TCL_ENCODING_START: Signifies that the source buffer is the first + * block in a (potentially multi-block) input + * stream. Tells the conversion procedure to + * reset to an initial state and perform any + * initialization that needs to occur before the + * first byte is converted. If the source + * buffer contains the entire input stream to be + * converted, this flag should be set. + * + * TCL_ENCODING_END: Signifies that the source buffer is the last + * block in a (potentially multi-block) input + * stream. Tells the conversion routine to + * perform any finalization that needs to occur + * after the last byte is converted and then to + * reset to an initial state. If the source + * buffer contains the entire input stream to be + * converted, this flag should be set. + * + * TCL_ENCODING_STOPONERROR: If set, then the converter will return + * immediately upon encountering an invalid + * byte sequence or a source character that has + * no mapping in the target encoding. If clear, + * then the converter will skip the problem, + * substituting one or more "close" characters + * in the destination buffer and then continue + * to sonvert the source. + */ +#define TCL_ENCODING_START 0x01 +#define TCL_ENCODING_END 0x02 +#define TCL_ENCODING_STOPONERROR 0x04 + + +/* + * The following data structures and declarations are for the new Tcl + * parser. + */ + +/* + * For each word of a command, and for each piece of a word such as a + * variable reference, one of the following structures is created to + * describe the token. + */ +typedef struct Tcl_Token { + int type; /* Type of token, such as TCL_TOKEN_WORD; + * see below for valid types. */ + CONST char *start; /* First character in token. */ + int size; /* Number of bytes in token. */ + int numComponents; /* If this token is composed of other + * tokens, this field tells how many of + * them there are (including components of + * components, etc.). The component tokens + * immediately follow this one. */ +} Tcl_Token; + +/* + * Type values defined for Tcl_Token structures. These values are + * defined as mask bits so that it's easy to check for collections of + * types. + * + * TCL_TOKEN_WORD - The token describes one word of a command, + * from the first non-blank character of + * the word (which may be " or {) up to but + * not including the space, semicolon, or + * bracket that terminates the word. + * NumComponents counts the total number of + * sub-tokens that make up the word. This + * includes, for example, sub-tokens of + * TCL_TOKEN_VARIABLE tokens. + * TCL_TOKEN_SIMPLE_WORD - This token is just like TCL_TOKEN_WORD + * except that the word is guaranteed to + * consist of a single TCL_TOKEN_TEXT + * sub-token. + * TCL_TOKEN_TEXT - The token describes a range of literal + * text that is part of a word. + * NumComponents is always 0. + * TCL_TOKEN_BS - The token describes a backslash sequence + * that must be collapsed. NumComponents + * is always 0. + * TCL_TOKEN_COMMAND - The token describes a command whose result + * must be substituted into the word. The + * token includes the enclosing brackets. + * NumComponents is always 0. + * TCL_TOKEN_VARIABLE - The token describes a variable + * substitution, including the dollar sign, + * variable name, and array index (if there + * is one) up through the right + * parentheses. NumComponents tells how + * many additional tokens follow to + * represent the variable name. The first + * token will be a TCL_TOKEN_TEXT token + * that describes the variable name. If + * the variable is an array reference then + * there will be one or more additional + * tokens, of type TCL_TOKEN_TEXT, + * TCL_TOKEN_BS, TCL_TOKEN_COMMAND, and + * TCL_TOKEN_VARIABLE, that describe the + * array index; numComponents counts the + * total number of nested tokens that make + * up the variable reference, including + * sub-tokens of TCL_TOKEN_VARIABLE tokens. + * TCL_TOKEN_SUB_EXPR - The token describes one subexpression of a + * expression, from the first non-blank + * character of the subexpression up to but not + * including the space, brace, or bracket + * that terminates the subexpression. + * NumComponents counts the total number of + * following subtokens that make up the + * subexpression; this includes all subtokens + * for any nested TCL_TOKEN_SUB_EXPR tokens. + * For example, a numeric value used as a + * primitive operand is described by a + * TCL_TOKEN_SUB_EXPR token followed by a + * TCL_TOKEN_TEXT token. A binary subexpression + * is described by a TCL_TOKEN_SUB_EXPR token + * followed by the TCL_TOKEN_OPERATOR token + * for the operator, then TCL_TOKEN_SUB_EXPR + * tokens for the left then the right operands. + * TCL_TOKEN_OPERATOR - The token describes one expression operator. + * An operator might be the name of a math + * function such as "abs". A TCL_TOKEN_OPERATOR + * token is always preceeded by one + * TCL_TOKEN_SUB_EXPR token for the operator's + * subexpression, and is followed by zero or + * more TCL_TOKEN_SUB_EXPR tokens for the + * operator's operands. NumComponents is + * always 0. + */ +#define TCL_TOKEN_WORD 1 +#define TCL_TOKEN_SIMPLE_WORD 2 +#define TCL_TOKEN_TEXT 4 +#define TCL_TOKEN_BS 8 +#define TCL_TOKEN_COMMAND 16 +#define TCL_TOKEN_VARIABLE 32 +#define TCL_TOKEN_SUB_EXPR 64 +#define TCL_TOKEN_OPERATOR 128 + +/* + * Parsing error types. On any parsing error, one of these values + * will be stored in the error field of the Tcl_Parse structure + * defined below. + */ +#define TCL_PARSE_SUCCESS 0 +#define TCL_PARSE_QUOTE_EXTRA 1 +#define TCL_PARSE_BRACE_EXTRA 2 +#define TCL_PARSE_MISSING_BRACE 3 +#define TCL_PARSE_MISSING_BRACKET 4 +#define TCL_PARSE_MISSING_PAREN 5 +#define TCL_PARSE_MISSING_QUOTE 6 +#define TCL_PARSE_MISSING_VAR_BRACE 7 +#define TCL_PARSE_SYNTAX 8 +#define TCL_PARSE_BAD_NUMBER 9 + +/* + * A structure of the following type is filled in by Tcl_ParseCommand. + * It describes a single command parsed from an input string. + */ +#define NUM_STATIC_TOKENS 20 + +typedef struct Tcl_Parse { + CONST char *commentStart; /* Pointer to # that begins the first of + * one or more comments preceding the + * command. */ + int commentSize; /* Number of bytes in comments (up through + * newline character that terminates the + * last comment). If there were no + * comments, this field is 0. */ + CONST char *commandStart; /* First character in first word of command. */ + int commandSize; /* Number of bytes in command, including + * first character of first word, up + * through the terminating newline, + * close bracket, or semicolon. */ + int numWords; /* Total number of words in command. May + * be 0. */ + Tcl_Token *tokenPtr; /* Pointer to first token representing + * the words of the command. Initially + * points to staticTokens, but may change + * to point to malloc-ed space if command + * exceeds space in staticTokens. */ + int numTokens; /* Total number of tokens in command. */ + int tokensAvailable; /* Total number of tokens available at + * *tokenPtr. */ + int errorType; /* One of the parsing error types defined + * above. */ + + /* + * The fields below are intended only for the private use of the + * parser. They should not be used by procedures that invoke + * Tcl_ParseCommand. + */ + + CONST char *string; /* The original command string passed to + * Tcl_ParseCommand. */ + CONST char *end; /* Points to the character just after the + * last one in the command string. */ + Tcl_Interp *interp; /* Interpreter to use for error reporting, + * or NULL. */ + CONST char *term; /* Points to character in string that + * terminated most recent token. Filled in + * by ParseTokens. If an error occurs, + * points to beginning of region where the + * error occurred (e.g. the open brace if + * the close brace is missing). */ + int incomplete; /* This field is set to 1 by Tcl_ParseCommand + * if the command appears to be incomplete. + * This information is used by + * Tcl_CommandComplete. */ + Tcl_Token staticTokens[NUM_STATIC_TOKENS]; + /* Initial space for tokens for command. + * This space should be large enough to + * accommodate most commands; dynamic + * space is allocated for very large + * commands that don't fit here. */ +} Tcl_Parse; + +/* + * The following definitions are the error codes returned by the conversion + * routines: + * + * TCL_OK: All characters were converted. + * + * TCL_CONVERT_NOSPACE: The output buffer would not have been large + * enough for all of the converted data; as many + * characters as could fit were converted though. + * + * TCL_CONVERT_MULTIBYTE: The last few bytes in the source string were + * the beginning of a multibyte sequence, but + * more bytes were needed to complete this + * sequence. A subsequent call to the conversion + * routine should pass the beginning of this + * unconverted sequence plus additional bytes + * from the source stream to properly convert + * the formerly split-up multibyte sequence. + * + * TCL_CONVERT_SYNTAX: The source stream contained an invalid + * character sequence. This may occur if the + * input stream has been damaged or if the input + * encoding method was misidentified. This error + * is reported only if TCL_ENCODING_STOPONERROR + * was specified. + * + * TCL_CONVERT_UNKNOWN: The source string contained a character + * that could not be represented in the target + * encoding. This error is reported only if + * TCL_ENCODING_STOPONERROR was specified. + */ +#define TCL_CONVERT_MULTIBYTE -1 +#define TCL_CONVERT_SYNTAX -2 +#define TCL_CONVERT_UNKNOWN -3 +#define TCL_CONVERT_NOSPACE -4 + +/* + * The maximum number of bytes that are necessary to represent a single + * Unicode character in UTF-8. The valid values should be 3 or 6 (or + * perhaps 1 if we want to support a non-unicode enabled core). + * If 3, then Tcl_UniChar must be 2-bytes in size (UCS-2). (default) + * If 6, then Tcl_UniChar must be 4-bytes in size (UCS-4). + * At this time UCS-2 mode is the default and recommended mode. + * UCS-4 is experimental and not recommended. It works for the core, + * but most extensions expect UCS-2. + */ +#ifndef TCL_UTF_MAX +#define TCL_UTF_MAX 3 +#endif + +/* + * This represents a Unicode character. Any changes to this should + * also be reflected in regcustom.h. + */ +#if TCL_UTF_MAX > 3 + /* + * unsigned int isn't 100% accurate as it should be a strict 4-byte + * value (perhaps wchar_t). 64-bit systems may have troubles. The + * size of this value must be reflected correctly in regcustom.h and + * in tclEncoding.c. + * XXX: Tcl is currently UCS-2 and planning UTF-16 for the Unicode + * XXX: string rep that Tcl_UniChar represents. Changing the size + * XXX: of Tcl_UniChar is /not/ supported. + */ +typedef unsigned int Tcl_UniChar; +#else +typedef unsigned short Tcl_UniChar; +#endif + + +/* + * Deprecated Tcl procedures: + */ +#ifndef TCL_NO_DEPRECATED +# define Tcl_EvalObj(interp,objPtr) \ + Tcl_EvalObjEx((interp),(objPtr),0) +# define Tcl_GlobalEvalObj(interp,objPtr) \ + Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL) +#endif + + +/* + * These function have been renamed. The old names are deprecated, but we + * define these macros for backwards compatibilty. + */ +#define Tcl_Ckalloc Tcl_Alloc +#define Tcl_Ckfree Tcl_Free +#define Tcl_Ckrealloc Tcl_Realloc +#define Tcl_Return Tcl_SetResult +#define Tcl_TildeSubst Tcl_TranslateFileName +#define panic Tcl_Panic +#define panicVA Tcl_PanicVA + + +/* + * The following constant is used to test for older versions of Tcl + * in the stubs tables. + * + * Jan Nijtman's plus patch uses 0xFCA1BACF, so we need to pick a different + * value since the stubs tables don't match. + */ + +#define TCL_STUB_MAGIC ((int)0xFCA3BACF) + +/* + * 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, although there is a trivial + * implementation in the main library in case an extension is statically + * linked into an application. + */ + +EXTERN CONST char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, + CONST char *version, int exact)); + +#ifndef USE_TCL_STUBS + +/* + * When not using stubs, make it a macro. + */ + +#define Tcl_InitStubs(interp, version, exact) \ + Tcl_PkgRequire(interp, "Tcl", version, exact) + +#endif + + +/* + * Include the public function declarations that are accessible via + * the stubs table. + */ + +#include "tclDecls.h" + +/* + * Include platform specific public function declarations that are + * accessible via the stubs table. + */ + +/* + * tclPlatDecls.h can't be included here on the Mac, as we need + * Mac specific headers to define the Mac types used in this file, + * but these Mac haders conflict with a number of tk types + * and thus can't be included in the globally read tcl.h + * This header was originally added here as a fix for bug 5241 + * (stub link error for symbols in TclPlatStubs table), as a work- + * around for the bug on the mac, tclMac.h is included immediately + * after tcl.h in the tcl precompiled header (with DLLEXPORT set). + */ + +#if !defined(MAC_TCL) +#include "tclPlatDecls.h" +#endif + +/* + * Public functions that are not accessible via the stubs table. + */ + +EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, + Tcl_AppInitProc *appInitProc)); + +/* + * Convenience declaration of Tcl_AppInit for backwards compatibility. + * This function is not *implemented* by the tcl library, so the storage + * class is neither DLLEXPORT nor DLLIMPORT + */ +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS + +EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); + +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLIMPORT + +#endif /* RC_INVOKED */ + +/* + * end block for C++ + */ +#ifdef __cplusplus +} +#endif + +#endif /* _TCL */ --- blt-2.4z.orig/debian/makeindex.csh +++ blt-2.4z/debian/makeindex.csh @@ -0,0 +1,28 @@ +#!/bin/csh + +foreach ocode ( 00 8.0 ) + if ( $ocode == "00" ) then + set ofile = blt-index.html + set title = "BLT" + else + set ofile = blt$ocode-index.html + set title = "BLT$ocode" + endif + rm -f $ofile + + echo '' > $ofile + echo '' >> $ofile + echo ''$title' Command Information' >> $ofile + echo '' >> $ofile + echo '' >> $ofile + echo '

Table of Contents

' >> $ofile + echo ' ' >> $ofile + echo '
    ' >> $ofile + foreach name ( `cd ../html; ls *.html` ) + if ( "$name" != "BLT.html" ) then + echo '
  • '$name:r'' >> $ofile + endif + end + echo '
' >> $ofile + echo '' >> $ofile +end --- blt-2.4z.orig/debian/blt-demo.dirs +++ blt-2.4z/debian/blt-demo.dirs @@ -0,0 +1 @@ +usr/share/blt2.4/demos --- blt-2.4z.orig/debian/blt.dirs +++ blt-2.4z/debian/blt.dirs @@ -0,0 +1,5 @@ +usr/lib +usr/lib/blt2.4 +usr/share/doc/blt/html +usr/share/doc-base/ +usr/share/man/man3 --- blt-2.4z.orig/debian/blt-dev.links +++ blt-2.4z/debian/blt-dev.links @@ -0,0 +1,4 @@ +usr/lib/libBLT.2.4.so.8.5 usr/lib/libBLT.so +usr/lib/libBLT.2.4.8.5.a usr/lib/libBLT.a +usr/lib/libBLTlite.2.4.so.8.5 usr/lib/libBLTlite.so +usr/lib/libBLTlite.2.4.8.5.a usr/lib/libBLTlite.a --- blt-2.4z.orig/debian/watch +++ blt-2.4z/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/blt/BLT(.+)\.tar\.gz --- blt-2.4z.orig/debian/blt.doc-base +++ blt-2.4z/debian/blt.doc-base @@ -0,0 +1,9 @@ +Document: blt +Title: blt - Tk extensions +Author: Gordon Russell +Abstract: An overview of the blt command set. +Section: Programming + +Format: HTML +Index: /usr/share/doc/blt/html/blt-index.html +Files: /usr/share/doc/blt/html/*.html --- blt-2.4z.orig/debian/blt-demo.files +++ blt-2.4z/debian/blt-demo.files @@ -0,0 +1 @@ +usr/share/blt2.4 --- blt-2.4z.orig/debian/blt.docs +++ blt-2.4z/debian/blt.docs @@ -0,0 +1,4 @@ +NEWS +PROBLEMS +README +html --- blt-2.4z.orig/debian/changelog +++ blt-2.4z/debian/changelog @@ -0,0 +1,451 @@ +blt (2.4z-5) unstable; urgency=low + + * QA Upload. + * Change maintainer to QA Group. + * Apply patch by Peter Pearse to enable cross-building. + Closes: #616046 + * debian/ cleanup: + - Bump debhelper compat to 9 + - Remove Conflicts and Replaces for packages not + in oldstable (that is all of them) + - Use dpkg-buildflags + - Add watch file + + -- Frank Lichtenheld Sat, 08 Dec 2012 23:12:32 +0100 + +blt (2.4z-4.2) unstable; urgency=low + + * Non-maintainer upload. + * Add tcl8.5 check in library/pkgIndex.tcl.in. (Closes: #525860). + + Thanks to Bill Metzenthen for the fix. + * Update config.sub,config.guess files. (Closes: #536409). + * Fix section and typo in blt.doc-base. + * Move Homepage from package descriptions to source stanza. + * Make clean not ignore errors. + * Replace deprecated ${Source-Version} with ${binary:Version}. + + -- Barry deFreese Fri, 04 Dec 2009 09:28:09 -0500 + +blt (2.4z-4.1) unstable; urgency=low + + * NMU (needed to build python-tk against tk8.5). + * Based on the patch made in Ubuntu: + - Build for tk8.5, drop the tk8.3 build, still keep the build for + tk8.4. Closes: #473006. + - debian/control: Drop {tcl,tk}8.3 dependencies, add {tcl,tk}8.5 + dependencies. + - debian/rules: Do not build the library for Tcl 8.3. + - debian/hackshlibs: Do not try to mangle 8.3 libraries. + - Apply patch from Fedora to build with tk8.5. + * In dh_makeshlibs bump the version to 2.4z-4.1, first version providing + tk8.5 libs. + * Fix typos in hiertable and treeview man pages. Closes: #350362, #350363. + + -- Matthias Klose Sat, 28 Feb 2009 17:00:25 +0100 + +blt (2.4z-4) unstable; urgency=low + + * Remove dependencies (and build-dependencies) on now-obsolete tcl/tk + 8.0 packages. + * Added new. up-to-date config.{sub,guess} files (closes: #342393). + * Added a README.Debian file, and mentioned the lack of "bltwish" (and + how to cope) in there (closes: #304805). + * Fixed numerous typos in the man pages, as found and reported by A + Costa (closes: #310361, #310362, #310363, #310364, #310366, #310367), + (closes: #310369, #310370, #310372, #310374, #310377, #326522). Also + fixed the corresponding typos in the HTML docs. + + -- Chris Waters Sat, 28 Jan 2006 18:20:07 -0800 + +blt (2.4z-3) unstable; urgency=low + + * Tighten up -dev package dependency on blt, for extra safety in + future. + * Added -D_REENTRANT to CFLAGS for that extra, tasty bit of policy + compliance. + * Completely rewrote the package descriptions; they are now shorter, + more descriptive, and contain far fewer grammar and spelling errors, + (closes: #204553). + * Moved the man pages and HTML docs for the BLT commands from the + blt-dev package to the blt package, where they really belong. Left + just the man pages for the BLT C API calls in the blt-dev package. + Renamed the command man pages to have the extension .3blt (I wanted to + use .3tcl, but that caused a conflict with the tcllib package). + * Wrote a handy, but very hackish, script to generate a shlibs.local + file with the very special dependencies needed by blt. Among other + things, the script puts tcl8.4 first on the list of tcl alternatives. + The script also generates tk dependencies, in the same way, so blt + finally depends on tk8.x, as it really should have all along + (closes: #257571, #257572). + * Changed the blt-demo package to Arch: all, as it only contains scripts + and images. Also moved all the scripts to /usr/share so I no longer + need symlinks to the image directories which had previously been + moved to /usr/share. + * Removed the blt-common package, as it's no longer needed. There's + only the one BLT package left since blt8.0 was removed. + * Switched to using the handy $INSTALL_ROOT variable provided by the + upstream makefiles, which made things much simpler, but required some + tiny patching in Makefile.in and library/Makefile.in. + * Did some cleanup of debian/*, removing old, unused cruft. + + -- Chris Waters Thu, 8 Jul 2004 18:02:53 -0700 + +blt (2.4z-2) unstable; urgency=low + + * Added build-conflicts with tk8.0-dev (closes: #195868). + + -- Chris Waters Fri, 6 Jun 2003 01:42:59 -0700 + +blt (2.4z-1) unstable; urgency=low + + * New maintainer (closes: #162857). + * Stripped out support for obsolete 8.2 version of tcl/tk. + * Moved (most) images to /usr/share to satisfy lintian. + * Moved treeview bitmaps to blt-common where they can be a little more + useful (closes: #191646). Added appropriate conflicts. + + -- Chris Waters Mon, 12 May 2003 23:28:58 -0700 + +blt (2.4z-0.3) unstable; urgency=low + + * Install bltPool.h, bltList.h and bltBind.h (closes: #185855). + + -- Stefan Schimanski Wed, 2 Apr 2003 16:23:54 +0200 + +blt (2.4z-0.2) unstable; urgency=low + + * src/bltTree.c: define START_LOGSIZE and MAX_LIST_VALUES for + 64bit architectures (closes: #169559). Thanks to Chris Chimelis. + + -- Matthias Klose Fri, 22 Nov 2002 20:38:50 +0100 + +blt (2.4z-0.1) unstable; urgency=low + + * NMU for orphaned package. + * Change maintainer to Debian QA. + * Drop blt8.0 package. + * Add support for tk8.4. + * debian/copyright: Correct URL (closes: #162549). + * Install bltHash.h header (closes: #161051). + + -- Matthias Klose Sun, 17 Nov 2002 10:21:48 +0100 + +blt (2.4y-1) unstable; urgency=low + + * New upstream version. + o I do not actually use blt, but I used to and my rather small testset + seems to work on this package. Happy to receive testing feedback. + o stubs still not supported upstream + o dynamic libraries do not have the full dependencies (fixed). Hope I + understood shared library dependencies correctly and it is the upstream + maintainer who is wrong rather than me! + o still use DEBIAN code to support different tcl/tk combinations of + run-time conditions. + o still some lintian problems initially with rpath and executables + (fixed in package). + o lintian complains that the shlib control file has duplicate + entries, even though the major numbers are different. For simplicity + I only show the 8.3 linkages to make lintian happy, but this is + probably the wrong solution, and is probably a lintian error. But + to be honest I never understood shlib control function so I do not + know if I am right or not. If you are having problems with this part + of blt let me know. + (closes: #150425) + * Move the doc-base entries to Apps/Programming, as per the + advice of Ben Burton + (closes: #112351) + * Fails to build on the HURD. + Somehow I never noticed this email until now, so sorry for the delay + Anyway, the patch is now added - hope this works out for all the HURD + users. + (closes: #143349) + * A problem with vectors was reported as a bug. Happily this problem does + not occur with this latest version of BLT. + (closes: #133569) + + -- Gordon Russell Sun, 23 Jun 2002 17:02:07 +0100 + +blt (2.4u-7) unstable; urgency=low + + * Problem reported in the shlibs file. I had created this file by hand due + to problems which existed somewhere but are now long forgotten. I have + changed the mechanism back to the dh_ approach. + (closes: #131356) + * For no strong reason I have removed the circular dependencies from the + control file. You man now install blt-common on its own if you wish. + (closes: #128413) + * Added blt8.0 to the conflicts line of blt, even though blt provides + blt8.0. I am sure I had this originally but this was against the policy. + Hope it is ok this time. + (closes: #132761) + * Lintian fixes: fixed config/ldconfig issue, removed emacs settings from + changelog file, removed duplicate relation in blt-dev control. Lintian + still reports problems with shlibs file. I hope I have got it right this + time. + + -- Gordon Russell Tue, 29 Jan 2002 10:18:48 +0000 + +blt (2.4u-6) unstable; urgency=low + + * Complain that in strict interpretation of the policy document could + mean that the priority of the package should be extra rather than optional. + Thus the package is now "extra". + (closes: #110117) + + -- Gordon Russell Mon, 3 Sep 2001 12:45:31 +0100 + +blt (2.4u-5) unstable; urgency=high + + * Build failure on hppa (at least) - + This failure was caused by problems in using autoconf, namely the updating + of config.sub and config.guess. I have added in a build dependency + for autotools-dev which should solve this problem, and a change to make + use of this in the rules file. + Other architectures should not notice any changes. + (closes: #104637) + + -- Gordon Russell Tue, 7 Aug 2001 13:13:30 +0100 + +blt (2.4u-4) unstable; urgency=high + + * The new version of debhelper now considers substvars to be an "internal" + file, even though it is mentioned explicitly in the man pages for the + command. Rather than reassign this to debhelper and get into a discusion + concerning backward compatibility, I have engineered a work-around for the + problem completely avoiding substvars, but instead accessing the + DEBIAN/control file directly. It seems to work... and in fact was probably + a good thing as I detected an error in the dependencies while poking around + in the control file which is also fixed as a side-effect. Of course what + I am doing is probably a Bad Thing (TM) anyway, but until I am caught... + (closes: #100831) + + -- Gordon Russell Mon, 18 Jun 2001 17:14:25 +0100 + +blt (2.4u-3) unstable; urgency=low + + * Apparently dpkg/apt dies on some spaces in the dependency list for the + package. Bugs have been reported but I understand the BTS is down at + them moment... + closes - Peter Davis, Olivier Thereaux + + -- Gordon Russell Wed, 6 Jun 2001 13:49:26 +0100 + +blt (2.4u-2) unstable; urgency=low + + * Forgot to include bltVector.h, bltTree.h, and bltChain.h. + (closes: #92081) + * Forgot ALL the include files in blt8.0-dev. + * Remove configure.old when producing a source diff. Saves + tons of space in the diff file. + * Had to add some hacks to ths shlib creation algorithm to prevent + lintian moaning that there were duplicate entries. I am not + 100% certain that my fix is proper shlib format information, so + if you have subsequent problems working out automatic shlib + dependences let me know. + + -- Gordon Russell Thu, 29 Mar 2001 13:31:33 +0100 + +blt (2.4u-1) unstable; urgency=high + + * removed blt8.0 from the package collection. The various library + dependencies are handled automatically by BLT now. + * New upstream release 2.4u. + (closes: #69015) + * moods needs a BLT compatible with tk8.3 (a critical bug), + so I need to release + a new version. This is also a new upstream version of BLT. It promices + eventual support of tcl stubs, which will allow blt to be compatible to + any version of tcl beyond 8.3 without having to have separate libraries. + In the meantime we will just have to use the script provided for Debian + which dynamically loads in the correct version at run-time. + This is a complicated package so please test this on your own applications. + (closes: #89520) + * BLT upstream support for stubs is comming soon (next release apparently), + but will apparently be for tcl8.3 and above. The problem requiring + stub support is tackled in this release in a different way, and stubs will + be added afterwards. + (closes: #61946) + + + -- Gordon Russell Wed, 14 Mar 2001 09:20:12 +0000 + +blt (2.4o-1) unstable; urgency=low + + * New upstead version + * Some updates got wrongly inserted into an older version of blt. This + release brings everything up to date. + * Added in support for a tcl/tk 8.3 library build. However, blt does not + work with 8.3 yet, and will simply generate a library error at run-time. + However, this addition will at least prevent blt programs core-dumping due to + accidentally using 8.3. + + -- Gordon Russell Wed, 15 Mar 2000 11:34:58 +0000 + +blt (2.4n-1) unstable; urgency=low + + * New upstream version. + New way using TCL_EXEC_PREFIX to find the tk/tcl 8.0 build hack was needed. + + -- Gordon Russell Fri, 4 Feb 2000 13:17:12 +0000 + +blt (2.4m-2) unstable; urgency=low + + * There was once a package called blt8.0, which I used to manage. For some + reason I thought that this would not be a problem. Unfortunately, if + you still had that package and upgraded to the new blt8.0, things + fall over. I am not sure if this fix will solve everything, but it + should help. + (closes: #51132) + + -- Gordon Russell Wed, 24 Nov 1999 09:59:12 +0000 + +blt (2.4m-1) unstable; urgency=low + + * New upstream version. + * Added in Build-Depends (standards-version 3.1.0.0) + * Removed copyright, changelog, and README.Debian explicit stuff from + debian/rules, as this is already done by debhelper routines. + + -- Gordon Russell Mon, 8 Nov 1999 11:20:47 +0000 + +blt (2.4l-2) unstable; urgency=low + + * blt-dev is still dependent on tk8.0-dev and tcl8.0-dev. This should have + been tk8.2-dev and tcl8.2-dev. This version now uses package names + blt8.0 and blt8.0-dev, so these packages no longer are replaced by + blt and blt-dev. + * Changed to debhelper from debstd (the rules file was just getting too + complicated to understand). + * added three new packages, blt-common, blt8.0 and blt8.0-dev. + This was necessary as I have two conflicting requirements from + package users + - Link to the latest tk/tcl libraries (eg 8.2) + - have a stable version of the blt library (eg link to tk/tcl 8.0) + Linking to 8.2 has resulted in a much poorer blt environment filled + with unexplained runtime bugs. Thus, blt8.0 and blt8.0-dev are + identical to blt and blt-dev, but are linked to tk/tcl 8.0. The new + packages are linked to the latest tk/tcl versions. + blt8.0-dev conflicts with blt-dev. The common parts of packages + blt8.0 and blt have been split out into blt-common. This makes for quite + a lot of packages for blt... Sorry about that. + + If reliability is your keyword, change alternatives so that you always + use wish8.0 and tclsh8.0 by default, and make sure you have tk/tcl8.0 + runtime libraries. + + Note that for library naming restrictions, libBLT.2.4.so.8.2 is linked + with the latest tcl/tk libraries, while libBLT.2.4.so.8.0 is always linked + to a stable tcl/tk 8.0 where everything seems to work. For development, + libBLT8.0.so is a link to the blt linked to tk8.0, and libBLT8.2.so for + tk8.2. + (closes: #46920) + * changed pkgIndex to select dynamically either blt for tk8.2 or 8.0 + depending on which wish was in use. Thus making the new library naming + scheme invisible for scripts. + * this package must have tk8.0, tk8.2, tcl8.0, tcl8.2, tk8.2-dev, tcl8.2-dev + installed to build from source. tk8.0-dev and tcl8.0-dev are not required, + and are instead emulated internally. + + -- Gordon Russell Tue, 2 Nov 1999 12:54:08 +0000 + +blt (2.4l-1) unstable; urgency=low + + * New upstream version. + + -- Gordon Russell Mon, 1 Nov 1999 14:42:51 +0000 + +blt (2.4j-2) unstable; urgency=low + + * Changed linkage from tk8.0 to 8.2 + (closes: #46670) + * Added in the missing link from .so.2 to .so.2.4. Actually, it was there, + but the script said major_version, rather than version_major. + (closes: #46672) + + -- Gordon Russell Tue, 5 Oct 1999 10:34:40 +0100 + +blt (2.4j-1) unstable; urgency=low + + * New upstream version + * Took the (now rather large) demo scripts out of blt-dev and into a new + package (blt-demo) + * bltwish now does not exist. Better to use wish, and then + package require BLT (saves 610KBytes). + * rules file updated, and new pre/post scripts inserted to handle /usr/doc + * this is probably the last release before converting to tk8.2 + * first pass at using doc-dbase. + + -- Gordon Russell Tue, 28 Sep 1999 16:09:16 +0100 + +blt (2.4i-3) unstable; urgency=low + + * Forgot to update the /etc/alternatives to reflect that the man pages + are in /usr/share/man. + (closes: #44748) + + -- Gordon Russell Fri, 10 Sep 1999 10:42:54 +0100 + +blt (2.4i-2) unstable; urgency=low + + * Discovered that --force-overwrite is turned off during "unstable periods" + to catch people doing what I did in 2.4i-1. Added the necessary fixes to + debian/control. + (closes: #44126) + + -- Gordon Russell Mon, 6 Sep 1999 13:18:48 +0100 + +blt (2.4i-1) unstable; urgency=low + + * New upstream version (2.4i) + * /usr/lib/blt2.4/tclIndex moved from blt-dev to blt + (closes: #43336) + * Library properly renamed from libBLT24.so to libBLT.so.2.4 + (closes: #43333,#43164) + * static library moved from blt to blt-dev package + * unfortunately all these changes mean that you must use --force-overwrite + to update the packages (there are cross-overwrites) + + -- Gordon Russell Tue, 31 Aug 1999 09:33:05 +0100 + +blt (2.4h-2) unstable; urgency=low + + * Removed "task" which was a silly little file floating around in the + source directory which I created accidentally... + + -- Gordon Russell Fri, 21 May 1999 14:58:23 +0100 + +blt (2.4h-1) unstable; urgency=low + + * Welcome to a new release of blt, under the blt package name, rather + than all that silly blt8.0/blt4.2 package naming. Hope this makes + things much easier to understand... + + -- Gordon Russell Fri, 21 May 1999 08:23:13 +0100 + +blt8.0 (2.4f-3) unstable; urgency=low + + * Bug #26652 - Added a conflict for blt8.0-unoff. + + -- Gordon Russell Mon, 14 Sep 1998 10:39:11 +0100 + +blt8.0 (2.4f-2) unstable; urgency=low + + * Due to complexities in managing the possibility of both blt4.2 and blt8.0 + being present simultaneously, I have changed the blt8.0 approach so that + only blt8.0+ will provide BLT2.4f and beyond. Hopefully, blt4.2 will + quietly be dropped. This makes the control file simpler. + * David Engel has made some comments which have been encorporated in this + release: + o only blt8.0 will use libBLT.so.2.4 and beyond. + o the /usr/lib/blt2.4 directory is needed in blt8.0, although + the demo scripts remain in blt8.0-dev + o bltwish is provided as both bltwish and bltwish2.4, for consistency + with other distributions. + + -- Gordon Russell Thu, 10 Sep 1998 14:28:10 +0100 + +blt8.0 (2.4f-1) unstable; urgency=low + + * Initial release + + -- Gordon Russell Tue, 8 Sep 1998 14:19:08 +0100 --- blt-2.4z.orig/debian/tcltk8.5.diff +++ blt-2.4z/debian/tcltk8.5.diff @@ -0,0 +1,734 @@ +--- ./Makefile.in.orig 2008-07-11 17:59:24.000000000 +0200 ++++ ./Makefile.in 2008-07-11 18:30:17.000000000 +0200 +@@ -72,4 +72,8 @@ + config.status config.cache config.log Makefile + + distclean: clean ++ (cd src; $(MAKE) distclean) ++ (cd library; $(MAKE) distclean) ++ (cd man; $(MAKE) distclean) ++ (cd demos; $(MAKE) distclean) + $(RM) $(GENERATED_FILES) +--- ./win/makedefs.orig 2002-10-16 07:33:53.000000000 +0200 ++++ ./win/makedefs 2008-07-11 18:30:17.000000000 +0200 +@@ -3,33 +3,13 @@ + + v1 = 8.4 + v2 = 84 +-v3 = 8.4.0 +- +-#v1 = 8.3 +-#v2 = 83 +-#v3 = 8.3.4 +- +-#v1 = 8.3 +-#v2 = 83 +-#v3 = 8.3.2 +- +-#v1 = 8.2 +-#v2 = 82 +-#v3 = 8.2.3 +- +-#v1 = 8.1 +-#v2 = 81 +-#v3 = 8.1.1 +- +-#v1 = 8.0 +-#v2 = 80 +-#v3 = 8.0.5 ++v3 = 8.4.12 + + #Use Independent JPEG Group (IJG) library or Intel JPEG Library (IJL) + # 0 = None. + # 1 = IJG + # 2 = IJL +-WITH_JPEG=2 ++WITH_JPEG=0 + + # ------------------------------------------------------------------------ + # You shouldn't need to edit anything beyond this point +@@ -39,7 +19,7 @@ + BLT_MINOR_VERSION = 4 + BLT_VERSION = 2.4 + +-prefix = C:/Program\ Files/Tcl ++prefix = x:/target/staff/koen/install/tcltk8.4.12/WIN + exec_prefix = $(prefix) + includedir = $(prefix)/include + bindir = $(prefix)/bin +--- ./src/bltGrMarker.c.orig 2002-09-19 00:30:51.000000000 +0200 ++++ ./src/bltGrMarker.c 2008-07-11 18:30:17.000000000 +0200 +@@ -1061,10 +1061,12 @@ + Graph *graphPtr; + Extents2D *extsPtr; + { ++/* + assert(extsPtr->right >= extsPtr->left); + assert(extsPtr->bottom >= extsPtr->top); + assert(graphPtr->right >= graphPtr->left); + assert(graphPtr->bottom >= graphPtr->top); ++*/ + + return (((double)graphPtr->right < extsPtr->left) || + ((double)graphPtr->bottom < extsPtr->top) || +--- ./src/Makefile.in.orig 2008-07-11 17:59:24.000000000 +0200 ++++ ./src/Makefile.in 2008-07-11 18:30:17.000000000 +0200 +@@ -230,7 +230,8 @@ + + distclean: clean + $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* Makefile +- $(RM) bltConfig.h Makefile TAGS ++ $(RM) bltConfig.h bltHash.h Makefile TAGS ++ (cd shared; $(MAKE) distclean) + + .c.o: + $(CC) -c $(CC_SWITCHES) $< +--- ./src/bltWindow.c.orig 2002-09-19 05:02:09.000000000 +0200 ++++ ./src/bltWindow.c 2008-07-11 18:30:17.000000000 +0200 +@@ -89,9 +89,9 @@ + + typedef struct TkDisplayStruct { + Display *display; /* Xlib's info about display. */ +- struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */ +- char *name; /* Name of display (with any screen +- * identifier removed). Malloc-ed. */ ++ struct TkDisplay *nextPtr; /* Next in list of all displays. */ ++ char *name; /* Name of display (with any screen identifier ++ * removed). Malloc-ed. */ + Time lastEventTime; /* Time of last event received for this + * display. */ + +@@ -107,8 +107,8 @@ + * Information used by tkAtom.c only: + */ + +- int atomInit; /* 0 means stuff below hasn't been +- * initialized yet. */ ++ int atomInit; /* 0 means stuff below hasn't been initialized ++ * yet. */ + Tcl_HashTable nameTable; /* Maps from names to Atom's. */ + Tcl_HashTable atomTable; /* Maps from Atom's back to names. */ + +@@ -116,27 +116,26 @@ + * Information used primarily by tkBind.c: + */ + +- int bindInfoStale; /* Non-zero means the variables in this +- * part of the structure are potentially +- * incorrect and should be recomputed. */ ++ int bindInfoStale; /* Non-zero means the variables in this part ++ * of the structure are potentially incorrect ++ * and should be recomputed. */ + unsigned int modeModMask; /* Has one bit set to indicate the modifier +- * corresponding to "mode shift". If no +- * such modifier, than this is zero. */ ++ * corresponding to "mode shift". If no such ++ * modifier, than this is zero. */ + unsigned int metaModMask; /* Has one bit set to indicate the modifier +- * corresponding to the "Meta" key. If no +- * such modifier, then this is zero. */ ++ * corresponding to the "Meta" key. If no such ++ * modifier, then this is zero. */ + unsigned int altModMask; /* Has one bit set to indicate the modifier +- * corresponding to the "Meta" key. If no +- * such modifier, then this is zero. */ +- enum { +- LU_IGNORE, LU_CAPS, LU_SHIFT +- } lockUsage; /* Indicates how to interpret lock modifier. */ ++ * corresponding to the "Meta" key. If no such ++ * modifier, then this is zero. */ ++ enum {LU_IGNORE, LU_CAPS, LU_SHIFT} lockUsage; ++ /* Indicates how to interpret lock ++ * modifier. */ + int numModKeyCodes; /* Number of entries in modKeyCodes array + * below. */ +- KeyCode *modKeyCodes; /* Pointer to an array giving keycodes for +- * all of the keys that have modifiers +- * associated with them. Malloc'ed, but +- * may be NULL. */ ++ KeyCode *modKeyCodes; /* Pointer to an array giving keycodes for all ++ * of the keys that have modifiers associated ++ * with them. Malloc'ed, but may be NULL. */ + + /* + * Information used by tkBitmap.c only: +@@ -150,10 +149,10 @@ + Tcl_HashTable bitmapIdTable;/* Maps from bitmap id to the TkBitmap + * structure for the bitmap. */ + Tcl_HashTable bitmapDataTable; +- /* Used by Tk_GetBitmapFromData to map from +- * a collection of in-core data about a +- * bitmap to a reference giving an auto- +- * matically-generated name for the bitmap. */ ++ /* Used by Tk_GetBitmapFromData to map from a ++ * collection of in-core data about a bitmap ++ * to a reference giving an automatically- ++ * generated name for the bitmap. */ + + /* + * Information used by tkCanvas.c only: +@@ -167,9 +166,9 @@ + */ + + int colorInit; /* 0 means color module needs initializing. */ +- TkStressedCmap *stressPtr; /* First in list of colormaps that have +- * filled up, so we have to pick an +- * approximate color. */ ++ TkStressedCmap *stressPtr; /* First in list of colormaps that have filled ++ * up, so we have to pick an approximate ++ * color. */ + Tcl_HashTable colorNameTable; + /* Maps from color name to TkColor structure + * for that color. */ +@@ -192,34 +191,33 @@ + /* Maps from a cursor id to the TkCursor + * structure for the cursor. */ + char cursorString[20]; /* Used to store a cursor id string. */ +- Font cursorFont; /* Font to use for standard cursors. +- * None means font not loaded yet. */ ++ Font cursorFont; /* Font to use for standard cursors. None ++ * means font not loaded yet. */ + + /* + * Information used by tkError.c only: + */ + + struct TkErrorHandler *errorPtr; +- /* First in list of error handlers +- * for this display. NULL means +- * no handlers exist at present. */ +- int deleteCount; /* Counts # of handlers deleted since +- * last time inactive handlers were +- * garbage-collected. When this number +- * gets big, handlers get cleaned up. */ ++ /* First in list of error handlers for this ++ * display. NULL means no handlers exist at ++ * present. */ ++ int deleteCount; /* Counts # of handlers deleted since last ++ * time inactive handlers were garbage- ++ * collected. When this number gets big, ++ * handlers get cleaned up. */ + + /* + * Used by tkEvent.c only: + */ + + struct TkWindowEvent *delayedMotionPtr; +- /* Points to a malloc-ed motion event +- * whose processing has been delayed in +- * the hopes that another motion event +- * will come along right away and we can +- * merge the two of them together. NULL +- * means that there is no delayed motion +- * event. */ ++ /* Points to a malloc-ed motion event whose ++ * processing has been delayed in the hopes ++ * that another motion event will come along ++ * right away and we can merge the two of them ++ * together. NULL means that there is no ++ * delayed motion event. */ + + /* + * Information used by tkFocus.c only: +@@ -229,18 +227,16 @@ + * statistics. */ + struct TkWindow *implicitWinPtr; + /* If the focus arrived at a toplevel window +- * implicitly via an Enter event (rather +- * than via a FocusIn event), this points +- * to the toplevel window. Otherwise it is +- * NULL. */ ++ * implicitly via an Enter event (rather than ++ * via a FocusIn event), this points to the ++ * toplevel window. Otherwise it is NULL. */ + struct TkWindow *focusPtr; /* Points to the window on this display that + * should be receiving keyboard events. When + * multiple applications on the display have +- * the focus, this will refer to the +- * innermost window in the innermost +- * application. This information isn't used +- * under Unix or Windows, but it's needed on +- * the Macintosh. */ ++ * the focus, this will refer to the innermost ++ * window in the innermost application. This ++ * information isn't used under Unix or ++ * Windows, but it's needed on the Mac. */ + + /* + * Information used by tkGC.c only: +@@ -258,23 +254,22 @@ + + Tcl_HashTable maintainHashTable; + /* Hash table that maps from a master's +- * Tk_Window token to a list of slaves +- * managed by that master. */ ++ * Tk_Window token to a list of slaves managed ++ * by that master. */ + int geomInit; + + /* + * Information used by tkGet.c only: + */ + +- Tcl_HashTable uidTable; /* Stores all Tk_Uids used in a thread. */ ++ Tcl_HashTable uidTable; /* Stores all Tk_Uid used in a thread. */ + int uidInit; /* 0 means uidTable needs initializing. */ + + /* + * Information used by tkGrab.c only: + */ + +- struct TkWindow *grabWinPtr; +- /* Window in which the pointer is currently ++ struct TkWindow *grabWinPtr;/* Window in which the pointer is currently + * grabbed, or NULL if none. */ + struct TkWindow *eventualGrabWinPtr; + /* Value that grabWinPtr will have once the +@@ -287,15 +282,15 @@ + struct TkWindow *serverWinPtr; + /* If no application contains the pointer then + * this is NULL. Otherwise it contains the +- * last window for which we've gotten an +- * Enter or Leave event from the server (i.e. +- * the last window known to have contained +- * the pointer). Doesn't reflect events +- * that were synthesized in tkGrab.c. */ ++ * last window for which we've gotten an Enter ++ * or Leave event from the server (i.e. the ++ * last window known to have contained the ++ * pointer). Doesn't reflect events that were ++ * synthesized in tkGrab.c. */ + TkGrabEvent *firstGrabEventPtr; + /* First in list of enter/leave events +- * synthesized by grab code. These events +- * must be processed in order before any other ++ * synthesized by grab code. These events must ++ * be processed in order before any other + * events are processed. NULL means no such + * events. */ + TkGrabEvent *lastGrabEventPtr; +@@ -309,8 +304,8 @@ + */ + + int gridInit; /* 0 means table below needs initializing. */ +- Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to +- * corresponding Grid structures. */ ++ Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to corresponding ++ * Grid structures. */ + + /* + * Information used by tkImage.c only: +@@ -328,17 +323,14 @@ + * Information used by tkOption.c only. + */ + +- +- + /* + * Information used by tkPack.c only. + */ + + int packInit; /* 0 means table below needs initializing. */ + Tcl_HashTable packerHashTable; +- /* Maps from Tk_Window tokens to +- * corresponding Packer structures. */ +- ++ /* Maps from Tk_Window tokens to corresponding ++ * Packer structures. */ + + /* + * Information used by tkPlace.c only. +@@ -354,14 +346,13 @@ + * Information used by tkSelect.c and tkClipboard.c only: + */ + +- + struct TkSelectionInfo *selectionInfoPtr; + /* First in list of selection information + * records. Each entry contains information + * about the current owner of a particular + * selection on this display. */ +- Atom multipleAtom; /* Atom for MULTIPLE. None means +- * selection stuff isn't initialized. */ ++ Atom multipleAtom; /* Atom for MULTIPLE. None means selection ++ * stuff isn't initialized. */ + Atom incrAtom; /* Atom for INCR. */ + Atom targetsAtom; /* Atom for TARGETS. */ + Atom timestampAtom; /* Atom for TIMESTAMP. */ +@@ -370,9 +361,8 @@ + Atom applicationAtom; /* Atom for TK_APPLICATION. */ + Atom windowAtom; /* Atom for TK_WINDOW. */ + Atom clipboardAtom; /* Atom for CLIPBOARD. */ +-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0)) +- Atom utf8Atom; +-#endif ++ Atom utf8Atom; /* Atom for UTF8_STRING. */ ++ + Tk_Window clipWindow; /* Window used for clipboard ownership and to + * retrieve selections between processes. NULL + * means clipboard info hasn't been +@@ -391,13 +381,13 @@ + * Information used by tkSend.c only: + */ + +- Tk_Window commTkwin; /* Window used for communication +- * between interpreters during "send" +- * commands. NULL means send info hasn't +- * been initialized yet. */ ++ Tk_Window commTkwin; /* Window used for communication between ++ * interpreters during "send" commands. NULL ++ * means send info hasn't been initialized ++ * yet. */ + Atom commProperty; /* X's name for comm property. */ +- Atom registryProperty; /* X's name for property containing +- * registry of interpreter names. */ ++ Atom registryProperty; /* X's name for property containing registry ++ * of interpreter names. */ + Atom appNameProperty; /* X's name for property used to hold the + * application name on each comm window. */ + +@@ -409,33 +399,20 @@ + /* First in list of chunks of free resource + * identifiers, or NULL if there are no free + * resources. */ +- XID(*defaultAllocProc) _ANSI_ARGS_((Display *display)); ++ XID (*defaultAllocProc) (Display *display); + /* Default resource allocator for display. */ + struct TkIdStack *windowStackPtr; +- /* First in list of chunks of window +- * identifers that can't be reused right +- * now. */ +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) +- int idCleanupScheduled; /* 1 means a call to WindowIdCleanup has +- * already been scheduled, 0 means it +- * hasn't. */ +-#else ++ /* First in list of chunks of window ids that ++ * can't be reused right now. */ + Tcl_TimerToken idCleanupScheduled; + /* If set, it means a call to WindowIdCleanup + * has already been scheduled, 0 means it + * hasn't. */ +-#endif ++ + /* + * Information used by tkUnixWm.c and tkWinWm.c only: + */ + +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) +- int wmTracing; /* Used to enable or disable tracing in +- * this module. If tracing is enabled, +- * then information is printed on +- * standard output about interesting +- * interactions with the window manager. */ +-#endif + struct TkWmInfo *firstWmPtr; /* Points to first top-level window. */ + struct TkWmInfo *foregroundWmPtr; + /* Points to the foreground window. */ +@@ -444,9 +421,8 @@ + * Information maintained by tkWindow.c for use later on by tkXId.c: + */ + +- +- int destroyCount; /* Number of Tk_DestroyWindow operations +- * in progress. */ ++ int destroyCount; /* Number of Tk_DestroyWindow operations in ++ * progress. */ + unsigned long lastDestroyRequest; + /* Id of most recent XDestroyWindow request; + * can re-use ids in windowStackPtr when +@@ -465,42 +441,41 @@ + */ + + #ifdef TK_USE_INPUT_METHODS +- XIM inputMethod; /* Input method for this display */ +-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0)) +-#if TK_XIM_SPOT ++ XIM inputMethod; /* Input method for this display. */ ++ XIMStyle inputStyle; /* Input style selected for this display. */ + XFontSet inputXfs; /* XFontSet cached for over-the-spot XIM. */ +-#endif /* TK_XIM_SPOT */ +-#endif /* TK_VERSION_NUMBER >= 8.4 */ + #endif /* TK_USE_INPUT_METHODS */ + Tcl_HashTable winTable; /* Maps from X window ids to TkWindow ptrs. */ ++ + int refCount; /* Reference count of how many Tk applications + * are using this display. Used to clean up +- * the display when we no longer have any +- * Tk applications using it. +- */ ++ * the display when we no longer have any Tk ++ * applications using it. */ ++ + /* + * The following field were all added for Tk8.3 + */ +- int mouseButtonState; /* current mouse button state for this +- * display */ +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) +- int warpInProgress; +-#endif ++ ++ int mouseButtonState; /* Current mouse button state for this ++ * display. */ ++ Window mouseButtonWindow; /* Window the button state was set in, added ++ * in Tk 8.4. */ + Window warpWindow; + int warpX; + int warpY; +-#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) +- int useInputMethods; /* Whether to use input methods */ +-#else ++ + /* + * The following field(s) were all added for Tk8.4 + */ +- long deletionEpoch; /* Incremented by window deletions */ +- unsigned int flags; /* Various flag values: these are all +- * defined in below. */ +- TkCaret caret; /* information about the caret for this ++ ++ unsigned int flags; /* Various flag values: these are all defined ++ * in below. */ ++ TkCaret caret; /* Information about the caret for this + * display. This is not a pointer. */ +-#endif ++ ++ int iconDataSize; /* Size of default iconphoto image data. */ ++ unsigned char *iconDataPtr; /* Default iconphoto image data, if set. */ ++ + } TkDisplay; + + #else +--- ./src/shared/Makefile.in.orig 2008-07-11 17:59:24.000000000 +0200 ++++ ./src/shared/Makefile.in 2008-07-11 18:31:26.000000000 +0200 +@@ -181,7 +181,7 @@ + done + clean: + $(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \ +- .pure* ++ *pure* .pure* bltInit.o + + distclean: clean + $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* +--- ./src/bltNsUtil.h.orig 2002-07-18 08:35:32.000000000 +0200 ++++ ./src/bltNsUtil.h 2008-07-11 18:30:17.000000000 +0200 +@@ -48,7 +48,7 @@ + + + EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp, +- char *name, Tcl_Namespace *nsPtr, int flags)); ++ CONST char *name, Tcl_Namespace *nsPtr, int flags)); + + #define NS_SEARCH_NONE (0) + #define NS_SEARCH_CURRENT (1<<0) +@@ -65,15 +65,15 @@ + + #if (TCL_MAJOR_VERSION >= 8) + EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp, +- char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc)); ++ CONST char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc)); + + EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr)); + + EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp, +- char *name, Tcl_Namespace *context, int flags)); ++ CONST char *name, Tcl_Namespace *context, int flags)); + + EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr, +- char *name, int resetFlag)); ++ CONST char *name, int resetFlag)); + + EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name, + Tcl_Namespace *contextNsPtr, int flags)); +--- ./src/Makefile.vc.orig 2002-09-07 22:12:10.000000000 +0200 ++++ ./src/Makefile.vc 2008-07-11 18:30:17.000000000 +0200 +@@ -3,9 +3,8 @@ + # Makefile for BLT library using VC++. + # ------------------------------------------------------------------------ + +-include e:/src/blt/win/makedefs ++include ../win/makedefs + +-TOOLS32 = c:/Program\ Files/Microsoft\ Visual\ Studio/Vc98 + AR = lib.exe -link50compat + LD = link.exe + CC = cl.exe +@@ -51,7 +50,7 @@ + TCL_LIB = $(TCLDIR)/win/Debug/tcl$(v2)d.lib + MSVCRT = msvcrtd.lib + else +-CFLAGS = -Ox -GB -GD ++CFLAGS = -Ox -GB + DEBUG_LDFLAGS = -debug:full -debugtype:cv + TK_LIB = $(TKDIR)/win/Release/tk$(v2).lib + TCL_LIB = $(TCLDIR)/win/Release/tcl$(v2).lib +@@ -108,7 +107,6 @@ + TCLDIR = $(srcdir)/../../tcl$(v3) + TKDIR = $(srcdir)/../../tk$(v3) + INCLUDES = -I. -I$(srcdir) \ +- -I$(TOOLS32)/include \ + -I$(JPEGINC) \ + -I$(TCLDIR)/win -I$(TCLDIR)/generic \ + -I$(TKDIR)/win -I$(TKDIR)/generic -I$(TKDIR)/xlib \ +@@ -161,8 +159,7 @@ + bltWatch.o \ + bltWinPipe.o \ + bltWinUtil.o \ +- bltWinDde.o \ +- pure_api.o ++ bltWinDde.o + + DEMO_OBJS = tkConsole.o bltWinMain.o + +@@ -235,7 +232,6 @@ + $(RM) $(bltwish) + $(CC) -c $(CC_SWITCHES) -DTCLLIBPATH=\"$(TCLLIBPATH)\" \ + -FobltWinMain.o $(srcdir)/bltWinMain.c +- LIB=$(TOOLS32)/lib \ + $(LD) $(LDFLAGS) tkConsole.o bltWinMain.o -out:$(bltwish) \ + $(lib_a) $(LIBS) + +@@ -244,7 +240,6 @@ + $(CC) -c $(CC_SWITCHES) -DTCL_ONLY \ + -DTCLLIBPATH=\"$(TCLLIBPATH)\" \ + -FobltWinMain.o $(srcdir)/bltWinMain.c +- LIB=$(TOOLS32)/lib \ + $(LD) $(LDFLAGS) bltWinMain.o -out:$(bltsh) \ + $(tcl_only_lib_a) $(TCL_ONLY_LIBS) + +@@ -260,7 +255,6 @@ + $(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \ + -FobltInit.o $(srcdir)/bltInit.c + $(RM) $@ +- LIB=$(TOOLS32)/lib \ + $(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(OBJS) $(SHLIB_LD_LIBS) + + $(tcl_only_lib_a): bltHash.h $(TCL_ONLY_OBJS) bltInit.c +@@ -275,7 +269,6 @@ + $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \ + -FobltInit.o $(srcdir)/bltInit.c + $(RM) $@ +- LIB=$(TOOLS32)/lib \ + $(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(TCL_ONLY_OBJS) \ + $(TCL_ONLY_LIBS) + +@@ -304,7 +297,7 @@ + $(INSTALL) $(bltsh) $(bindir)/$(bltsh2) + + install-lib: $(lib_so) $(lib_a) +- $(INSTALL_DATA) $(lib_so) $(bindir) ++ $(INSTALL_DATA) $(lib_so) $(libdir) + $(INSTALL_DATA) $(lib_a) $(libdir) + $(INSTALL_DATA) $(tcl_only_lib_so) $(bindir) + $(INSTALL_DATA) $(tcl_only_lib_a) $(libdir) +@@ -322,10 +315,10 @@ + $(lib_a) $(lib_so) $(tcl_only_lib_a) $(tcl_only_lib_so) \ + $(bltwish) $(bltsh) $(bltwish2) $(bltsh2) + $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* ++ $(RM) bltHash.h + + distclean: clean + $(RM) Makefile + +-.c.o: ++%.o : %.c + $(CC) -c $(CC_SWITCHES) -Fo$*.o $< +- +--- ./src/bltText.c.orig 2002-08-13 21:45:20.000000000 +0200 ++++ ./src/bltText.c 2008-07-11 18:30:17.000000000 +0200 +@@ -671,6 +671,9 @@ + Pixmap bitmap; + int active; + ++ if (!textPtr) ++ return; ++ + display = Tk_Display(tkwin); + theta = FMOD(tsPtr->theta, (double)360.0); + if (theta < 0.0) { +--- ./src/bltBgexec.c.orig 2002-09-19 00:30:50.000000000 +0200 ++++ ./src/bltBgexec.c 2008-07-11 18:30:17.000000000 +0200 +@@ -394,7 +394,7 @@ + Blt_Offset(BackgroundInfo, sink1.updateCmd), 0}, + {BLT_SWITCH_BOOLEAN, "-keepnewline", + Blt_Offset(BackgroundInfo, keepNewline), 0}, +- {BLT_SWITCH_BOOLEAN, "-check", ++ {BLT_SWITCH_INT, "-check", + Blt_Offset(BackgroundInfo, interval), 0}, + {BLT_SWITCH_CUSTOM, "-killsignal", + Blt_Offset(BackgroundInfo, signalNum), 0, &killSignalSwitch}, +@@ -1659,7 +1659,7 @@ + } + DisableTriggers(bgPtr); + result = Tcl_SetVar(bgPtr->interp, bgPtr->statVar, +- Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY); ++ Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG); + Tcl_DStringFree(&dString); + if (result == NULL) { + Tcl_BackgroundError(bgPtr->interp); +@@ -1712,7 +1712,7 @@ + * timer handler to periodically poll for the exit status of each + * process. Initially check at the next idle interval. + */ +- if (!IsOpenSink(&bgPtr->sink2)) { ++ if (!IsOpenSink(&bgPtr->sink2) && bgPtr->timerToken == 0) { + bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData); + } + } +@@ -1760,7 +1760,7 @@ + * timer handler to periodically poll for the exit status of each + * process. Initially check at the next idle interval. + */ +- if (!IsOpenSink(&bgPtr->sink1)) { ++ if (!IsOpenSink(&bgPtr->sink1) && bgPtr->timerToken == 0) { + bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData); + } + } +@@ -1900,6 +1900,7 @@ + } + bgPtr->procArr = pidPtr; + bgPtr->nProcs = nProcs; ++ bgPtr->timerToken = 0; + + if (bgPtr->sink1.fd == -1) { + +--- ./src/bltInit.c.orig 2002-09-10 07:12:33.000000000 +0200 ++++ ./src/bltInit.c 2008-07-11 18:30:17.000000000 +0200 +@@ -28,7 +28,7 @@ + + #include + +-#define EXACT 1 ++#define EXACT 0 + + #ifndef BLT_LIBRARY + #ifdef WIN32 +--- ./library/Makefile.vc.orig 2002-08-21 08:20:51.000000000 +0200 ++++ ./library/Makefile.vc 2008-07-11 18:30:17.000000000 +0200 +@@ -6,7 +6,6 @@ + include ../win/makedefs + + version = $(BLT_MAJOR_VERSION).$(BLT_MINOR_VERSION) +-pkgdir = $(libdir)/tcl$(v1)/blt$(version) + srcdir = . + + cursors = treeview.cur +@@ -30,8 +29,7 @@ + tclIndex + + instdirs = $(prefix) $(exec_prefix) $(libdir) \ +- $(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1) \ +- $(pkgdir) ++ $(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1) + + all: build-pkgindex + +@@ -62,7 +60,6 @@ + + install-pkgindex: pkgIndex.tcl + $(INSTALL_DATA) pkgIndex.tcl $(scriptdir) +- $(INSTALL_DATA) pkgIndex.tcl $(pkgdir) + + clean: + $(RM) pkgIndex.tcl --- blt-2.4z.orig/debian/blt.README.Debian +++ blt-2.4z/debian/blt.README.Debian @@ -0,0 +1,20 @@ +Note: some people seem to be confused by the lack of a "bltwish" +binary. This is not an oversight--it is part of an upstream (by which +I mean the TCL community) policy to remove and obsolete specialized +variants of wish, like bltwish. Unfortunately, not everyone has got +the word yet. + +If you have scripts which start with "#!/usr/bin/bltwish" (or some +approximation thereof), the proper and approved thing to do is to +replace that line with: + +#!/bin/wish +package require BLT + +The result is exactly the same. Note that if you have other "package +require" lines in your script, you may want to place the "package +require BLT" line with them, rather than right at the very top of the +script. As long as it comes before any blt commands are used, you +should be fine. + + -- Chris Waters , Sat Jan 28 17:30:11 2006 --- blt-2.4z.orig/debian/blt-dev.dirs +++ blt-2.4z/debian/blt-dev.dirs @@ -0,0 +1,3 @@ +usr/lib +usr/include +usr/share/man/man3 --- blt-2.4z.orig/debian/tclPlatDecls.h.tcl8.4 +++ blt-2.4z/debian/tclPlatDecls.h.tcl8.4 @@ -0,0 +1,197 @@ +/* + * tclPlatDecls.h -- + * + * Declarations of platform specific Tcl APIs. + * + * Copyright (c) 1998-1999 by Scriptics Corporation. + * All rights reserved. + * + * RCS: @(#) $Id: tclPlatDecls.h,v 1.18.2.5 2004/06/10 17:17:45 andreas_kupries Exp $ + */ + +#ifndef _TCLPLATDECLS +#define _TCLPLATDECLS + +/* + * Pull in the typedef of TCHAR for windows. + */ +#if defined(__CYGWIN__) + typedef char TCHAR; +#elif defined(__WIN32__) && !defined(_TCHAR_DEFINED) +# include +# ifndef _TCHAR_DEFINED + /* Borland seems to forget to set this. */ + typedef _TCHAR TCHAR; +# define _TCHAR_DEFINED +# endif +# if defined(_MSC_VER) && defined(__STDC__) + /* MSVC++ misses this. */ + typedef _TCHAR TCHAR; +# endif +#endif + +/* !BEGIN!: Do not edit below this line. */ + +/* + * Exported function declarations: + */ + +#ifdef __WIN32__ +/* 0 */ +EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, + int len, Tcl_DString * dsPtr)); +/* 1 */ +EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, + int len, Tcl_DString * dsPtr)); +#endif /* __WIN32__ */ +#ifdef MAC_TCL +/* 0 */ +EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_(( + Tcl_MacConvertEventPtr procPtr)); +/* 1 */ +EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_(( + Handle resource)); +/* 2 */ +EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * resourceName, + int resourceNumber, CONST char * fileName)); +/* 3 */ +EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp, + long resourceType, CONST char * resourceName, + int resourceNumber, CONST char * resFileRef, + int * releaseIt)); +/* 4 */ +EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + OSType * osTypePtr)); +/* 5 */ +EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr, + OSType osType)); +/* 6 */ +EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType)); +/* 7 */ +EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1, + CONST char * s2, size_t n)); +/* 8 */ +EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1, + CONST char * s2)); +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TCL +/* 0 */ +EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * bundleName, + int hasResourceFile, int maxPathLen, + char * libraryPath)); +/* 1 */ +EXTERN int Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * bundleName, + CONST char * bundleVersion, + int hasResourceFile, int maxPathLen, + char * libraryPath)); +#endif /* MAC_OSX_TCL */ + +typedef struct TclPlatStubs { + int magic; + struct TclPlatStubHooks *hooks; + +#ifdef __WIN32__ + TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */ + char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */ + char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */ + int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * resourceName, int resourceNumber, CONST char * fileName)); /* 2 */ + Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, CONST char * resourceName, int resourceNumber, CONST char * resFileRef, int * releaseIt)); /* 3 */ + int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr)); /* 4 */ + void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType)); /* 5 */ + Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType)); /* 6 */ + int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n)); /* 7 */ + int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2)); /* 8 */ +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TCL + int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 0 */ + int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 1 */ +#endif /* MAC_OSX_TCL */ +} TclPlatStubs; + +#ifdef __cplusplus +extern "C" { +#endif +extern TclPlatStubs *tclPlatStubsPtr; +#ifdef __cplusplus +} +#endif + +#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) + +/* + * Inline function declarations: + */ + +#ifdef __WIN32__ +#ifndef Tcl_WinUtfToTChar +#define Tcl_WinUtfToTChar \ + (tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */ +#endif +#ifndef Tcl_WinTCharToUtf +#define Tcl_WinTCharToUtf \ + (tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */ +#endif +#endif /* __WIN32__ */ +#ifdef MAC_TCL +#ifndef Tcl_MacSetEventProc +#define Tcl_MacSetEventProc \ + (tclPlatStubsPtr->tcl_MacSetEventProc) /* 0 */ +#endif +#ifndef Tcl_MacConvertTextResource +#define Tcl_MacConvertTextResource \ + (tclPlatStubsPtr->tcl_MacConvertTextResource) /* 1 */ +#endif +#ifndef Tcl_MacEvalResource +#define Tcl_MacEvalResource \ + (tclPlatStubsPtr->tcl_MacEvalResource) /* 2 */ +#endif +#ifndef Tcl_MacFindResource +#define Tcl_MacFindResource \ + (tclPlatStubsPtr->tcl_MacFindResource) /* 3 */ +#endif +#ifndef Tcl_GetOSTypeFromObj +#define Tcl_GetOSTypeFromObj \ + (tclPlatStubsPtr->tcl_GetOSTypeFromObj) /* 4 */ +#endif +#ifndef Tcl_SetOSTypeObj +#define Tcl_SetOSTypeObj \ + (tclPlatStubsPtr->tcl_SetOSTypeObj) /* 5 */ +#endif +#ifndef Tcl_NewOSTypeObj +#define Tcl_NewOSTypeObj \ + (tclPlatStubsPtr->tcl_NewOSTypeObj) /* 6 */ +#endif +#ifndef strncasecmp +#define strncasecmp \ + (tclPlatStubsPtr->strncasecmp) /* 7 */ +#endif +#ifndef strcasecmp +#define strcasecmp \ + (tclPlatStubsPtr->strcasecmp) /* 8 */ +#endif +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TCL +#ifndef Tcl_MacOSXOpenBundleResources +#define Tcl_MacOSXOpenBundleResources \ + (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */ +#endif +#ifndef Tcl_MacOSXOpenVersionedBundleResources +#define Tcl_MacOSXOpenVersionedBundleResources \ + (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */ +#endif +#endif /* MAC_OSX_TCL */ + +#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ + +/* !END!: Do not edit above this line. */ + +#endif /* _TCLPLATDECLS */ + + --- blt-2.4z.orig/debian/blt-demo.links +++ blt-2.4z/debian/blt-demo.links @@ -0,0 +1,2 @@ +usr/share/blt2.4/demos usr/share/doc/blt-demo/demos +usr/share/blt2.4/examples usr/share/doc/blt-demo/examples --- blt-2.4z.orig/debian/blt.files +++ blt-2.4z/debian/blt.files @@ -0,0 +1,7 @@ +usr/lib/*.so.* +usr/lib/blt2.4/*.tcl +usr/lib/blt2.4/*.pro +usr/lib/blt2.4/*.xbm +usr/lib/blt2.4/dd_protocols +usr/lib/blt2.4/tclIndex +usr/share/man/man3/*.3blt --- blt-2.4z.orig/debian/tk.h.tk8.4 +++ blt-2.4z/debian/tk.h.tk8.4 @@ -0,0 +1,1601 @@ +/* + * tk.h -- + * + * Declarations for Tk-related things that are visible + * outside of the Tk module itself. + * + * Copyright (c) 1989-1994 The Regents of the University of California. + * Copyright (c) 1994 The Australian National University. + * Copyright (c) 1994-1998 Sun Microsystems, Inc. + * Copyright (c) 1998-2000 Ajuba Solutions. + * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * + * RCS: @(#) $Id: tk.h,v 1.74.2.22 2008/04/07 19:17:54 dgp Exp $ + */ + +#ifndef _TK +#define _TK + +#include +#if (TCL_MAJOR_VERSION != 8) || (TCL_MINOR_VERSION != 4) +# error Tk 8.4 must be compiled with tcl.h from Tcl 8.4 +#endif + +/* + * For C++ compilers, use extern "C" + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * When version numbers change here, you must also go into the following files + * and update the version numbers: + * + * library/tk.tcl (only if Major.minor changes, not patchlevel) + * unix/configure.in (2 LOC Major, 2 LOC minor, 1 LOC patch) + * win/configure.in (as above) + * win/makefile.vc (not patchlevel) + * README (sections 0 and 1) + * mac/README (not patchlevel) + * win/README (not patchlevel) + * unix/README (not patchlevel) + * unix/tk.spec (3 LOC Major/Minor, 2 LOC patch) + * win/tcl.m4 (not patchlevel) + * + * You may also need to update some of these files when the numbers change + * for the version of Tcl that this release of Tk is compiled against. + */ + +#define TK_MAJOR_VERSION 8 +#define TK_MINOR_VERSION 4 +#define TK_RELEASE_LEVEL TCL_FINAL_RELEASE +#define TK_RELEASE_SERIAL 19 + +#define TK_VERSION "8.4" +#define TK_PATCH_LEVEL "8.4.19" + +/* + * A special definition used to allow this header file to be included + * from windows or mac resource files so that they can obtain version + * information. RC_INVOKED is defined by default by the windows RC tool + * and manually set for macintosh. + * + * Resource compilers don't like all the C stuff, like typedefs and + * procedure declarations, that occur below, so block them out. + */ + +#ifndef RC_INVOKED + +#ifndef _XLIB_H +# if defined (MAC_TCL) +# include +# include +# elif defined(MAC_OSX_TK) +# include +# include +# else +# include +# endif +#endif +#ifdef __STDC__ +# include +#endif + +#ifdef BUILD_tk +# undef TCL_STORAGE_CLASS +# define TCL_STORAGE_CLASS DLLEXPORT +#endif + +/* + * Decide whether or not to use input methods. + */ + +#ifdef XNQueryInputStyle +#define TK_USE_INPUT_METHODS +#endif + +/* + * Dummy types that are used by clients: + */ + +typedef struct Tk_BindingTable_ *Tk_BindingTable; +typedef struct Tk_Canvas_ *Tk_Canvas; +typedef struct Tk_Cursor_ *Tk_Cursor; +typedef struct Tk_ErrorHandler_ *Tk_ErrorHandler; +typedef struct Tk_Font_ *Tk_Font; +typedef struct Tk_Image__ *Tk_Image; +typedef struct Tk_ImageMaster_ *Tk_ImageMaster; +typedef struct Tk_OptionTable_ *Tk_OptionTable; +typedef struct Tk_PostscriptInfo_ *Tk_PostscriptInfo; +typedef struct Tk_TextLayout_ *Tk_TextLayout; +typedef struct Tk_Window_ *Tk_Window; +typedef struct Tk_3DBorder_ *Tk_3DBorder; +typedef struct Tk_Style_ *Tk_Style; +typedef struct Tk_StyleEngine_ *Tk_StyleEngine; +typedef struct Tk_StyledElement_ *Tk_StyledElement; + +/* + * Additional types exported to clients. + */ + +typedef CONST char *Tk_Uid; + +/* + * The enum below defines the valid types for Tk configuration options + * as implemented by Tk_InitOptions, Tk_SetOptions, etc. + */ + +typedef enum { + TK_OPTION_BOOLEAN, + TK_OPTION_INT, + TK_OPTION_DOUBLE, + TK_OPTION_STRING, + TK_OPTION_STRING_TABLE, + TK_OPTION_COLOR, + TK_OPTION_FONT, + TK_OPTION_BITMAP, + TK_OPTION_BORDER, + TK_OPTION_RELIEF, + TK_OPTION_CURSOR, + TK_OPTION_JUSTIFY, + TK_OPTION_ANCHOR, + TK_OPTION_SYNONYM, + TK_OPTION_PIXELS, + TK_OPTION_WINDOW, + TK_OPTION_END, + TK_OPTION_CUSTOM, + TK_OPTION_STYLE +} Tk_OptionType; + +/* + * Structures of the following type are used by widgets to specify + * their configuration options. Typically each widget has a static + * array of these structures, where each element of the array describes + * a single configuration option. The array is passed to + * Tk_CreateOptionTable. + */ + +typedef struct Tk_OptionSpec { + Tk_OptionType type; /* Type of option, such as TK_OPTION_COLOR; + * see definitions above. Last option in + * table must have type TK_OPTION_END. */ + char *optionName; /* Name used to specify option in Tcl + * commands. */ + char *dbName; /* Name for option in option database. */ + char *dbClass; /* Class for option in database. */ + char *defValue; /* Default value for option if not specified + * in command line, the option database, + * or the system. */ + int objOffset; /* Where in record to store a Tcl_Obj * that + * holds the value of this option, specified + * as an offset in bytes from the start of + * the record. Use the Tk_Offset macro to + * generate values for this. -1 means don't + * store the Tcl_Obj in the record. */ + int internalOffset; /* Where in record to store the internal + * representation of the value of this option, + * such as an int or XColor *. This field + * is specified as an offset in bytes + * from the start of the record. Use the + * Tk_Offset macro to generate values for it. + * -1 means don't store the internal + * representation in the record. */ + int flags; /* Any combination of the values defined + * below. */ + ClientData clientData; /* An alternate place to put option-specific + * data. Used for the monochrome default value + * for colors, etc. */ + int typeMask; /* An arbitrary bit mask defined by the + * class manager; typically bits correspond + * to certain kinds of options such as all + * those that require a redisplay when they + * change. Tk_SetOptions returns the bit-wise + * OR of the typeMasks of all options that + * were changed. */ +} Tk_OptionSpec; + +/* + * Flag values for Tk_OptionSpec structures. These flags are shared by + * Tk_ConfigSpec structures, so be sure to coordinate any changes + * carefully. + */ + +#define TK_OPTION_NULL_OK (1 << 0) +#define TK_OPTION_DONT_SET_DEFAULT (1 << 3) + +/* + * The following structure and function types are used by TK_OPTION_CUSTOM + * options; the structure holds pointers to the functions needed by the Tk + * option config code to handle a custom option. + */ + +typedef int (Tk_CustomOptionSetProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj **value, char *widgRec, + int offset, char *saveInternalPtr, int flags)); +typedef Tcl_Obj *(Tk_CustomOptionGetProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin, char *widgRec, int offset)); +typedef void (Tk_CustomOptionRestoreProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin, char *internalPtr, char *saveInternalPtr)); +typedef void (Tk_CustomOptionFreeProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin, char *internalPtr)); + +typedef struct Tk_ObjCustomOption { + char *name; /* Name of the custom option. */ + Tk_CustomOptionSetProc *setProc; /* Function to use to set a record's + * option value from a Tcl_Obj */ + Tk_CustomOptionGetProc *getProc; /* Function to use to get a Tcl_Obj + * representation from an internal + * representation of an option. */ + Tk_CustomOptionRestoreProc *restoreProc; /* Function to use to restore a + * saved value for the internal + * representation. */ + Tk_CustomOptionFreeProc *freeProc; /* Function to use to free the internal + * representation of an option. */ + ClientData clientData; /* Arbitrary one-word value passed to + * the handling procs. */ +} Tk_ObjCustomOption; + + +/* + * Macro to use to fill in "offset" fields of the Tk_OptionSpec. + * struct. Computes number of bytes from beginning of structure + * to a given field. + */ + +#ifdef offsetof +#define Tk_Offset(type, field) ((int) offsetof(type, field)) +#else +#define Tk_Offset(type, field) ((int) ((char *) &((type *) 0)->field)) +#endif + +/* + * The following two structures are used for error handling. When + * configuration options are being modified, the old values are + * saved in a Tk_SavedOptions structure. If an error occurs, then the + * contents of the structure can be used to restore all of the old + * values. The contents of this structure are for the private use + * Tk. No-one outside Tk should ever read or write any of the fields + * of these structures. + */ + +typedef struct Tk_SavedOption { + struct TkOption *optionPtr; /* Points to information that describes + * the option. */ + Tcl_Obj *valuePtr; /* The old value of the option, in + * the form of a Tcl object; may be + * NULL if the value wasn't saved as + * an object. */ + double internalForm; /* The old value of the option, in + * some internal representation such + * as an int or (XColor *). Valid + * only if optionPtr->specPtr->objOffset + * is < 0. The space must be large + * enough to accommodate a double, a + * long, or a pointer; right now it + * looks like a double is big + * enough. Also, using a double + * guarantees that the field is + * properly aligned for storing large + * values. */ +} Tk_SavedOption; + +#ifdef TCL_MEM_DEBUG +# define TK_NUM_SAVED_OPTIONS 2 +#else +# define TK_NUM_SAVED_OPTIONS 20 +#endif + +typedef struct Tk_SavedOptions { + char *recordPtr; /* The data structure in which to + * restore configuration options. */ + Tk_Window tkwin; /* Window associated with recordPtr; + * needed to restore certain options. */ + int numItems; /* The number of valid items in + * items field. */ + Tk_SavedOption items[TK_NUM_SAVED_OPTIONS]; + /* Items used to hold old values. */ + struct Tk_SavedOptions *nextPtr; /* Points to next structure in list; + * needed if too many options changed + * to hold all the old values in a + * single structure. NULL means no + * more structures. */ +} Tk_SavedOptions; + +/* + * Structure used to describe application-specific configuration + * options: indicates procedures to call to parse an option and + * to return a text string describing an option. THESE ARE + * DEPRECATED; PLEASE USE THE NEW STRUCTURES LISTED ABOVE. + */ + +/* + * This is a temporary flag used while tkObjConfig and new widgets + * are in development. + */ + +#ifndef __NO_OLD_CONFIG + +typedef int (Tk_OptionParseProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, Tk_Window tkwin, CONST84 char *value, char *widgRec, + int offset)); +typedef char *(Tk_OptionPrintProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin, char *widgRec, int offset, + Tcl_FreeProc **freeProcPtr)); + +typedef struct Tk_CustomOption { + Tk_OptionParseProc *parseProc; /* Procedure to call to parse an + * option and store it in converted + * form. */ + Tk_OptionPrintProc *printProc; /* Procedure to return a printable + * string describing an existing + * option. */ + ClientData clientData; /* Arbitrary one-word value used by + * option parser: passed to + * parseProc and printProc. */ +} Tk_CustomOption; + +/* + * Structure used to specify information for Tk_ConfigureWidget. Each + * structure gives complete information for one option, including + * how the option is specified on the command line, where it appears + * in the option database, etc. + */ + +typedef struct Tk_ConfigSpec { + int type; /* Type of option, such as TK_CONFIG_COLOR; + * see definitions below. Last option in + * table must have type TK_CONFIG_END. */ + char *argvName; /* Switch used to specify option in argv. + * NULL means this spec is part of a group. */ + Tk_Uid dbName; /* Name for option in option database. */ + Tk_Uid dbClass; /* Class for option in database. */ + Tk_Uid defValue; /* Default value for option if not + * specified in command line or database. */ + int offset; /* Where in widget record to store value; + * use Tk_Offset macro to generate values + * for this. */ + int specFlags; /* Any combination of the values defined + * below; other bits are used internally + * by tkConfig.c. */ + Tk_CustomOption *customPtr; /* If type is TK_CONFIG_CUSTOM then this is + * a pointer to info about how to parse and + * print the option. Otherwise it is + * irrelevant. */ +} Tk_ConfigSpec; + +/* + * Type values for Tk_ConfigSpec structures. See the user + * documentation for details. + */ + +typedef enum { + TK_CONFIG_BOOLEAN, TK_CONFIG_INT, TK_CONFIG_DOUBLE, TK_CONFIG_STRING, + TK_CONFIG_UID, TK_CONFIG_COLOR, TK_CONFIG_FONT, TK_CONFIG_BITMAP, + TK_CONFIG_BORDER, TK_CONFIG_RELIEF, TK_CONFIG_CURSOR, + TK_CONFIG_ACTIVE_CURSOR, TK_CONFIG_JUSTIFY, TK_CONFIG_ANCHOR, + TK_CONFIG_SYNONYM, TK_CONFIG_CAP_STYLE, TK_CONFIG_JOIN_STYLE, + TK_CONFIG_PIXELS, TK_CONFIG_MM, TK_CONFIG_WINDOW, TK_CONFIG_CUSTOM, + TK_CONFIG_END +} Tk_ConfigTypes; + +/* + * Possible values for flags argument to Tk_ConfigureWidget: + */ + +#define TK_CONFIG_ARGV_ONLY 1 +#define TK_CONFIG_OBJS 0x80 + +/* + * Possible flag values for Tk_ConfigSpec structures. Any bits at + * or above TK_CONFIG_USER_BIT may be used by clients for selecting + * certain entries. Before changing any values here, coordinate with + * tkOldConfig.c (internal-use-only flags are defined there). + */ + +#define TK_CONFIG_NULL_OK (1 << 0) +#define TK_CONFIG_COLOR_ONLY (1 << 1) +#define TK_CONFIG_MONO_ONLY (1 << 2) +#define TK_CONFIG_DONT_SET_DEFAULT (1 << 3) +#define TK_CONFIG_OPTION_SPECIFIED (1 << 4) +#define TK_CONFIG_USER_BIT 0x100 +#endif /* __NO_OLD_CONFIG */ + +/* + * Structure used to specify how to handle argv options. + */ + +typedef struct { + char *key; /* The key string that flags the option in the + * argv array. */ + int type; /* Indicates option type; see below. */ + char *src; /* Value to be used in setting dst; usage + * depends on type. */ + char *dst; /* Address of value to be modified; usage + * depends on type. */ + char *help; /* Documentation message describing this option. */ +} Tk_ArgvInfo; + +/* + * Legal values for the type field of a Tk_ArgvInfo: see the user + * documentation for details. + */ + +#define TK_ARGV_CONSTANT 15 +#define TK_ARGV_INT 16 +#define TK_ARGV_STRING 17 +#define TK_ARGV_UID 18 +#define TK_ARGV_REST 19 +#define TK_ARGV_FLOAT 20 +#define TK_ARGV_FUNC 21 +#define TK_ARGV_GENFUNC 22 +#define TK_ARGV_HELP 23 +#define TK_ARGV_CONST_OPTION 24 +#define TK_ARGV_OPTION_VALUE 25 +#define TK_ARGV_OPTION_NAME_VALUE 26 +#define TK_ARGV_END 27 + +/* + * Flag bits for passing to Tk_ParseArgv: + */ + +#define TK_ARGV_NO_DEFAULTS 0x1 +#define TK_ARGV_NO_LEFTOVERS 0x2 +#define TK_ARGV_NO_ABBREV 0x4 +#define TK_ARGV_DONT_SKIP_FIRST_ARG 0x8 + +/* + * Enumerated type for describing actions to be taken in response + * to a restrictProc established by Tk_RestrictEvents. + */ + +typedef enum { + TK_DEFER_EVENT, TK_PROCESS_EVENT, TK_DISCARD_EVENT +} Tk_RestrictAction; + +/* + * Priority levels to pass to Tk_AddOption: + */ + +#define TK_WIDGET_DEFAULT_PRIO 20 +#define TK_STARTUP_FILE_PRIO 40 +#define TK_USER_DEFAULT_PRIO 60 +#define TK_INTERACTIVE_PRIO 80 +#define TK_MAX_PRIO 100 + +/* + * Relief values returned by Tk_GetRelief: + */ + +#define TK_RELIEF_NULL -1 +#define TK_RELIEF_FLAT 0 +#define TK_RELIEF_GROOVE 1 +#define TK_RELIEF_RAISED 2 +#define TK_RELIEF_RIDGE 3 +#define TK_RELIEF_SOLID 4 +#define TK_RELIEF_SUNKEN 5 + +/* + * "Which" argument values for Tk_3DBorderGC: + */ + +#define TK_3D_FLAT_GC 1 +#define TK_3D_LIGHT_GC 2 +#define TK_3D_DARK_GC 3 + +/* + * Special EnterNotify/LeaveNotify "mode" for use in events + * generated by tkShare.c. Pick a high enough value that it's + * unlikely to conflict with existing values (like NotifyNormal) + * or any new values defined in the future. + */ + +#define TK_NOTIFY_SHARE 20 + +/* + * Enumerated type for describing a point by which to anchor something: + */ + +typedef enum { + TK_ANCHOR_N, TK_ANCHOR_NE, TK_ANCHOR_E, TK_ANCHOR_SE, + TK_ANCHOR_S, TK_ANCHOR_SW, TK_ANCHOR_W, TK_ANCHOR_NW, + TK_ANCHOR_CENTER +} Tk_Anchor; + +/* + * Enumerated type for describing a style of justification: + */ + +typedef enum { + TK_JUSTIFY_LEFT, TK_JUSTIFY_RIGHT, TK_JUSTIFY_CENTER +} Tk_Justify; + +/* + * The following structure is used by Tk_GetFontMetrics() to return + * information about the properties of a Tk_Font. + */ + +typedef struct Tk_FontMetrics { + int ascent; /* The amount in pixels that the tallest + * letter sticks up above the baseline, plus + * any extra blank space added by the designer + * of the font. */ + int descent; /* The largest amount in pixels that any + * letter sticks below the baseline, plus any + * extra blank space added by the designer of + * the font. */ + int linespace; /* The sum of the ascent and descent. How + * far apart two lines of text in the same + * font should be placed so that none of the + * characters in one line overlap any of the + * characters in the other line. */ +} Tk_FontMetrics; + +/* + * Flags passed to Tk_MeasureChars: + */ + +#define TK_WHOLE_WORDS 1 +#define TK_AT_LEAST_ONE 2 +#define TK_PARTIAL_OK 4 + +/* + * Flags passed to Tk_ComputeTextLayout: + */ + +#define TK_IGNORE_TABS 8 +#define TK_IGNORE_NEWLINES 16 + +/* + * Widget class procedures used to implement platform specific widget + * behavior. + */ + +typedef Window (Tk_ClassCreateProc) _ANSI_ARGS_((Tk_Window tkwin, + Window parent, ClientData instanceData)); +typedef void (Tk_ClassWorldChangedProc) _ANSI_ARGS_((ClientData instanceData)); +typedef void (Tk_ClassModalProc) _ANSI_ARGS_((Tk_Window tkwin, + XEvent *eventPtr)); + +typedef struct Tk_ClassProcs { + unsigned int size; + Tk_ClassWorldChangedProc *worldChangedProc; + /* Procedure to invoke when the widget needs to + * respond in some way to a change in the + * world (font changes, etc.) */ + Tk_ClassCreateProc *createProc; + /* Procedure to invoke when the + * platform-dependent window needs to be + * created. */ + Tk_ClassModalProc *modalProc; + /* Procedure to invoke after all bindings on a + * widget have been triggered in order to + * handle a modal loop. */ +} Tk_ClassProcs; + +/* + * Simple accessor for Tk_ClassProcs structure. Checks that the structure + * is not NULL, then checks the size field and returns either the requested + * field, if present, or NULL if the structure is too small to have the field + * (or NULL if the structure is NULL). + * + * A more general version of this function may be useful if other + * size-versioned structure pop up in the future: + * + * #define Tk_GetField(name, who, which) \ + * (((who) == NULL) ? NULL : + * (((who)->size <= Tk_Offset(name, which)) ? NULL :(name)->which)) + */ + +#define Tk_GetClassProc(procs, which) \ + (((procs) == NULL) ? NULL : \ + (((procs)->size <= Tk_Offset(Tk_ClassProcs, which)) ? NULL:(procs)->which)) + +/* + * Each geometry manager (the packer, the placer, etc.) is represented + * by a structure of the following form, which indicates procedures + * to invoke in the geometry manager to carry out certain functions. + */ + +typedef void (Tk_GeomRequestProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin)); +typedef void (Tk_GeomLostSlaveProc) _ANSI_ARGS_((ClientData clientData, + Tk_Window tkwin)); + +typedef struct Tk_GeomMgr { + char *name; /* Name of the geometry manager (command + * used to invoke it, or name of widget + * class that allows embedded widgets). */ + Tk_GeomRequestProc *requestProc; + /* Procedure to invoke when a slave's + * requested geometry changes. */ + Tk_GeomLostSlaveProc *lostSlaveProc; + /* Procedure to invoke when a slave is + * taken away from one geometry manager + * by another. NULL means geometry manager + * doesn't care when slaves are lost. */ +} Tk_GeomMgr; + +/* + * Result values returned by Tk_GetScrollInfo: + */ + +#define TK_SCROLL_MOVETO 1 +#define TK_SCROLL_PAGES 2 +#define TK_SCROLL_UNITS 3 +#define TK_SCROLL_ERROR 4 + +/* + *--------------------------------------------------------------------------- + * + * Extensions to the X event set + * + *--------------------------------------------------------------------------- + */ +#define VirtualEvent (LASTEvent) +#define ActivateNotify (LASTEvent + 1) +#define DeactivateNotify (LASTEvent + 2) +#define MouseWheelEvent (LASTEvent + 3) +#define TK_LASTEVENT (LASTEvent + 4) + +#define MouseWheelMask (1L << 28) + +#define ActivateMask (1L << 29) +#define VirtualEventMask (1L << 30) +#define TK_LASTEVENT (LASTEvent + 4) + + +/* + * A virtual event shares most of its fields with the XKeyEvent and + * XButtonEvent structures. 99% of the time a virtual event will be + * an abstraction of a key or button event, so this structure provides + * the most information to the user. The only difference is the changing + * of the detail field for a virtual event so that it holds the name of the + * virtual event being triggered. + */ + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* True if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; /* Window on which event was requested. */ + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + Tk_Uid name; /* Name of virtual event. */ + Bool same_screen; /* same screen flag */ +} XVirtualEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* True if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* Window in which event occurred. */ +} XActivateDeactivateEvent; +typedef XActivateDeactivateEvent XActivateEvent; +typedef XActivateDeactivateEvent XDeactivateEvent; + +/* + *-------------------------------------------------------------- + * + * Macros for querying Tk_Window structures. See the + * manual entries for documentation. + * + *-------------------------------------------------------------- + */ + +#define Tk_Display(tkwin) (((Tk_FakeWin *) (tkwin))->display) +#define Tk_ScreenNumber(tkwin) (((Tk_FakeWin *) (tkwin))->screenNum) +#define Tk_Screen(tkwin) (ScreenOfDisplay(Tk_Display(tkwin), \ + Tk_ScreenNumber(tkwin))) +#define Tk_Depth(tkwin) (((Tk_FakeWin *) (tkwin))->depth) +#define Tk_Visual(tkwin) (((Tk_FakeWin *) (tkwin))->visual) +#define Tk_WindowId(tkwin) (((Tk_FakeWin *) (tkwin))->window) +#define Tk_PathName(tkwin) (((Tk_FakeWin *) (tkwin))->pathName) +#define Tk_Name(tkwin) (((Tk_FakeWin *) (tkwin))->nameUid) +#define Tk_Class(tkwin) (((Tk_FakeWin *) (tkwin))->classUid) +#define Tk_X(tkwin) (((Tk_FakeWin *) (tkwin))->changes.x) +#define Tk_Y(tkwin) (((Tk_FakeWin *) (tkwin))->changes.y) +#define Tk_Width(tkwin) (((Tk_FakeWin *) (tkwin))->changes.width) +#define Tk_Height(tkwin) \ + (((Tk_FakeWin *) (tkwin))->changes.height) +#define Tk_Changes(tkwin) (&((Tk_FakeWin *) (tkwin))->changes) +#define Tk_Attributes(tkwin) (&((Tk_FakeWin *) (tkwin))->atts) +#define Tk_IsEmbedded(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_EMBEDDED) +#define Tk_IsContainer(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_CONTAINER) +#define Tk_IsMapped(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_MAPPED) +#define Tk_IsTopLevel(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_TOP_LEVEL) +#define Tk_HasWrapper(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_HAS_WRAPPER) +#define Tk_WinManaged(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_WIN_MANAGED) +#define Tk_TopWinHierarchy(tkwin) \ + (((Tk_FakeWin *) (tkwin))->flags & TK_TOP_HIERARCHY) +#define Tk_ReqWidth(tkwin) (((Tk_FakeWin *) (tkwin))->reqWidth) +#define Tk_ReqHeight(tkwin) (((Tk_FakeWin *) (tkwin))->reqHeight) +/* Tk_InternalBorderWidth is deprecated */ +#define Tk_InternalBorderWidth(tkwin) \ + (((Tk_FakeWin *) (tkwin))->internalBorderLeft) +#define Tk_InternalBorderLeft(tkwin) \ + (((Tk_FakeWin *) (tkwin))->internalBorderLeft) +#define Tk_InternalBorderRight(tkwin) \ + (((Tk_FakeWin *) (tkwin))->internalBorderRight) +#define Tk_InternalBorderTop(tkwin) \ + (((Tk_FakeWin *) (tkwin))->internalBorderTop) +#define Tk_InternalBorderBottom(tkwin) \ + (((Tk_FakeWin *) (tkwin))->internalBorderBottom) +#define Tk_MinReqWidth(tkwin) (((Tk_FakeWin *) (tkwin))->minReqWidth) +#define Tk_MinReqHeight(tkwin) (((Tk_FakeWin *) (tkwin))->minReqHeight) +#define Tk_Parent(tkwin) (((Tk_FakeWin *) (tkwin))->parentPtr) +#define Tk_Colormap(tkwin) (((Tk_FakeWin *) (tkwin))->atts.colormap) + +/* + * The structure below is needed by the macros above so that they can + * access the fields of a Tk_Window. The fields not needed by the macros + * are declared as "dummyX". The structure has its own type in order to + * prevent applications from accessing Tk_Window fields except using + * official macros. WARNING!! The structure definition must be kept + * consistent with the TkWindow structure in tkInt.h. If you change one, + * then change the other. See the declaration in tkInt.h for + * documentation on what the fields are used for internally. + */ + +typedef struct Tk_FakeWin { + Display *display; + char *dummy1; /* dispPtr */ + int screenNum; + Visual *visual; + int depth; + Window window; + char *dummy2; /* childList */ + char *dummy3; /* lastChildPtr */ + Tk_Window parentPtr; /* parentPtr */ + char *dummy4; /* nextPtr */ + char *dummy5; /* mainPtr */ + char *pathName; + Tk_Uid nameUid; + Tk_Uid classUid; + XWindowChanges changes; + unsigned int dummy6; /* dirtyChanges */ + XSetWindowAttributes atts; + unsigned long dummy7; /* dirtyAtts */ + unsigned int flags; + char *dummy8; /* handlerList */ +#ifdef TK_USE_INPUT_METHODS + XIC dummy9; /* inputContext */ +#endif /* TK_USE_INPUT_METHODS */ + ClientData *dummy10; /* tagPtr */ + int dummy11; /* numTags */ + int dummy12; /* optionLevel */ + char *dummy13; /* selHandlerList */ + char *dummy14; /* geomMgrPtr */ + ClientData dummy15; /* geomData */ + int reqWidth, reqHeight; + int internalBorderLeft; + char *dummy16; /* wmInfoPtr */ + char *dummy17; /* classProcPtr */ + ClientData dummy18; /* instanceData */ + char *dummy19; /* privatePtr */ + int internalBorderRight; + int internalBorderTop; + int internalBorderBottom; + int minReqWidth; + int minReqHeight; +} Tk_FakeWin; + +/* + * Flag values for TkWindow (and Tk_FakeWin) structures are: + * + * TK_MAPPED: 1 means window is currently mapped, + * 0 means unmapped. + * TK_TOP_LEVEL: 1 means this is a top-level widget. + * TK_ALREADY_DEAD: 1 means the window is in the process of + * being destroyed already. + * TK_NEED_CONFIG_NOTIFY: 1 means that the window has been reconfigured + * before it was made to exist. At the time of + * making it exist a ConfigureNotify event needs + * to be generated. + * TK_GRAB_FLAG: Used to manage grabs. See tkGrab.c for + * details. + * TK_CHECKED_IC: 1 means we've already tried to get an input + * context for this window; if the ic field + * is NULL it means that there isn't a context + * for the field. + * TK_DONT_DESTROY_WINDOW: 1 means that Tk_DestroyWindow should not + * invoke XDestroyWindow to destroy this widget's + * X window. The flag is set when the window + * has already been destroyed elsewhere (e.g. + * by another application) or when it will be + * destroyed later (e.g. by destroying its + * parent). + * TK_WM_COLORMAP_WINDOW: 1 means that this window has at some time + * appeared in the WM_COLORMAP_WINDOWS property + * for its toplevel, so we have to remove it + * from that property if the window is + * deleted and the toplevel isn't. + * TK_EMBEDDED: 1 means that this window (which must be a + * toplevel) is not a free-standing window but + * rather is embedded in some other application. + * TK_CONTAINER: 1 means that this window is a container, and + * that some other application (either in + * this process or elsewhere) may be + * embedding itself inside the window. + * TK_BOTH_HALVES: 1 means that this window is used for + * application embedding (either as + * container or embedded application), and + * both the containing and embedded halves + * are associated with windows in this + * particular process. + * TK_DEFER_MODAL: 1 means that this window has deferred a modal + * loop until all of the bindings for the current + * event have been invoked. + * TK_WRAPPER: 1 means that this window is the extra + * wrapper window created around a toplevel + * to hold the menubar under Unix. See + * tkUnixWm.c for more information. + * TK_REPARENTED: 1 means that this window has been reparented + * so that as far as the window system is + * concerned it isn't a child of its Tk + * parent. Initially this is used only for + * special Unix menubar windows. + * TK_ANONYMOUS_WINDOW: 1 means that this window has no name, and is + * thus not accessible from Tk. + * TK_HAS_WRAPPER 1 means that this window has a wrapper window + * TK_WIN_MANAGED 1 means that this window is a child of the + * root window, and is managed by the window + * manager. + * TK_TOP_HIERARCHY 1 means this window is at the top of a + * physical window hierarchy within this + * process, i.e. the window's parent + * either doesn't exist or is not owned by + * this Tk application. + * TK_PROP_PROPCHANGE 1 means that PropertyNotify events in + * this window's children should propagate + * up to this window. + */ + + +#define TK_MAPPED 1 +#define TK_TOP_LEVEL 2 +#define TK_ALREADY_DEAD 4 +#define TK_NEED_CONFIG_NOTIFY 8 +#define TK_GRAB_FLAG 0x10 +#define TK_CHECKED_IC 0x20 +#define TK_DONT_DESTROY_WINDOW 0x40 +#define TK_WM_COLORMAP_WINDOW 0x80 +#define TK_EMBEDDED 0x100 +#define TK_CONTAINER 0x200 +#define TK_BOTH_HALVES 0x400 +#define TK_DEFER_MODAL 0x800 +#define TK_WRAPPER 0x1000 +#define TK_REPARENTED 0x2000 +#define TK_ANONYMOUS_WINDOW 0x4000 +#define TK_HAS_WRAPPER 0x8000 +#define TK_WIN_MANAGED 0x10000 +#define TK_TOP_HIERARCHY 0x20000 +#define TK_PROP_PROPCHANGE 0x40000 + +/* + *-------------------------------------------------------------- + * + * Procedure prototypes and structures used for defining new canvas + * items: + * + *-------------------------------------------------------------- + */ + +typedef enum { + TK_STATE_NULL = -1, TK_STATE_ACTIVE, TK_STATE_DISABLED, + TK_STATE_NORMAL, TK_STATE_HIDDEN +} Tk_State; + +typedef struct Tk_SmoothMethod { + char *name; + int (*coordProc) _ANSI_ARGS_((Tk_Canvas canvas, + double *pointPtr, int numPoints, int numSteps, + XPoint xPoints[], double dblPoints[])); + void (*postscriptProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, double *coordPtr, + int numPoints, int numSteps)); +} Tk_SmoothMethod; + +/* + * For each item in a canvas widget there exists one record with + * the following structure. Each actual item is represented by + * a record with the following stuff at its beginning, plus additional + * type-specific stuff after that. + */ + +#define TK_TAG_SPACE 3 + +typedef struct Tk_Item { + int id; /* Unique identifier for this item + * (also serves as first tag for + * item). */ + struct Tk_Item *nextPtr; /* Next in display list of all + * items in this canvas. Later items + * in list are drawn on top of earlier + * ones. */ + Tk_Uid staticTagSpace[TK_TAG_SPACE];/* Built-in space for limited # of + * tags. */ + Tk_Uid *tagPtr; /* Pointer to array of tags. Usually + * points to staticTagSpace, but + * may point to malloc-ed space if + * there are lots of tags. */ + int tagSpace; /* Total amount of tag space available + * at tagPtr. */ + int numTags; /* Number of tag slots actually used + * at *tagPtr. */ + struct Tk_ItemType *typePtr; /* Table of procedures that implement + * this type of item. */ + int x1, y1, x2, y2; /* Bounding box for item, in integer + * canvas units. Set by item-specific + * code and guaranteed to contain every + * pixel drawn in item. Item area + * includes x1 and y1 but not x2 + * and y2. */ + struct Tk_Item *prevPtr; /* Previous in display list of all + * items in this canvas. Later items + * in list are drawn just below earlier + * ones. */ + Tk_State state; /* state of item */ + char *reserved1; /* reserved for future use */ + int redraw_flags; /* some flags used in the canvas */ + + /* + *------------------------------------------------------------------ + * Starting here is additional type-specific stuff; see the + * declarations for individual types to see what is part of + * each type. The actual space below is determined by the + * "itemInfoSize" of the type's Tk_ItemType record. + *------------------------------------------------------------------ + */ +} Tk_Item; + +/* + * Flag bits for canvases (redraw_flags): + * + * TK_ITEM_STATE_DEPENDANT - 1 means that object needs to be + * redrawn if the canvas state changes. + * TK_ITEM_DONT_REDRAW - 1 means that the object redraw is already + * been prepared, so the general canvas code + * doesn't need to do that any more. + */ + +#define TK_ITEM_STATE_DEPENDANT 1 +#define TK_ITEM_DONT_REDRAW 2 + +/* + * Records of the following type are used to describe a type of + * item (e.g. lines, circles, etc.) that can form part of a + * canvas widget. + */ + +#ifdef USE_OLD_CANVAS +typedef int Tk_ItemCreateProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + char **argv)); +typedef int Tk_ItemConfigureProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + char **argv, int flags)); +typedef int Tk_ItemCoordProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + char **argv)); +#else +typedef int Tk_ItemCreateProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + Tcl_Obj *CONST objv[])); +typedef int Tk_ItemConfigureProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + Tcl_Obj *CONST objv[], int flags)); +typedef int Tk_ItemCoordProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int argc, + Tcl_Obj *CONST argv[])); +#endif +typedef void Tk_ItemDeleteProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, Display *display)); +typedef void Tk_ItemDisplayProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, Display *display, Drawable dst, + int x, int y, int width, int height)); +typedef double Tk_ItemPointProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, double *pointPtr)); +typedef int Tk_ItemAreaProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, double *rectPtr)); +typedef int Tk_ItemPostscriptProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, int prepass)); +typedef void Tk_ItemScaleProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, double originX, double originY, + double scaleX, double scaleY)); +typedef void Tk_ItemTranslateProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, double deltaX, double deltaY)); +typedef int Tk_ItemIndexProc _ANSI_ARGS_((Tcl_Interp *interp, + Tk_Canvas canvas, Tk_Item *itemPtr, char *indexString, + int *indexPtr)); +typedef void Tk_ItemCursorProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, int index)); +typedef int Tk_ItemSelectionProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, int offset, char *buffer, + int maxBytes)); +typedef void Tk_ItemInsertProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, int beforeThis, char *string)); +typedef void Tk_ItemDCharsProc _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item *itemPtr, int first, int last)); + +#ifndef __NO_OLD_CONFIG + +typedef struct Tk_ItemType { + char *name; /* The name of this type of item, such + * as "line". */ + int itemSize; /* Total amount of space needed for + * item's record. */ + Tk_ItemCreateProc *createProc; /* Procedure to create a new item of + * this type. */ + Tk_ConfigSpec *configSpecs; /* Pointer to array of configuration + * specs for this type. Used for + * returning configuration info. */ + Tk_ItemConfigureProc *configProc; /* Procedure to call to change + * configuration options. */ + Tk_ItemCoordProc *coordProc; /* Procedure to call to get and set + * the item's coordinates. */ + Tk_ItemDeleteProc *deleteProc; /* Procedure to delete existing item of + * this type. */ + Tk_ItemDisplayProc *displayProc; /* Procedure to display items of + * this type. */ + int alwaysRedraw; /* Non-zero means displayProc should + * be called even when the item has + * been moved off-screen. */ + Tk_ItemPointProc *pointProc; /* Computes distance from item to + * a given point. */ + Tk_ItemAreaProc *areaProc; /* Computes whether item is inside, + * outside, or overlapping an area. */ + Tk_ItemPostscriptProc *postscriptProc; + /* Procedure to write a Postscript + * description for items of this + * type. */ + Tk_ItemScaleProc *scaleProc; /* Procedure to rescale items of + * this type. */ + Tk_ItemTranslateProc *translateProc;/* Procedure to translate items of + * this type. */ + Tk_ItemIndexProc *indexProc; /* Procedure to determine index of + * indicated character. NULL if + * item doesn't support indexing. */ + Tk_ItemCursorProc *icursorProc; /* Procedure to set insert cursor pos. + * to just before a given position. */ + Tk_ItemSelectionProc *selectionProc;/* Procedure to return selection (in + * STRING format) when it is in this + * item. */ + Tk_ItemInsertProc *insertProc; /* Procedure to insert something into + * an item. */ + Tk_ItemDCharsProc *dCharsProc; /* Procedure to delete characters + * from an item. */ + struct Tk_ItemType *nextPtr; /* Used to link types together into + * a list. */ + char *reserved1; /* Reserved for future extension. */ + int reserved2; /* Carefully compatible with */ + char *reserved3; /* Jan Nijtmans dash patch */ + char *reserved4; +} Tk_ItemType; + +#endif + +/* + * The following structure provides information about the selection and + * the insertion cursor. It is needed by only a few items, such as + * those that display text. It is shared by the generic canvas code + * and the item-specific code, but most of the fields should be written + * only by the canvas generic code. + */ + +typedef struct Tk_CanvasTextInfo { + Tk_3DBorder selBorder; /* Border and background for selected + * characters. Read-only to items.*/ + int selBorderWidth; /* Width of border around selection. + * Read-only to items. */ + XColor *selFgColorPtr; /* Foreground color for selected text. + * Read-only to items. */ + Tk_Item *selItemPtr; /* Pointer to selected item. NULL means + * selection isn't in this canvas. + * Writable by items. */ + int selectFirst; /* Character index of first selected + * character. Writable by items. */ + int selectLast; /* Character index of last selected + * character. Writable by items. */ + Tk_Item *anchorItemPtr; /* Item corresponding to "selectAnchor": + * not necessarily selItemPtr. Read-only + * to items. */ + int selectAnchor; /* Character index of fixed end of + * selection (i.e. "select to" operation will + * use this as one end of the selection). + * Writable by items. */ + Tk_3DBorder insertBorder; /* Used to draw vertical bar for insertion + * cursor. Read-only to items. */ + int insertWidth; /* Total width of insertion cursor. Read-only + * to items. */ + int insertBorderWidth; /* Width of 3-D border around insert cursor. + * Read-only to items. */ + Tk_Item *focusItemPtr; /* Item that currently has the input focus, + * or NULL if no such item. Read-only to + * items. */ + int gotFocus; /* Non-zero means that the canvas widget has + * the input focus. Read-only to items.*/ + int cursorOn; /* Non-zero means that an insertion cursor + * should be displayed in focusItemPtr. + * Read-only to items.*/ +} Tk_CanvasTextInfo; + +/* + * Structures used for Dashing and Outline. + */ + +typedef struct Tk_Dash { + int number; + union { + char *pt; + char array[sizeof(char *)]; + } pattern; +} Tk_Dash; + +typedef struct Tk_TSOffset { + int flags; /* flags; see below for possible values */ + int xoffset; /* x offset */ + int yoffset; /* y offset */ +} Tk_TSOffset; + +/* + * Bit fields in Tk_Offset->flags: + */ + +#define TK_OFFSET_INDEX 1 +#define TK_OFFSET_RELATIVE 2 +#define TK_OFFSET_LEFT 4 +#define TK_OFFSET_CENTER 8 +#define TK_OFFSET_RIGHT 16 +#define TK_OFFSET_TOP 32 +#define TK_OFFSET_MIDDLE 64 +#define TK_OFFSET_BOTTOM 128 + +typedef struct Tk_Outline { + GC gc; /* Graphics context. */ + double width; /* Width of outline. */ + double activeWidth; /* Width of outline. */ + double disabledWidth; /* Width of outline. */ + int offset; /* Dash offset */ + Tk_Dash dash; /* Dash pattern */ + Tk_Dash activeDash; /* Dash pattern if state is active*/ + Tk_Dash disabledDash; /* Dash pattern if state is disabled*/ + VOID *reserved1; /* reserved for future expansion */ + VOID *reserved2; + VOID *reserved3; + Tk_TSOffset tsoffset; /* stipple offset for outline*/ + XColor *color; /* Outline color. */ + XColor *activeColor; /* Outline color if state is active. */ + XColor *disabledColor; /* Outline color if state is disabled. */ + Pixmap stipple; /* Outline Stipple pattern. */ + Pixmap activeStipple; /* Outline Stipple pattern if state is active. */ + Pixmap disabledStipple; /* Outline Stipple pattern if state is disabled. */ +} Tk_Outline; + + +/* + *-------------------------------------------------------------- + * + * Procedure prototypes and structures used for managing images: + * + *-------------------------------------------------------------- + */ + +typedef struct Tk_ImageType Tk_ImageType; +#ifdef USE_OLD_IMAGE +typedef int (Tk_ImageCreateProc) _ANSI_ARGS_((Tcl_Interp *interp, + char *name, int argc, char **argv, Tk_ImageType *typePtr, + Tk_ImageMaster master, ClientData *masterDataPtr)); +#else +typedef int (Tk_ImageCreateProc) _ANSI_ARGS_((Tcl_Interp *interp, + char *name, int objc, Tcl_Obj *CONST objv[], Tk_ImageType *typePtr, + Tk_ImageMaster master, ClientData *masterDataPtr)); +#endif +typedef ClientData (Tk_ImageGetProc) _ANSI_ARGS_((Tk_Window tkwin, + ClientData masterData)); +typedef void (Tk_ImageDisplayProc) _ANSI_ARGS_((ClientData instanceData, + Display *display, Drawable drawable, int imageX, int imageY, + int width, int height, int drawableX, int drawableY)); +typedef void (Tk_ImageFreeProc) _ANSI_ARGS_((ClientData instanceData, + Display *display)); +typedef void (Tk_ImageDeleteProc) _ANSI_ARGS_((ClientData masterData)); +typedef void (Tk_ImageChangedProc) _ANSI_ARGS_((ClientData clientData, + int x, int y, int width, int height, int imageWidth, + int imageHeight)); +typedef int (Tk_ImagePostscriptProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, Tk_Window tkwin, Tk_PostscriptInfo psinfo, + int x, int y, int width, int height, int prepass)); + +/* + * The following structure represents a particular type of image + * (bitmap, xpm image, etc.). It provides information common to + * all images of that type, such as the type name and a collection + * of procedures in the image manager that respond to various + * events. Each image manager is represented by one of these + * structures. + */ + +struct Tk_ImageType { + char *name; /* Name of image type. */ + Tk_ImageCreateProc *createProc; + /* Procedure to call to create a new image + * of this type. */ + Tk_ImageGetProc *getProc; /* Procedure to call the first time + * Tk_GetImage is called in a new way + * (new visual or screen). */ + Tk_ImageDisplayProc *displayProc; + /* Call to draw image, in response to + * Tk_RedrawImage calls. */ + Tk_ImageFreeProc *freeProc; /* Procedure to call whenever Tk_FreeImage + * is called to release an instance of an + * image. */ + Tk_ImageDeleteProc *deleteProc; + /* Procedure to call to delete image. It + * will not be called until after freeProc + * has been called for each instance of the + * image. */ + Tk_ImagePostscriptProc *postscriptProc; + /* Procedure to call to produce postscript + * output for the image. */ + struct Tk_ImageType *nextPtr; + /* Next in list of all image types currently + * known. Filled in by Tk, not by image + * manager. */ + char *reserved; /* reserved for future expansion */ +}; + +/* + *-------------------------------------------------------------- + * + * Additional definitions used to manage images of type "photo". + * + *-------------------------------------------------------------- + */ + +/* + * The following type is used to identify a particular photo image + * to be manipulated: + */ + +typedef void *Tk_PhotoHandle; + +/* + * The following structure describes a block of pixels in memory: + */ + +typedef struct Tk_PhotoImageBlock { + unsigned char *pixelPtr; /* Pointer to the first pixel. */ + int width; /* Width of block, in pixels. */ + int height; /* Height of block, in pixels. */ + int pitch; /* Address difference between corresponding + * pixels in successive lines. */ + int pixelSize; /* Address difference between successive + * pixels in the same line. */ + int offset[4]; /* Address differences between the red, green, + * blue and alpha components of the pixel and + * the pixel as a whole. */ +} Tk_PhotoImageBlock; + +/* + * The following values control how blocks are combined into photo + * images when the alpha component of a pixel is not 255, a.k.a. the + * compositing rule. + */ + +#define TK_PHOTO_COMPOSITE_OVERLAY 0 +#define TK_PHOTO_COMPOSITE_SET 1 + +/* + * Procedure prototypes and structures used in reading and + * writing photo images: + */ + +typedef struct Tk_PhotoImageFormat Tk_PhotoImageFormat; +#ifdef USE_OLD_IMAGE +typedef int (Tk_ImageFileMatchProc) _ANSI_ARGS_((Tcl_Channel chan, + char *fileName, char *formatString, int *widthPtr, int *heightPtr)); +typedef int (Tk_ImageStringMatchProc) _ANSI_ARGS_((char *string, + char *formatString, int *widthPtr, int *heightPtr)); +typedef int (Tk_ImageFileReadProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Channel chan, char *fileName, char *formatString, + Tk_PhotoHandle imageHandle, int destX, int destY, + int width, int height, int srcX, int srcY)); +typedef int (Tk_ImageStringReadProc) _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *formatString, Tk_PhotoHandle imageHandle, + int destX, int destY, int width, int height, int srcX, int srcY)); +typedef int (Tk_ImageFileWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, + char *fileName, char *formatString, Tk_PhotoImageBlock *blockPtr)); +typedef int (Tk_ImageStringWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_DString *dataPtr, char *formatString, + Tk_PhotoImageBlock *blockPtr)); +#else +typedef int (Tk_ImageFileMatchProc) _ANSI_ARGS_((Tcl_Channel chan, + CONST char *fileName, Tcl_Obj *format, int *widthPtr, + int *heightPtr, Tcl_Interp *interp)); +typedef int (Tk_ImageStringMatchProc) _ANSI_ARGS_((Tcl_Obj *dataObj, + Tcl_Obj *format, int *widthPtr, int *heightPtr, + Tcl_Interp *interp)); +typedef int (Tk_ImageFileReadProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Channel chan, CONST char *fileName, Tcl_Obj *format, + Tk_PhotoHandle imageHandle, int destX, int destY, + int width, int height, int srcX, int srcY)); +typedef int (Tk_ImageStringReadProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *dataObj, Tcl_Obj *format, Tk_PhotoHandle imageHandle, + int destX, int destY, int width, int height, int srcX, int srcY)); +typedef int (Tk_ImageFileWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, + CONST char *fileName, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); +typedef int (Tk_ImageStringWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); +#endif + +/* + * The following structure represents a particular file format for + * storing images (e.g., PPM, GIF, JPEG, etc.). It provides information + * to allow image files of that format to be recognized and read into + * a photo image. + */ + +struct Tk_PhotoImageFormat { + char *name; /* Name of image file format */ + Tk_ImageFileMatchProc *fileMatchProc; + /* Procedure to call to determine whether + * an image file matches this format. */ + Tk_ImageStringMatchProc *stringMatchProc; + /* Procedure to call to determine whether + * the data in a string matches this format. */ + Tk_ImageFileReadProc *fileReadProc; + /* Procedure to call to read data from + * an image file into a photo image. */ + Tk_ImageStringReadProc *stringReadProc; + /* Procedure to call to read data from + * a string into a photo image. */ + Tk_ImageFileWriteProc *fileWriteProc; + /* Procedure to call to write data from + * a photo image to a file. */ + Tk_ImageStringWriteProc *stringWriteProc; + /* Procedure to call to obtain a string + * representation of the data in a photo + * image.*/ + struct Tk_PhotoImageFormat *nextPtr; + /* Next in list of all photo image formats + * currently known. Filled in by Tk, not + * by image format handler. */ +}; + +EXTERN void Tk_CreateOldImageType _ANSI_ARGS_(( + Tk_ImageType *typePtr)); +EXTERN void Tk_CreateOldPhotoImageFormat _ANSI_ARGS_(( + Tk_PhotoImageFormat *formatPtr)); + +#if !defined(USE_TK_STUBS) && defined(USE_OLD_IMAGE) +#define Tk_CreateImageType Tk_CreateOldImageType +#define Tk_CreatePhotoImageFormat Tk_CreateOldPhotoImageFormat +#endif + + +/* + *-------------------------------------------------------------- + * + * Procedure prototypes and structures used for managing styles: + * + *-------------------------------------------------------------- + */ + +/* + * Style support version tag. + */ +#define TK_STYLE_VERSION_1 0x1 +#define TK_STYLE_VERSION TK_STYLE_VERSION_1 + +/* + * The following structures and prototypes are used as static templates to + * declare widget elements. + */ + +typedef void (Tk_GetElementSizeProc) _ANSI_ARGS_((ClientData clientData, + char *recordPtr, CONST Tk_OptionSpec **optionsPtr, Tk_Window tkwin, + int width, int height, int inner, int *widthPtr, int *heightPtr)); +typedef void (Tk_GetElementBoxProc) _ANSI_ARGS_((ClientData clientData, + char *recordPtr, CONST Tk_OptionSpec **optionsPtr, Tk_Window tkwin, + int x, int y, int width, int height, int inner, int *xPtr, int *yPtr, + int *widthPtr, int *heightPtr)); +typedef int (Tk_GetElementBorderWidthProc) _ANSI_ARGS_((ClientData clientData, + char *recordPtr, CONST Tk_OptionSpec **optionsPtr, Tk_Window tkwin)); +typedef void (Tk_DrawElementProc) _ANSI_ARGS_((ClientData clientData, + char *recordPtr, CONST Tk_OptionSpec **optionsPtr, Tk_Window tkwin, + Drawable d, int x, int y, int width, int height, int state)); + +typedef struct Tk_ElementOptionSpec { + char *name; /* Name of the required option. */ + Tk_OptionType type; /* Accepted option type. TK_OPTION_END means + * any. */ +} Tk_ElementOptionSpec; + +typedef struct Tk_ElementSpec { + int version; /* Version of the style support. */ + char *name; /* Name of element. */ + Tk_ElementOptionSpec *options; + /* List of required options. Last one's name + * must be NULL. */ + + /* + * Hooks + */ + + Tk_GetElementSizeProc *getSize; + /* Compute the external (resp. internal) size of + * the element from its desired internal (resp. + * external) size. */ + Tk_GetElementBoxProc *getBox; + /* Compute the inscribed or bounding boxes + * within a given area. */ + Tk_GetElementBorderWidthProc *getBorderWidth; + /* Return the element's internal border width. + * Mostly useful for widgets. */ + Tk_DrawElementProc *draw; /* Draw the element in the given bounding box.*/ +} Tk_ElementSpec; + +/* + * Element state flags. Can be OR'ed. + */ + +#define TK_ELEMENT_STATE_ACTIVE 1<<0 +#define TK_ELEMENT_STATE_DISABLED 1<<1 +#define TK_ELEMENT_STATE_FOCUS 1<<2 +#define TK_ELEMENT_STATE_PRESSED 1<<3 + +/* + *-------------------------------------------------------------- + * + * The definitions below provide backward compatibility for + * functions and types related to event handling that used to + * be in Tk but have moved to Tcl. + * + *-------------------------------------------------------------- + */ + +#define TK_READABLE TCL_READABLE +#define TK_WRITABLE TCL_WRITABLE +#define TK_EXCEPTION TCL_EXCEPTION + +#define TK_DONT_WAIT TCL_DONT_WAIT +#define TK_X_EVENTS TCL_WINDOW_EVENTS +#define TK_WINDOW_EVENTS TCL_WINDOW_EVENTS +#define TK_FILE_EVENTS TCL_FILE_EVENTS +#define TK_TIMER_EVENTS TCL_TIMER_EVENTS +#define TK_IDLE_EVENTS TCL_IDLE_EVENTS +#define TK_ALL_EVENTS TCL_ALL_EVENTS + +#define Tk_IdleProc Tcl_IdleProc +#define Tk_FileProc Tcl_FileProc +#define Tk_TimerProc Tcl_TimerProc +#define Tk_TimerToken Tcl_TimerToken + +#define Tk_BackgroundError Tcl_BackgroundError +#define Tk_CancelIdleCall Tcl_CancelIdleCall +#define Tk_CreateFileHandler Tcl_CreateFileHandler +#define Tk_CreateTimerHandler Tcl_CreateTimerHandler +#define Tk_DeleteFileHandler Tcl_DeleteFileHandler +#define Tk_DeleteTimerHandler Tcl_DeleteTimerHandler +#define Tk_DoOneEvent Tcl_DoOneEvent +#define Tk_DoWhenIdle Tcl_DoWhenIdle +#define Tk_Sleep Tcl_Sleep + +/* Additional stuff that has moved to Tcl: */ + +#define Tk_EventuallyFree Tcl_EventuallyFree +#define Tk_FreeProc Tcl_FreeProc +#define Tk_Preserve Tcl_Preserve +#define Tk_Release Tcl_Release + +/* Removed Tk_Main, use macro instead */ +#define Tk_Main(argc, argv, proc) \ + Tk_MainEx(argc, argv, proc, Tcl_CreateInterp()) + +CONST char *Tk_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, char *version, int exact)); + +#ifndef USE_TK_STUBS + +#define Tk_InitStubs(interp, version, exact) \ + Tcl_PkgRequire(interp, "Tk", version, exact) + +#endif + +void Tk_InitImageArgs _ANSI_ARGS_((Tcl_Interp *interp, int argc, char ***argv)); + +#if !defined(USE_TK_STUBS) || !defined(USE_OLD_IMAGE) + +#define Tk_InitImageArgs(interp, argc, argv) /**/ + +#endif + + +/* + *-------------------------------------------------------------- + * + * Additional procedure types defined by Tk. + * + *-------------------------------------------------------------- + */ + +typedef int (Tk_ErrorProc) _ANSI_ARGS_((ClientData clientData, + XErrorEvent *errEventPtr)); +typedef void (Tk_EventProc) _ANSI_ARGS_((ClientData clientData, + XEvent *eventPtr)); +typedef int (Tk_GenericProc) _ANSI_ARGS_((ClientData clientData, + XEvent *eventPtr)); +typedef int (Tk_ClientMessageProc) _ANSI_ARGS_((Tk_Window tkwin, + XEvent *eventPtr)); +typedef int (Tk_GetSelProc) _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, char *portion)); +typedef void (Tk_LostSelProc) _ANSI_ARGS_((ClientData clientData)); +typedef Tk_RestrictAction (Tk_RestrictProc) _ANSI_ARGS_(( + ClientData clientData, XEvent *eventPtr)); +typedef int (Tk_SelectionProc) _ANSI_ARGS_((ClientData clientData, + int offset, char *buffer, int maxBytes)); + + +/* + *-------------------------------------------------------------- + * + * Platform independant exported procedures and variables. + * + *-------------------------------------------------------------- + */ + +#include "tkDecls.h" + +/* + * Allow users to say that they don't want to alter their source to + * add the extra argument to Tk_PhotoPutBlock(); DO NOT DEFINE THIS + * WHEN BUILDING TK. + * + * This goes after the inclusion of the stubbed-decls so that the + * declarations of what is actually there can be correct. + */ + +#ifdef USE_COMPOSITELESS_PHOTO_PUT_BLOCK +# ifdef Tk_PhotoPutBlock +# undef Tk_PhotoPutBlock +# endif +# define Tk_PhotoPutBlock Tk_PhotoPutBlock_NoComposite +# ifdef Tk_PhotoPutZoomedBlock +# undef Tk_PhotoPutZoomedBlock +# endif +# define Tk_PhotoPutZoomedBlock Tk_PhotoPutZoomedBlock_NoComposite +#endif /* USE_COMPOSITELESS_PHOTO_PUT_BLOCK */ + +/* + * Tcl commands exported by Tk: + */ + + +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLIMPORT + +#endif /* RC_INVOKED */ + +/* + * end block for C++ + */ + +#ifdef __cplusplus +} +#endif + +#endif /* _TK */ --- blt-2.4z.orig/debian/tclConfig.sh.tcl8.4 +++ blt-2.4z/debian/tclConfig.sh.tcl8.4 @@ -0,0 +1,180 @@ +# tclConfig.sh -- +# +# This shell script (for sh) is generated automatically by Tcl's +# configure script. It will create shell variables for most of +# the configuration options discovered by the configure script. +# This script is intended to be included by the configure scripts +# for Tcl extensions so that they don't have to figure this all +# out for themselves. +# +# The information in this file is specific to a single platform. +# +# RCS: @(#) $Id: tclConfig.sh.in,v 1.17.2.1 2004/07/20 11:13:10 das Exp $ + +# Tcl's version number. +TCL_VERSION='8.4' +TCL_MAJOR_VERSION='8' +TCL_MINOR_VERSION='4' +TCL_PATCH_LEVEL='.19' + +# C compiler to use for compilation. +TCL_CC='gcc' + +# -D flags for use with the C compiler. +TCL_DEFS='-DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_GETPWUID_R_5=1 -DHAVE_GETPWUID_R=1 -DHAVE_GETPWNAM_R_5=1 -DHAVE_GETPWNAM_R=1 -DHAVE_GETGRGID_R_5=1 -DHAVE_GETGRGID_R=1 -DHAVE_GETGRNAM_R_5=1 -DHAVE_GETGRNAM_R=1 -DHAVE_GETHOSTBYNAME_R_6=1 -DHAVE_GETHOSTBYNAME_R=1 -DHAVE_GETHOSTBYADDR_R_8=1 -DHAVE_GETHOSTBYADDR_R=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1 ' + +# If TCL was built with debugging symbols, generated libraries contain +# this string at the end of the library name (before the extension). +TCL_DBGX= + +# Default flags used in an optimized and debuggable build, respectively. +TCL_CFLAGS_DEBUG='-g' +TCL_CFLAGS_OPTIMIZE='-O2' + +# Default linker flags used in an optimized and debuggable build, respectively. +TCL_LDFLAGS_DEBUG='' +TCL_LDFLAGS_OPTIMIZE='' + +# Flag, 1: we built a shared lib, 0 we didn't +TCL_SHARED_BUILD=1 + +# The name of the Tcl library (may be either a .a file or a shared library): +TCL_LIB_FILE='libtcl8.4${TCL_DBGX}.so' + +# Flag to indicate whether shared libraries need export files. +TCL_NEEDS_EXP_FILE=0 + +# 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='' + +# Additional libraries to use when linking Tcl. +TCL_LIBS='-ldl -lpthread -lieee -lm' + +# Top-level directory in which Tcl's platform-independent files are +# installed. +TCL_PREFIX='/usr' + +# Top-level directory in which Tcl's platform-specific files (e.g. +# executables) are installed. +TCL_EXEC_PREFIX='/usr' + +# Flags to pass to cc when compiling the components of a shared library: +TCL_SHLIB_CFLAGS='-fPIC' + +# Flags to pass to cc to get warning messages +TCL_CFLAGS_WARNING='-Wall -Wno-implicit-int -fno-strict-aliasing' + +# Extra flags to pass to cc: +TCL_EXTRA_CFLAGS='-g -O2 -fno-unit-at-a-time -pipe ' + +# Base command to use for combining object files into a shared library: +TCL_SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + +# Base command to use for combining object files into a static library: +TCL_STLIB_LD='${AR} cr' + +# Either '$LIBS' (if dependent libraries should be included when linking +# shared libraries) or an empty string. See Tcl's configure.in for more +# explanation. +TCL_SHLIB_LD_LIBS='${LIBS}' + +# Suffix to use for the name of a shared library. +TCL_SHLIB_SUFFIX='.so' + +# Library file(s) to include in tclsh and other base applications +# in order to provide facilities needed by DLOBJ above. +TCL_DL_LIBS='-ldl' + +# Flags to pass to the compiler when linking object files into +# an executable tclsh or tcltest binary. +TCL_LD_FLAGS='-Wl,-Bsymbolic-functions -Wl,--export-dynamic' + +# Flags to pass to ld, such as "-R /usr/local/tcl/lib", that tell the +# run-time dynamic linker where to look for shared libraries such as +# libtcl.so. Used when linking applications. Only works if there +# is a variable "LIB_RUNTIME_DIR" defined in the Makefile. +TCL_CC_SEARCH_FLAGS='' +TCL_LD_SEARCH_FLAGS='' + +# Additional object files linked with Tcl to provide compatibility +# with standard facilities from ANSI C or POSIX. +TCL_COMPAT_OBJS='' + +# Name of the ranlib program to use. +TCL_RANLIB='ranlib' + +# -l flag to pass to the linker to pick up the Tcl library +TCL_LIB_FLAG='-ltcl8.4${TCL_DBGX}' + +# String to pass to linker to pick up the Tcl library from its +# build directory. +TCL_BUILD_LIB_SPEC='-L/usr/lib -ltcl8.4${TCL_DBGX}' + +# String to pass to linker to pick up the Tcl library from its +# installed directory. +TCL_LIB_SPEC='-L/usr/lib -ltcl8.4${TCL_DBGX}' + +# String to pass to the compiler so that an extension can +# find installed Tcl headers. +TCL_INCLUDE_SPEC='-I/usr/include/tcl8.4' + +# Indicates whether a version numbers should be used in -l switches +# ("ok" means it's safe to use switches like -ltcl7.5; "nodots" means +# use switches like -ltcl75). SunOS and FreeBSD require "nodots", for +# example. +TCL_LIB_VERSIONS_OK='ok' + +# String that can be evaluated to generate the part of a shared library +# name that comes after the "libxxx" (includes version number, if any, +# extension, and anything else needed). May depend on the variables +# VERSION and SHLIB_SUFFIX. On most UNIX systems this is +# ${VERSION}${SHLIB_SUFFIX}. +TCL_SHARED_LIB_SUFFIX='${VERSION}${DBGX}.so' + +# String that can be evaluated to generate the part of an unshared library +# name that comes after the "libxxx" (includes version number, if any, +# extension, and anything else needed). May depend on the variable +# VERSION. On most UNIX systems this is ${VERSION}.a. +TCL_UNSHARED_LIB_SUFFIX='${VERSION}${DBGX}.a' + +# Location of the top-level source directory from which Tcl was built. +# This is the directory that contains a README file as well as +# subdirectories such as generic, unix, etc. If Tcl was compiled in a +# different place than the directory containing the source files, this +# points to the location of the sources, not the location where Tcl was +# compiled. +TCL_SRC_DIR='/usr/include/tcl8.4/tcl-private' + +# List of standard directories in which to look for packages during +# "package require" commands. Contains the "prefix" directory plus also +# the "exec_prefix" directory, if it is different. +TCL_PACKAGE_PATH='/usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk /usr/share/tcltk /usr/lib' + +# Tcl supports stub. +TCL_SUPPORTS_STUBS=1 + +# The name of the Tcl stub library (.a): +TCL_STUB_LIB_FILE='libtclstub8.4${TCL_DBGX}.a' + +# -l flag to pass to the linker to pick up the Tcl stub library +TCL_STUB_LIB_FLAG='-ltclstub8.4${TCL_DBGX}' + +# String to pass to linker to pick up the Tcl stub library from its +# build directory. +TCL_BUILD_STUB_LIB_SPEC='-L/usr/lib -ltclstub8.4${TCL_DBGX}' + +# String to pass to linker to pick up the Tcl stub library from its +# installed directory. +TCL_STUB_LIB_SPEC='-L/usr/lib -ltclstub8.4${TCL_DBGX}' + +# Path to the Tcl stub library in the build directory. +TCL_BUILD_STUB_LIB_PATH='/usr/lib/libtclstub8.4${TCL_DBGX}.a' + +# Path to the Tcl stub library in the install directory. +TCL_STUB_LIB_PATH='/usr/lib/libtclstub8.4${TCL_DBGX}.a' + +# Flag, 1: we built Tcl with threads enables, 0 we didn't +TCL_THREADS=1 --- blt-2.4z.orig/debian/tkDecls.h.tk8.4 +++ blt-2.4z/debian/tkDecls.h.tk8.4 @@ -0,0 +1,2275 @@ +/* + * tkDecls.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: tkDecls.h,v 1.23 2002/08/05 04:30:38 dgp Exp $ + */ + +#ifndef _TKDECLS +#define _TKDECLS + +#ifdef BUILD_tk +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLEXPORT +#endif + +/* + * 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/tk.decls script. + */ + +/* !BEGIN!: Do not edit below this line. */ + +/* + * Exported function declarations: + */ + +/* 0 */ +EXTERN void Tk_MainLoop _ANSI_ARGS_((void)); +/* 1 */ +EXTERN XColor * Tk_3DBorderColor _ANSI_ARGS_((Tk_3DBorder border)); +/* 2 */ +EXTERN GC Tk_3DBorderGC _ANSI_ARGS_((Tk_Window tkwin, + Tk_3DBorder border, int which)); +/* 3 */ +EXTERN void Tk_3DHorizontalBevel _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, int x, + int y, int width, int height, int leftIn, + int rightIn, int topBevel, int relief)); +/* 4 */ +EXTERN void Tk_3DVerticalBevel _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, int x, + int y, int width, int height, int leftBevel, + int relief)); +/* 5 */ +EXTERN void Tk_AddOption _ANSI_ARGS_((Tk_Window tkwin, + CONST char * name, CONST char * value, + int priority)); +/* 6 */ +EXTERN void Tk_BindEvent _ANSI_ARGS_(( + Tk_BindingTable bindingTable, + XEvent * eventPtr, Tk_Window tkwin, + int numObjects, ClientData * objectPtr)); +/* 7 */ +EXTERN void Tk_CanvasDrawableCoords _ANSI_ARGS_(( + Tk_Canvas canvas, double x, double y, + short * drawableXPtr, short * drawableYPtr)); +/* 8 */ +EXTERN void Tk_CanvasEventuallyRedraw _ANSI_ARGS_(( + Tk_Canvas canvas, int x1, int y1, int x2, + int y2)); +/* 9 */ +EXTERN int Tk_CanvasGetCoord _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, CONST char * str, + double * doublePtr)); +/* 10 */ +EXTERN Tk_CanvasTextInfo * Tk_CanvasGetTextInfo _ANSI_ARGS_(( + Tk_Canvas canvas)); +/* 11 */ +EXTERN int Tk_CanvasPsBitmap _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, Pixmap bitmap, int x, + int y, int width, int height)); +/* 12 */ +EXTERN int Tk_CanvasPsColor _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, XColor * colorPtr)); +/* 13 */ +EXTERN int Tk_CanvasPsFont _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, Tk_Font font)); +/* 14 */ +EXTERN void Tk_CanvasPsPath _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, double * coordPtr, + int numPoints)); +/* 15 */ +EXTERN int Tk_CanvasPsStipple _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Canvas canvas, Pixmap bitmap)); +/* 16 */ +EXTERN double Tk_CanvasPsY _ANSI_ARGS_((Tk_Canvas canvas, double y)); +/* 17 */ +EXTERN void Tk_CanvasSetStippleOrigin _ANSI_ARGS_(( + Tk_Canvas canvas, GC gc)); +/* 18 */ +EXTERN int Tk_CanvasTagsParseProc _ANSI_ARGS_(( + ClientData clientData, Tcl_Interp * interp, + Tk_Window tkwin, CONST char * value, + char * widgRec, int offset)); +/* 19 */ +EXTERN char * Tk_CanvasTagsPrintProc _ANSI_ARGS_(( + ClientData clientData, Tk_Window tkwin, + char * widgRec, int offset, + Tcl_FreeProc ** freeProcPtr)); +/* 20 */ +EXTERN Tk_Window Tk_CanvasTkwin _ANSI_ARGS_((Tk_Canvas canvas)); +/* 21 */ +EXTERN void Tk_CanvasWindowCoords _ANSI_ARGS_((Tk_Canvas canvas, + double x, double y, short * screenXPtr, + short * screenYPtr)); +/* 22 */ +EXTERN void Tk_ChangeWindowAttributes _ANSI_ARGS_(( + Tk_Window tkwin, unsigned long valueMask, + XSetWindowAttributes * attsPtr)); +/* 23 */ +EXTERN int Tk_CharBbox _ANSI_ARGS_((Tk_TextLayout layout, + int index, int * xPtr, int * yPtr, + int * widthPtr, int * heightPtr)); +/* 24 */ +EXTERN void Tk_ClearSelection _ANSI_ARGS_((Tk_Window tkwin, + Atom selection)); +/* 25 */ +EXTERN int Tk_ClipboardAppend _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Atom target, Atom format, + char* buffer)); +/* 26 */ +EXTERN int Tk_ClipboardClear _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin)); +/* 27 */ +EXTERN int Tk_ConfigureInfo _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_ConfigSpec * specs, + char * widgRec, CONST char * argvName, + int flags)); +/* 28 */ +EXTERN int Tk_ConfigureValue _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_ConfigSpec * specs, + char * widgRec, CONST char * argvName, + int flags)); +/* 29 */ +EXTERN int Tk_ConfigureWidget _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_ConfigSpec * specs, + int argc, CONST84 char ** argv, + char * widgRec, int flags)); +/* 30 */ +EXTERN void Tk_ConfigureWindow _ANSI_ARGS_((Tk_Window tkwin, + unsigned int valueMask, + XWindowChanges * valuePtr)); +/* 31 */ +EXTERN Tk_TextLayout Tk_ComputeTextLayout _ANSI_ARGS_((Tk_Font font, + CONST char * str, int numChars, + int wrapLength, Tk_Justify justify, + int flags, int * widthPtr, int * heightPtr)); +/* 32 */ +EXTERN Tk_Window Tk_CoordsToWindow _ANSI_ARGS_((int rootX, int rootY, + Tk_Window tkwin)); +/* 33 */ +EXTERN unsigned long Tk_CreateBinding _ANSI_ARGS_((Tcl_Interp * interp, + Tk_BindingTable bindingTable, + ClientData object, CONST char * eventStr, + CONST char * command, int append)); +/* 34 */ +EXTERN Tk_BindingTable Tk_CreateBindingTable _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 35 */ +EXTERN Tk_ErrorHandler Tk_CreateErrorHandler _ANSI_ARGS_((Display * display, + int errNum, int request, int minorCode, + Tk_ErrorProc * errorProc, + ClientData clientData)); +/* 36 */ +EXTERN void Tk_CreateEventHandler _ANSI_ARGS_((Tk_Window token, + unsigned long mask, Tk_EventProc * proc, + ClientData clientData)); +/* 37 */ +EXTERN void Tk_CreateGenericHandler _ANSI_ARGS_(( + Tk_GenericProc * proc, ClientData clientData)); +/* 38 */ +EXTERN void Tk_CreateImageType _ANSI_ARGS_(( + Tk_ImageType * typePtr)); +/* 39 */ +EXTERN void Tk_CreateItemType _ANSI_ARGS_((Tk_ItemType * typePtr)); +/* 40 */ +EXTERN void Tk_CreatePhotoImageFormat _ANSI_ARGS_(( + Tk_PhotoImageFormat * formatPtr)); +/* 41 */ +EXTERN void Tk_CreateSelHandler _ANSI_ARGS_((Tk_Window tkwin, + Atom selection, Atom target, + Tk_SelectionProc * proc, + ClientData clientData, Atom format)); +/* 42 */ +EXTERN Tk_Window Tk_CreateWindow _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window parent, CONST char * name, + CONST char * screenName)); +/* 43 */ +EXTERN Tk_Window Tk_CreateWindowFromPath _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + CONST char * pathName, + CONST char * screenName)); +/* 44 */ +EXTERN int Tk_DefineBitmap _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, CONST char * source, + int width, int height)); +/* 45 */ +EXTERN void Tk_DefineCursor _ANSI_ARGS_((Tk_Window window, + Tk_Cursor cursor)); +/* 46 */ +EXTERN void Tk_DeleteAllBindings _ANSI_ARGS_(( + Tk_BindingTable bindingTable, + ClientData object)); +/* 47 */ +EXTERN int Tk_DeleteBinding _ANSI_ARGS_((Tcl_Interp * interp, + Tk_BindingTable bindingTable, + ClientData object, CONST char * eventStr)); +/* 48 */ +EXTERN void Tk_DeleteBindingTable _ANSI_ARGS_(( + Tk_BindingTable bindingTable)); +/* 49 */ +EXTERN void Tk_DeleteErrorHandler _ANSI_ARGS_(( + Tk_ErrorHandler handler)); +/* 50 */ +EXTERN void Tk_DeleteEventHandler _ANSI_ARGS_((Tk_Window token, + unsigned long mask, Tk_EventProc * proc, + ClientData clientData)); +/* 51 */ +EXTERN void Tk_DeleteGenericHandler _ANSI_ARGS_(( + Tk_GenericProc * proc, ClientData clientData)); +/* 52 */ +EXTERN void Tk_DeleteImage _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name)); +/* 53 */ +EXTERN void Tk_DeleteSelHandler _ANSI_ARGS_((Tk_Window tkwin, + Atom selection, Atom target)); +/* 54 */ +EXTERN void Tk_DestroyWindow _ANSI_ARGS_((Tk_Window tkwin)); +/* 55 */ +EXTERN CONST84_RETURN char * Tk_DisplayName _ANSI_ARGS_((Tk_Window tkwin)); +/* 56 */ +EXTERN int Tk_DistanceToTextLayout _ANSI_ARGS_(( + Tk_TextLayout layout, int x, int y)); +/* 57 */ +EXTERN void Tk_Draw3DPolygon _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, + XPoint * pointPtr, int numPoints, + int borderWidth, int leftRelief)); +/* 58 */ +EXTERN void Tk_Draw3DRectangle _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, int x, + int y, int width, int height, + int borderWidth, int relief)); +/* 59 */ +EXTERN void Tk_DrawChars _ANSI_ARGS_((Display * display, + Drawable drawable, GC gc, Tk_Font tkfont, + CONST char * source, int numBytes, int x, + int y)); +/* 60 */ +EXTERN void Tk_DrawFocusHighlight _ANSI_ARGS_((Tk_Window tkwin, + GC gc, int width, Drawable drawable)); +/* 61 */ +EXTERN void Tk_DrawTextLayout _ANSI_ARGS_((Display * display, + Drawable drawable, GC gc, + Tk_TextLayout layout, int x, int y, + int firstChar, int lastChar)); +/* 62 */ +EXTERN void Tk_Fill3DPolygon _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, + XPoint * pointPtr, int numPoints, + int borderWidth, int leftRelief)); +/* 63 */ +EXTERN void Tk_Fill3DRectangle _ANSI_ARGS_((Tk_Window tkwin, + Drawable drawable, Tk_3DBorder border, int x, + int y, int width, int height, + int borderWidth, int relief)); +/* 64 */ +EXTERN Tk_PhotoHandle Tk_FindPhoto _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * imageName)); +/* 65 */ +EXTERN Font Tk_FontId _ANSI_ARGS_((Tk_Font font)); +/* 66 */ +EXTERN void Tk_Free3DBorder _ANSI_ARGS_((Tk_3DBorder border)); +/* 67 */ +EXTERN void Tk_FreeBitmap _ANSI_ARGS_((Display * display, + Pixmap bitmap)); +/* 68 */ +EXTERN void Tk_FreeColor _ANSI_ARGS_((XColor * colorPtr)); +/* 69 */ +EXTERN void Tk_FreeColormap _ANSI_ARGS_((Display * display, + Colormap colormap)); +/* 70 */ +EXTERN void Tk_FreeCursor _ANSI_ARGS_((Display * display, + Tk_Cursor cursor)); +/* 71 */ +EXTERN void Tk_FreeFont _ANSI_ARGS_((Tk_Font f)); +/* 72 */ +EXTERN void Tk_FreeGC _ANSI_ARGS_((Display * display, GC gc)); +/* 73 */ +EXTERN void Tk_FreeImage _ANSI_ARGS_((Tk_Image image)); +/* 74 */ +EXTERN void Tk_FreeOptions _ANSI_ARGS_((Tk_ConfigSpec * specs, + char * widgRec, Display * display, + int needFlags)); +/* 75 */ +EXTERN void Tk_FreePixmap _ANSI_ARGS_((Display * display, + Pixmap pixmap)); +/* 76 */ +EXTERN void Tk_FreeTextLayout _ANSI_ARGS_(( + Tk_TextLayout textLayout)); +/* 77 */ +EXTERN void Tk_FreeXId _ANSI_ARGS_((Display * display, XID xid)); +/* 78 */ +EXTERN GC Tk_GCForColor _ANSI_ARGS_((XColor * colorPtr, + Drawable drawable)); +/* 79 */ +EXTERN void Tk_GeometryRequest _ANSI_ARGS_((Tk_Window tkwin, + int reqWidth, int reqHeight)); +/* 80 */ +EXTERN Tk_3DBorder Tk_Get3DBorder _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_Uid colorName)); +/* 81 */ +EXTERN void Tk_GetAllBindings _ANSI_ARGS_((Tcl_Interp * interp, + Tk_BindingTable bindingTable, + ClientData object)); +/* 82 */ +EXTERN int Tk_GetAnchor _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, Tk_Anchor * anchorPtr)); +/* 83 */ +EXTERN CONST84_RETURN char * Tk_GetAtomName _ANSI_ARGS_((Tk_Window tkwin, + Atom atom)); +/* 84 */ +EXTERN CONST84_RETURN char * Tk_GetBinding _ANSI_ARGS_((Tcl_Interp * interp, + Tk_BindingTable bindingTable, + ClientData object, CONST char * eventStr)); +/* 85 */ +EXTERN Pixmap Tk_GetBitmap _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str)); +/* 86 */ +EXTERN Pixmap Tk_GetBitmapFromData _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + CONST char * source, int width, int height)); +/* 87 */ +EXTERN int Tk_GetCapStyle _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int * capPtr)); +/* 88 */ +EXTERN XColor * Tk_GetColor _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_Uid name)); +/* 89 */ +EXTERN XColor * Tk_GetColorByValue _ANSI_ARGS_((Tk_Window tkwin, + XColor * colorPtr)); +/* 90 */ +EXTERN Colormap Tk_GetColormap _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str)); +/* 91 */ +EXTERN Tk_Cursor Tk_GetCursor _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_Uid str)); +/* 92 */ +EXTERN Tk_Cursor Tk_GetCursorFromData _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + CONST char * source, CONST char * mask, + int width, int height, int xHot, int yHot, + Tk_Uid fg, Tk_Uid bg)); +/* 93 */ +EXTERN Tk_Font Tk_GetFont _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str)); +/* 94 */ +EXTERN Tk_Font Tk_GetFontFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 95 */ +EXTERN void Tk_GetFontMetrics _ANSI_ARGS_((Tk_Font font, + Tk_FontMetrics * fmPtr)); +/* 96 */ +EXTERN GC Tk_GetGC _ANSI_ARGS_((Tk_Window tkwin, + unsigned long valueMask, + XGCValues * valuePtr)); +/* 97 */ +EXTERN Tk_Image Tk_GetImage _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * name, + Tk_ImageChangedProc * changeProc, + ClientData clientData)); +/* 98 */ +EXTERN ClientData Tk_GetImageMasterData _ANSI_ARGS_(( + Tcl_Interp * interp, CONST char * name, + Tk_ImageType ** typePtrPtr)); +/* 99 */ +EXTERN Tk_ItemType * Tk_GetItemTypes _ANSI_ARGS_((void)); +/* 100 */ +EXTERN int Tk_GetJoinStyle _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, int * joinPtr)); +/* 101 */ +EXTERN int Tk_GetJustify _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * str, Tk_Justify * justifyPtr)); +/* 102 */ +EXTERN int Tk_GetNumMainWindows _ANSI_ARGS_((void)); +/* 103 */ +EXTERN Tk_Uid Tk_GetOption _ANSI_ARGS_((Tk_Window tkwin, + CONST char * name, CONST char * className)); +/* 104 */ +EXTERN int Tk_GetPixels _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str, + int * intPtr)); +/* 105 */ +EXTERN Pixmap Tk_GetPixmap _ANSI_ARGS_((Display * display, + Drawable d, int width, int height, int depth)); +/* 106 */ +EXTERN int Tk_GetRelief _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name, int * reliefPtr)); +/* 107 */ +EXTERN void Tk_GetRootCoords _ANSI_ARGS_((Tk_Window tkwin, + int * xPtr, int * yPtr)); +/* 108 */ +EXTERN int Tk_GetScrollInfo _ANSI_ARGS_((Tcl_Interp * interp, + int argc, CONST84 char ** argv, + double * dblPtr, int * intPtr)); +/* 109 */ +EXTERN int Tk_GetScreenMM _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str, + double * doublePtr)); +/* 110 */ +EXTERN int Tk_GetSelection _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Atom selection, Atom target, + Tk_GetSelProc * proc, ClientData clientData)); +/* 111 */ +EXTERN Tk_Uid Tk_GetUid _ANSI_ARGS_((CONST char * str)); +/* 112 */ +EXTERN Visual * Tk_GetVisual _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, CONST char * str, + int * depthPtr, Colormap * colormapPtr)); +/* 113 */ +EXTERN void Tk_GetVRootGeometry _ANSI_ARGS_((Tk_Window tkwin, + int * xPtr, int * yPtr, int * widthPtr, + int * heightPtr)); +/* 114 */ +EXTERN int Tk_Grab _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, int grabGlobal)); +/* 115 */ +EXTERN void Tk_HandleEvent _ANSI_ARGS_((XEvent * eventPtr)); +/* 116 */ +EXTERN Tk_Window Tk_IdToWindow _ANSI_ARGS_((Display * display, + Window window)); +/* 117 */ +EXTERN void Tk_ImageChanged _ANSI_ARGS_((Tk_ImageMaster master, + int x, int y, int width, int height, + int imageWidth, int imageHeight)); +/* 118 */ +EXTERN int Tk_Init _ANSI_ARGS_((Tcl_Interp * interp)); +/* 119 */ +EXTERN Atom Tk_InternAtom _ANSI_ARGS_((Tk_Window tkwin, + CONST char * name)); +/* 120 */ +EXTERN int Tk_IntersectTextLayout _ANSI_ARGS_(( + Tk_TextLayout layout, int x, int y, + int width, int height)); +/* 121 */ +EXTERN void Tk_MaintainGeometry _ANSI_ARGS_((Tk_Window slave, + Tk_Window master, int x, int y, int width, + int height)); +/* 122 */ +EXTERN Tk_Window Tk_MainWindow _ANSI_ARGS_((Tcl_Interp * interp)); +/* 123 */ +EXTERN void Tk_MakeWindowExist _ANSI_ARGS_((Tk_Window tkwin)); +/* 124 */ +EXTERN void Tk_ManageGeometry _ANSI_ARGS_((Tk_Window tkwin, + Tk_GeomMgr * mgrPtr, ClientData clientData)); +/* 125 */ +EXTERN void Tk_MapWindow _ANSI_ARGS_((Tk_Window tkwin)); +/* 126 */ +EXTERN int Tk_MeasureChars _ANSI_ARGS_((Tk_Font tkfont, + CONST char * source, int numBytes, + int maxPixels, int flags, int * lengthPtr)); +/* 127 */ +EXTERN void Tk_MoveResizeWindow _ANSI_ARGS_((Tk_Window tkwin, + int x, int y, int width, int height)); +/* 128 */ +EXTERN void Tk_MoveWindow _ANSI_ARGS_((Tk_Window tkwin, int x, + int y)); +/* 129 */ +EXTERN void Tk_MoveToplevelWindow _ANSI_ARGS_((Tk_Window tkwin, + int x, int y)); +/* 130 */ +EXTERN CONST84_RETURN char * Tk_NameOf3DBorder _ANSI_ARGS_(( + Tk_3DBorder border)); +/* 131 */ +EXTERN CONST84_RETURN char * Tk_NameOfAnchor _ANSI_ARGS_((Tk_Anchor anchor)); +/* 132 */ +EXTERN CONST84_RETURN char * Tk_NameOfBitmap _ANSI_ARGS_((Display * display, + Pixmap bitmap)); +/* 133 */ +EXTERN CONST84_RETURN char * Tk_NameOfCapStyle _ANSI_ARGS_((int cap)); +/* 134 */ +EXTERN CONST84_RETURN char * Tk_NameOfColor _ANSI_ARGS_((XColor * colorPtr)); +/* 135 */ +EXTERN CONST84_RETURN char * Tk_NameOfCursor _ANSI_ARGS_((Display * display, + Tk_Cursor cursor)); +/* 136 */ +EXTERN CONST84_RETURN char * Tk_NameOfFont _ANSI_ARGS_((Tk_Font font)); +/* 137 */ +EXTERN CONST84_RETURN char * Tk_NameOfImage _ANSI_ARGS_(( + Tk_ImageMaster imageMaster)); +/* 138 */ +EXTERN CONST84_RETURN char * Tk_NameOfJoinStyle _ANSI_ARGS_((int join)); +/* 139 */ +EXTERN CONST84_RETURN char * Tk_NameOfJustify _ANSI_ARGS_(( + Tk_Justify justify)); +/* 140 */ +EXTERN CONST84_RETURN char * Tk_NameOfRelief _ANSI_ARGS_((int relief)); +/* 141 */ +EXTERN Tk_Window Tk_NameToWindow _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * pathName, Tk_Window tkwin)); +/* 142 */ +EXTERN void Tk_OwnSelection _ANSI_ARGS_((Tk_Window tkwin, + Atom selection, Tk_LostSelProc * proc, + ClientData clientData)); +/* 143 */ +EXTERN int Tk_ParseArgv _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, int * argcPtr, + CONST84 char ** argv, Tk_ArgvInfo * argTable, + int flags)); +/* 144 */ +EXTERN void Tk_PhotoPutBlock_NoComposite _ANSI_ARGS_(( + Tk_PhotoHandle handle, + Tk_PhotoImageBlock * blockPtr, int x, int y, + int width, int height)); +/* 145 */ +EXTERN void Tk_PhotoPutZoomedBlock_NoComposite _ANSI_ARGS_(( + Tk_PhotoHandle handle, + Tk_PhotoImageBlock * blockPtr, int x, int y, + int width, int height, int zoomX, int zoomY, + int subsampleX, int subsampleY)); +/* 146 */ +EXTERN int Tk_PhotoGetImage _ANSI_ARGS_((Tk_PhotoHandle handle, + Tk_PhotoImageBlock * blockPtr)); +/* 147 */ +EXTERN void Tk_PhotoBlank _ANSI_ARGS_((Tk_PhotoHandle handle)); +/* 148 */ +EXTERN void Tk_PhotoExpand _ANSI_ARGS_((Tk_PhotoHandle handle, + int width, int height)); +/* 149 */ +EXTERN void Tk_PhotoGetSize _ANSI_ARGS_((Tk_PhotoHandle handle, + int * widthPtr, int * heightPtr)); +/* 150 */ +EXTERN void Tk_PhotoSetSize _ANSI_ARGS_((Tk_PhotoHandle handle, + int width, int height)); +/* 151 */ +EXTERN int Tk_PointToChar _ANSI_ARGS_((Tk_TextLayout layout, + int x, int y)); +/* 152 */ +EXTERN int Tk_PostscriptFontName _ANSI_ARGS_((Tk_Font tkfont, + Tcl_DString * dsPtr)); +/* 153 */ +EXTERN void Tk_PreserveColormap _ANSI_ARGS_((Display * display, + Colormap colormap)); +/* 154 */ +EXTERN void Tk_QueueWindowEvent _ANSI_ARGS_((XEvent * eventPtr, + Tcl_QueuePosition position)); +/* 155 */ +EXTERN void Tk_RedrawImage _ANSI_ARGS_((Tk_Image image, + int imageX, int imageY, int width, + int height, Drawable drawable, int drawableX, + int drawableY)); +/* 156 */ +EXTERN void Tk_ResizeWindow _ANSI_ARGS_((Tk_Window tkwin, + int width, int height)); +/* 157 */ +EXTERN int Tk_RestackWindow _ANSI_ARGS_((Tk_Window tkwin, + int aboveBelow, Tk_Window other)); +/* 158 */ +EXTERN Tk_RestrictProc * Tk_RestrictEvents _ANSI_ARGS_(( + Tk_RestrictProc * proc, ClientData arg, + ClientData * prevArgPtr)); +/* 159 */ +EXTERN int Tk_SafeInit _ANSI_ARGS_((Tcl_Interp * interp)); +/* 160 */ +EXTERN CONST char * Tk_SetAppName _ANSI_ARGS_((Tk_Window tkwin, + CONST char * name)); +/* 161 */ +EXTERN void Tk_SetBackgroundFromBorder _ANSI_ARGS_(( + Tk_Window tkwin, Tk_3DBorder border)); +/* 162 */ +EXTERN void Tk_SetClass _ANSI_ARGS_((Tk_Window tkwin, + CONST char * className)); +/* 163 */ +EXTERN void Tk_SetGrid _ANSI_ARGS_((Tk_Window tkwin, + int reqWidth, int reqHeight, int gridWidth, + int gridHeight)); +/* 164 */ +EXTERN void Tk_SetInternalBorder _ANSI_ARGS_((Tk_Window tkwin, + int width)); +/* 165 */ +EXTERN void Tk_SetWindowBackground _ANSI_ARGS_((Tk_Window tkwin, + unsigned long pixel)); +/* 166 */ +EXTERN void Tk_SetWindowBackgroundPixmap _ANSI_ARGS_(( + Tk_Window tkwin, Pixmap pixmap)); +/* 167 */ +EXTERN void Tk_SetWindowBorder _ANSI_ARGS_((Tk_Window tkwin, + unsigned long pixel)); +/* 168 */ +EXTERN void Tk_SetWindowBorderWidth _ANSI_ARGS_((Tk_Window tkwin, + int width)); +/* 169 */ +EXTERN void Tk_SetWindowBorderPixmap _ANSI_ARGS_(( + Tk_Window tkwin, Pixmap pixmap)); +/* 170 */ +EXTERN void Tk_SetWindowColormap _ANSI_ARGS_((Tk_Window tkwin, + Colormap colormap)); +/* 171 */ +EXTERN int Tk_SetWindowVisual _ANSI_ARGS_((Tk_Window tkwin, + Visual * visual, int depth, + Colormap colormap)); +/* 172 */ +EXTERN void Tk_SizeOfBitmap _ANSI_ARGS_((Display * display, + Pixmap bitmap, int * widthPtr, + int * heightPtr)); +/* 173 */ +EXTERN void Tk_SizeOfImage _ANSI_ARGS_((Tk_Image image, + int * widthPtr, int * heightPtr)); +/* 174 */ +EXTERN int Tk_StrictMotif _ANSI_ARGS_((Tk_Window tkwin)); +/* 175 */ +EXTERN void Tk_TextLayoutToPostscript _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_TextLayout layout)); +/* 176 */ +EXTERN int Tk_TextWidth _ANSI_ARGS_((Tk_Font font, + CONST char * str, int numBytes)); +/* 177 */ +EXTERN void Tk_UndefineCursor _ANSI_ARGS_((Tk_Window window)); +/* 178 */ +EXTERN void Tk_UnderlineChars _ANSI_ARGS_((Display * display, + Drawable drawable, GC gc, Tk_Font tkfont, + CONST char * source, int x, int y, + int firstByte, int lastByte)); +/* 179 */ +EXTERN void Tk_UnderlineTextLayout _ANSI_ARGS_(( + Display * display, Drawable drawable, GC gc, + Tk_TextLayout layout, int x, int y, + int underline)); +/* 180 */ +EXTERN void Tk_Ungrab _ANSI_ARGS_((Tk_Window tkwin)); +/* 181 */ +EXTERN void Tk_UnmaintainGeometry _ANSI_ARGS_((Tk_Window slave, + Tk_Window master)); +/* 182 */ +EXTERN void Tk_UnmapWindow _ANSI_ARGS_((Tk_Window tkwin)); +/* 183 */ +EXTERN void Tk_UnsetGrid _ANSI_ARGS_((Tk_Window tkwin)); +/* 184 */ +EXTERN void Tk_UpdatePointer _ANSI_ARGS_((Tk_Window tkwin, int x, + int y, int state)); +/* 185 */ +EXTERN Pixmap Tk_AllocBitmapFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 186 */ +EXTERN Tk_3DBorder Tk_Alloc3DBorderFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 187 */ +EXTERN XColor * Tk_AllocColorFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 188 */ +EXTERN Tk_Cursor Tk_AllocCursorFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 189 */ +EXTERN Tk_Font Tk_AllocFontFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tcl_Obj * objPtr)); +/* 190 */ +EXTERN Tk_OptionTable Tk_CreateOptionTable _ANSI_ARGS_(( + Tcl_Interp * interp, + CONST Tk_OptionSpec * templatePtr)); +/* 191 */ +EXTERN void Tk_DeleteOptionTable _ANSI_ARGS_(( + Tk_OptionTable optionTable)); +/* 192 */ +EXTERN void Tk_Free3DBorderFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 193 */ +EXTERN void Tk_FreeBitmapFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 194 */ +EXTERN void Tk_FreeColorFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 195 */ +EXTERN void Tk_FreeConfigOptions _ANSI_ARGS_((char * recordPtr, + Tk_OptionTable optionToken, Tk_Window tkwin)); +/* 196 */ +EXTERN void Tk_FreeSavedOptions _ANSI_ARGS_(( + Tk_SavedOptions * savePtr)); +/* 197 */ +EXTERN void Tk_FreeCursorFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 198 */ +EXTERN void Tk_FreeFontFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 199 */ +EXTERN Tk_3DBorder Tk_Get3DBorderFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 200 */ +EXTERN int Tk_GetAnchorFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, Tk_Anchor * anchorPtr)); +/* 201 */ +EXTERN Pixmap Tk_GetBitmapFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 202 */ +EXTERN XColor * Tk_GetColorFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 203 */ +EXTERN Tk_Cursor Tk_GetCursorFromObj _ANSI_ARGS_((Tk_Window tkwin, + Tcl_Obj * objPtr)); +/* 204 */ +EXTERN Tcl_Obj * Tk_GetOptionInfo _ANSI_ARGS_((Tcl_Interp * interp, + char * recordPtr, Tk_OptionTable optionTable, + Tcl_Obj * namePtr, Tk_Window tkwin)); +/* 205 */ +EXTERN Tcl_Obj * Tk_GetOptionValue _ANSI_ARGS_((Tcl_Interp * interp, + char * recordPtr, Tk_OptionTable optionTable, + Tcl_Obj * namePtr, Tk_Window tkwin)); +/* 206 */ +EXTERN int Tk_GetJustifyFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + Tk_Justify * justifyPtr)); +/* 207 */ +EXTERN int Tk_GetMMFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tcl_Obj * objPtr, + double * doublePtr)); +/* 208 */ +EXTERN int Tk_GetPixelsFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tcl_Obj * objPtr, + int * intPtr)); +/* 209 */ +EXTERN int Tk_GetReliefFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int * resultPtr)); +/* 210 */ +EXTERN int Tk_GetScrollInfoObj _ANSI_ARGS_((Tcl_Interp * interp, + int objc, Tcl_Obj *CONST objv[], + double * dblPtr, int * intPtr)); +/* 211 */ +EXTERN int Tk_InitOptions _ANSI_ARGS_((Tcl_Interp * interp, + char * recordPtr, Tk_OptionTable optionToken, + Tk_Window tkwin)); +/* 212 */ +EXTERN void Tk_MainEx _ANSI_ARGS_((int argc, char ** argv, + Tcl_AppInitProc * appInitProc, + Tcl_Interp * interp)); +/* 213 */ +EXTERN void Tk_RestoreSavedOptions _ANSI_ARGS_(( + Tk_SavedOptions * savePtr)); +/* 214 */ +EXTERN int Tk_SetOptions _ANSI_ARGS_((Tcl_Interp * interp, + char * recordPtr, Tk_OptionTable optionTable, + int objc, Tcl_Obj *CONST objv[], + Tk_Window tkwin, Tk_SavedOptions * savePtr, + int * maskPtr)); +/* 215 */ +EXTERN void Tk_InitConsoleChannels _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 216 */ +EXTERN int Tk_CreateConsoleWindow _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 217 */ +EXTERN void Tk_CreateSmoothMethod _ANSI_ARGS_(( + Tcl_Interp * interp, + Tk_SmoothMethod * method)); +/* Slot 218 is reserved */ +/* Slot 219 is reserved */ +/* 220 */ +EXTERN int Tk_GetDash _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * value, Tk_Dash * dash)); +/* 221 */ +EXTERN void Tk_CreateOutline _ANSI_ARGS_((Tk_Outline * outline)); +/* 222 */ +EXTERN void Tk_DeleteOutline _ANSI_ARGS_((Display * display, + Tk_Outline * outline)); +/* 223 */ +EXTERN int Tk_ConfigOutlineGC _ANSI_ARGS_((XGCValues * gcValues, + Tk_Canvas canvas, Tk_Item * item, + Tk_Outline * outline)); +/* 224 */ +EXTERN int Tk_ChangeOutlineGC _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item * item, Tk_Outline * outline)); +/* 225 */ +EXTERN int Tk_ResetOutlineGC _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item * item, Tk_Outline * outline)); +/* 226 */ +EXTERN int Tk_CanvasPsOutline _ANSI_ARGS_((Tk_Canvas canvas, + Tk_Item * item, Tk_Outline * outline)); +/* 227 */ +EXTERN void Tk_SetTSOrigin _ANSI_ARGS_((Tk_Window tkwin, GC gc, + int x, int y)); +/* 228 */ +EXTERN int Tk_CanvasGetCoordFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Canvas canvas, + Tcl_Obj * obj, double * doublePtr)); +/* 229 */ +EXTERN void Tk_CanvasSetOffset _ANSI_ARGS_((Tk_Canvas canvas, + GC gc, Tk_TSOffset * offset)); +/* 230 */ +EXTERN void Tk_DitherPhoto _ANSI_ARGS_((Tk_PhotoHandle handle, + int x, int y, int width, int height)); +/* 231 */ +EXTERN int Tk_PostscriptBitmap _ANSI_ARGS_((Tcl_Interp * interp, + Tk_Window tkwin, Tk_PostscriptInfo psInfo, + Pixmap bitmap, int startX, int startY, + int width, int height)); +/* 232 */ +EXTERN int Tk_PostscriptColor _ANSI_ARGS_((Tcl_Interp * interp, + Tk_PostscriptInfo psInfo, XColor * colorPtr)); +/* 233 */ +EXTERN int Tk_PostscriptFont _ANSI_ARGS_((Tcl_Interp * interp, + Tk_PostscriptInfo psInfo, Tk_Font font)); +/* 234 */ +EXTERN int Tk_PostscriptImage _ANSI_ARGS_((Tk_Image image, + Tcl_Interp * interp, Tk_Window tkwin, + Tk_PostscriptInfo psinfo, int x, int y, + int width, int height, int prepass)); +/* 235 */ +EXTERN void Tk_PostscriptPath _ANSI_ARGS_((Tcl_Interp * interp, + Tk_PostscriptInfo psInfo, double * coordPtr, + int numPoints)); +/* 236 */ +EXTERN int Tk_PostscriptStipple _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window tkwin, + Tk_PostscriptInfo psInfo, Pixmap bitmap)); +/* 237 */ +EXTERN double Tk_PostscriptY _ANSI_ARGS_((double y, + Tk_PostscriptInfo psInfo)); +/* 238 */ +EXTERN int Tk_PostscriptPhoto _ANSI_ARGS_((Tcl_Interp * interp, + Tk_PhotoImageBlock * blockPtr, + Tk_PostscriptInfo psInfo, int width, + int height)); +/* 239 */ +EXTERN void Tk_CreateClientMessageHandler _ANSI_ARGS_(( + Tk_ClientMessageProc * proc)); +/* 240 */ +EXTERN void Tk_DeleteClientMessageHandler _ANSI_ARGS_(( + Tk_ClientMessageProc * proc)); +/* 241 */ +EXTERN Tk_Window Tk_CreateAnonymousWindow _ANSI_ARGS_(( + Tcl_Interp * interp, Tk_Window parent, + CONST char * screenName)); +/* 242 */ +EXTERN void Tk_SetClassProcs _ANSI_ARGS_((Tk_Window tkwin, + Tk_ClassProcs * procs, + ClientData instanceData)); +/* 243 */ +EXTERN void Tk_SetInternalBorderEx _ANSI_ARGS_((Tk_Window tkwin, + int left, int right, int top, int bottom)); +/* 244 */ +EXTERN void Tk_SetMinimumRequestSize _ANSI_ARGS_(( + Tk_Window tkwin, int minWidth, int minHeight)); +/* 245 */ +EXTERN void Tk_SetCaretPos _ANSI_ARGS_((Tk_Window tkwin, int x, + int y, int height)); +/* 246 */ +EXTERN void Tk_PhotoPutBlock _ANSI_ARGS_((Tk_PhotoHandle handle, + Tk_PhotoImageBlock * blockPtr, int x, int y, + int width, int height, int compRule)); +/* 247 */ +EXTERN void Tk_PhotoPutZoomedBlock _ANSI_ARGS_(( + Tk_PhotoHandle handle, + Tk_PhotoImageBlock * blockPtr, int x, int y, + int width, int height, int zoomX, int zoomY, + int subsampleX, int subsampleY, int compRule)); +/* 248 */ +EXTERN int Tk_CollapseMotionEvents _ANSI_ARGS_(( + Display * display, int collapse)); +/* 249 */ +EXTERN Tk_StyleEngine Tk_RegisterStyleEngine _ANSI_ARGS_(( + CONST char * name, Tk_StyleEngine parent)); +/* 250 */ +EXTERN Tk_StyleEngine Tk_GetStyleEngine _ANSI_ARGS_((CONST char * name)); +/* 251 */ +EXTERN int Tk_RegisterStyledElement _ANSI_ARGS_(( + Tk_StyleEngine engine, + Tk_ElementSpec * templatePtr)); +/* 252 */ +EXTERN int Tk_GetElementId _ANSI_ARGS_((CONST char * name)); +/* 253 */ +EXTERN Tk_Style Tk_CreateStyle _ANSI_ARGS_((CONST char * name, + Tk_StyleEngine engine, ClientData clientData)); +/* 254 */ +EXTERN Tk_Style Tk_GetStyle _ANSI_ARGS_((Tcl_Interp * interp, + CONST char * name)); +/* 255 */ +EXTERN void Tk_FreeStyle _ANSI_ARGS_((Tk_Style style)); +/* 256 */ +EXTERN CONST char * Tk_NameOfStyle _ANSI_ARGS_((Tk_Style style)); +/* 257 */ +EXTERN Tk_Style Tk_AllocStyleFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr)); +/* 258 */ +EXTERN Tk_Style Tk_GetStyleFromObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 259 */ +EXTERN void Tk_FreeStyleFromObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 260 */ +EXTERN Tk_StyledElement Tk_GetStyledElement _ANSI_ARGS_((Tk_Style style, + int elementId, Tk_OptionTable optionTable)); +/* 261 */ +EXTERN void Tk_GetElementSize _ANSI_ARGS_((Tk_Style style, + Tk_StyledElement element, char * recordPtr, + Tk_Window tkwin, int width, int height, + int inner, int * widthPtr, int * heightPtr)); +/* 262 */ +EXTERN void Tk_GetElementBox _ANSI_ARGS_((Tk_Style style, + Tk_StyledElement element, char * recordPtr, + Tk_Window tkwin, int x, int y, int width, + int height, int inner, int * xPtr, + int * yPtr, int * widthPtr, int * heightPtr)); +/* 263 */ +EXTERN int Tk_GetElementBorderWidth _ANSI_ARGS_((Tk_Style style, + Tk_StyledElement element, char * recordPtr, + Tk_Window tkwin)); +/* 264 */ +EXTERN void Tk_DrawElement _ANSI_ARGS_((Tk_Style style, + Tk_StyledElement element, char * recordPtr, + Tk_Window tkwin, Drawable d, int x, int y, + int width, int height, int state)); + +typedef struct TkStubHooks { + struct TkPlatStubs *tkPlatStubs; + struct TkIntStubs *tkIntStubs; + struct TkIntPlatStubs *tkIntPlatStubs; + struct TkIntXlibStubs *tkIntXlibStubs; +} TkStubHooks; + +typedef struct TkStubs { + int magic; + struct TkStubHooks *hooks; + + void (*tk_MainLoop) _ANSI_ARGS_((void)); /* 0 */ + XColor * (*tk_3DBorderColor) _ANSI_ARGS_((Tk_3DBorder border)); /* 1 */ + GC (*tk_3DBorderGC) _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border, int which)); /* 2 */ + void (*tk_3DHorizontalBevel) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, int x, int y, int width, int height, int leftIn, int rightIn, int topBevel, int relief)); /* 3 */ + void (*tk_3DVerticalBevel) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, int x, int y, int width, int height, int leftBevel, int relief)); /* 4 */ + void (*tk_AddOption) _ANSI_ARGS_((Tk_Window tkwin, CONST char * name, CONST char * value, int priority)); /* 5 */ + void (*tk_BindEvent) _ANSI_ARGS_((Tk_BindingTable bindingTable, XEvent * eventPtr, Tk_Window tkwin, int numObjects, ClientData * objectPtr)); /* 6 */ + void (*tk_CanvasDrawableCoords) _ANSI_ARGS_((Tk_Canvas canvas, double x, double y, short * drawableXPtr, short * drawableYPtr)); /* 7 */ + void (*tk_CanvasEventuallyRedraw) _ANSI_ARGS_((Tk_Canvas canvas, int x1, int y1, int x2, int y2)); /* 8 */ + int (*tk_CanvasGetCoord) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, CONST char * str, double * doublePtr)); /* 9 */ + Tk_CanvasTextInfo * (*tk_CanvasGetTextInfo) _ANSI_ARGS_((Tk_Canvas canvas)); /* 10 */ + int (*tk_CanvasPsBitmap) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, Pixmap bitmap, int x, int y, int width, int height)); /* 11 */ + int (*tk_CanvasPsColor) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, XColor * colorPtr)); /* 12 */ + int (*tk_CanvasPsFont) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, Tk_Font font)); /* 13 */ + void (*tk_CanvasPsPath) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, double * coordPtr, int numPoints)); /* 14 */ + int (*tk_CanvasPsStipple) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, Pixmap bitmap)); /* 15 */ + double (*tk_CanvasPsY) _ANSI_ARGS_((Tk_Canvas canvas, double y)); /* 16 */ + void (*tk_CanvasSetStippleOrigin) _ANSI_ARGS_((Tk_Canvas canvas, GC gc)); /* 17 */ + int (*tk_CanvasTagsParseProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, Tk_Window tkwin, CONST char * value, char * widgRec, int offset)); /* 18 */ + char * (*tk_CanvasTagsPrintProc) _ANSI_ARGS_((ClientData clientData, Tk_Window tkwin, char * widgRec, int offset, Tcl_FreeProc ** freeProcPtr)); /* 19 */ + Tk_Window (*tk_CanvasTkwin) _ANSI_ARGS_((Tk_Canvas canvas)); /* 20 */ + void (*tk_CanvasWindowCoords) _ANSI_ARGS_((Tk_Canvas canvas, double x, double y, short * screenXPtr, short * screenYPtr)); /* 21 */ + void (*tk_ChangeWindowAttributes) _ANSI_ARGS_((Tk_Window tkwin, unsigned long valueMask, XSetWindowAttributes * attsPtr)); /* 22 */ + int (*tk_CharBbox) _ANSI_ARGS_((Tk_TextLayout layout, int index, int * xPtr, int * yPtr, int * widthPtr, int * heightPtr)); /* 23 */ + void (*tk_ClearSelection) _ANSI_ARGS_((Tk_Window tkwin, Atom selection)); /* 24 */ + int (*tk_ClipboardAppend) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Atom target, Atom format, char* buffer)); /* 25 */ + int (*tk_ClipboardClear) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin)); /* 26 */ + int (*tk_ConfigureInfo) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_ConfigSpec * specs, char * widgRec, CONST char * argvName, int flags)); /* 27 */ + int (*tk_ConfigureValue) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_ConfigSpec * specs, char * widgRec, CONST char * argvName, int flags)); /* 28 */ + int (*tk_ConfigureWidget) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_ConfigSpec * specs, int argc, CONST84 char ** argv, char * widgRec, int flags)); /* 29 */ + void (*tk_ConfigureWindow) _ANSI_ARGS_((Tk_Window tkwin, unsigned int valueMask, XWindowChanges * valuePtr)); /* 30 */ + Tk_TextLayout (*tk_ComputeTextLayout) _ANSI_ARGS_((Tk_Font font, CONST char * str, int numChars, int wrapLength, Tk_Justify justify, int flags, int * widthPtr, int * heightPtr)); /* 31 */ + Tk_Window (*tk_CoordsToWindow) _ANSI_ARGS_((int rootX, int rootY, Tk_Window tkwin)); /* 32 */ + unsigned long (*tk_CreateBinding) _ANSI_ARGS_((Tcl_Interp * interp, Tk_BindingTable bindingTable, ClientData object, CONST char * eventStr, CONST char * command, int append)); /* 33 */ + Tk_BindingTable (*tk_CreateBindingTable) _ANSI_ARGS_((Tcl_Interp * interp)); /* 34 */ + Tk_ErrorHandler (*tk_CreateErrorHandler) _ANSI_ARGS_((Display * display, int errNum, int request, int minorCode, Tk_ErrorProc * errorProc, ClientData clientData)); /* 35 */ + void (*tk_CreateEventHandler) _ANSI_ARGS_((Tk_Window token, unsigned long mask, Tk_EventProc * proc, ClientData clientData)); /* 36 */ + void (*tk_CreateGenericHandler) _ANSI_ARGS_((Tk_GenericProc * proc, ClientData clientData)); /* 37 */ + void (*tk_CreateImageType) _ANSI_ARGS_((Tk_ImageType * typePtr)); /* 38 */ + void (*tk_CreateItemType) _ANSI_ARGS_((Tk_ItemType * typePtr)); /* 39 */ + void (*tk_CreatePhotoImageFormat) _ANSI_ARGS_((Tk_PhotoImageFormat * formatPtr)); /* 40 */ + void (*tk_CreateSelHandler) _ANSI_ARGS_((Tk_Window tkwin, Atom selection, Atom target, Tk_SelectionProc * proc, ClientData clientData, Atom format)); /* 41 */ + Tk_Window (*tk_CreateWindow) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window parent, CONST char * name, CONST char * screenName)); /* 42 */ + Tk_Window (*tk_CreateWindowFromPath) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * pathName, CONST char * screenName)); /* 43 */ + int (*tk_DefineBitmap) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * source, int width, int height)); /* 44 */ + void (*tk_DefineCursor) _ANSI_ARGS_((Tk_Window window, Tk_Cursor cursor)); /* 45 */ + void (*tk_DeleteAllBindings) _ANSI_ARGS_((Tk_BindingTable bindingTable, ClientData object)); /* 46 */ + int (*tk_DeleteBinding) _ANSI_ARGS_((Tcl_Interp * interp, Tk_BindingTable bindingTable, ClientData object, CONST char * eventStr)); /* 47 */ + void (*tk_DeleteBindingTable) _ANSI_ARGS_((Tk_BindingTable bindingTable)); /* 48 */ + void (*tk_DeleteErrorHandler) _ANSI_ARGS_((Tk_ErrorHandler handler)); /* 49 */ + void (*tk_DeleteEventHandler) _ANSI_ARGS_((Tk_Window token, unsigned long mask, Tk_EventProc * proc, ClientData clientData)); /* 50 */ + void (*tk_DeleteGenericHandler) _ANSI_ARGS_((Tk_GenericProc * proc, ClientData clientData)); /* 51 */ + void (*tk_DeleteImage) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name)); /* 52 */ + void (*tk_DeleteSelHandler) _ANSI_ARGS_((Tk_Window tkwin, Atom selection, Atom target)); /* 53 */ + void (*tk_DestroyWindow) _ANSI_ARGS_((Tk_Window tkwin)); /* 54 */ + CONST84_RETURN char * (*tk_DisplayName) _ANSI_ARGS_((Tk_Window tkwin)); /* 55 */ + int (*tk_DistanceToTextLayout) _ANSI_ARGS_((Tk_TextLayout layout, int x, int y)); /* 56 */ + void (*tk_Draw3DPolygon) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, XPoint * pointPtr, int numPoints, int borderWidth, int leftRelief)); /* 57 */ + void (*tk_Draw3DRectangle) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, int x, int y, int width, int height, int borderWidth, int relief)); /* 58 */ + void (*tk_DrawChars) _ANSI_ARGS_((Display * display, Drawable drawable, GC gc, Tk_Font tkfont, CONST char * source, int numBytes, int x, int y)); /* 59 */ + void (*tk_DrawFocusHighlight) _ANSI_ARGS_((Tk_Window tkwin, GC gc, int width, Drawable drawable)); /* 60 */ + void (*tk_DrawTextLayout) _ANSI_ARGS_((Display * display, Drawable drawable, GC gc, Tk_TextLayout layout, int x, int y, int firstChar, int lastChar)); /* 61 */ + void (*tk_Fill3DPolygon) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, XPoint * pointPtr, int numPoints, int borderWidth, int leftRelief)); /* 62 */ + void (*tk_Fill3DRectangle) _ANSI_ARGS_((Tk_Window tkwin, Drawable drawable, Tk_3DBorder border, int x, int y, int width, int height, int borderWidth, int relief)); /* 63 */ + Tk_PhotoHandle (*tk_FindPhoto) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * imageName)); /* 64 */ + Font (*tk_FontId) _ANSI_ARGS_((Tk_Font font)); /* 65 */ + void (*tk_Free3DBorder) _ANSI_ARGS_((Tk_3DBorder border)); /* 66 */ + void (*tk_FreeBitmap) _ANSI_ARGS_((Display * display, Pixmap bitmap)); /* 67 */ + void (*tk_FreeColor) _ANSI_ARGS_((XColor * colorPtr)); /* 68 */ + void (*tk_FreeColormap) _ANSI_ARGS_((Display * display, Colormap colormap)); /* 69 */ + void (*tk_FreeCursor) _ANSI_ARGS_((Display * display, Tk_Cursor cursor)); /* 70 */ + void (*tk_FreeFont) _ANSI_ARGS_((Tk_Font f)); /* 71 */ + void (*tk_FreeGC) _ANSI_ARGS_((Display * display, GC gc)); /* 72 */ + void (*tk_FreeImage) _ANSI_ARGS_((Tk_Image image)); /* 73 */ + void (*tk_FreeOptions) _ANSI_ARGS_((Tk_ConfigSpec * specs, char * widgRec, Display * display, int needFlags)); /* 74 */ + void (*tk_FreePixmap) _ANSI_ARGS_((Display * display, Pixmap pixmap)); /* 75 */ + void (*tk_FreeTextLayout) _ANSI_ARGS_((Tk_TextLayout textLayout)); /* 76 */ + void (*tk_FreeXId) _ANSI_ARGS_((Display * display, XID xid)); /* 77 */ + GC (*tk_GCForColor) _ANSI_ARGS_((XColor * colorPtr, Drawable drawable)); /* 78 */ + void (*tk_GeometryRequest) _ANSI_ARGS_((Tk_Window tkwin, int reqWidth, int reqHeight)); /* 79 */ + Tk_3DBorder (*tk_Get3DBorder) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_Uid colorName)); /* 80 */ + void (*tk_GetAllBindings) _ANSI_ARGS_((Tcl_Interp * interp, Tk_BindingTable bindingTable, ClientData object)); /* 81 */ + int (*tk_GetAnchor) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, Tk_Anchor * anchorPtr)); /* 82 */ + CONST84_RETURN char * (*tk_GetAtomName) _ANSI_ARGS_((Tk_Window tkwin, Atom atom)); /* 83 */ + CONST84_RETURN char * (*tk_GetBinding) _ANSI_ARGS_((Tcl_Interp * interp, Tk_BindingTable bindingTable, ClientData object, CONST char * eventStr)); /* 84 */ + Pixmap (*tk_GetBitmap) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str)); /* 85 */ + Pixmap (*tk_GetBitmapFromData) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * source, int width, int height)); /* 86 */ + int (*tk_GetCapStyle) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int * capPtr)); /* 87 */ + XColor * (*tk_GetColor) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_Uid name)); /* 88 */ + XColor * (*tk_GetColorByValue) _ANSI_ARGS_((Tk_Window tkwin, XColor * colorPtr)); /* 89 */ + Colormap (*tk_GetColormap) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str)); /* 90 */ + Tk_Cursor (*tk_GetCursor) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_Uid str)); /* 91 */ + Tk_Cursor (*tk_GetCursorFromData) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * source, CONST char * mask, int width, int height, int xHot, int yHot, Tk_Uid fg, Tk_Uid bg)); /* 92 */ + Tk_Font (*tk_GetFont) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str)); /* 93 */ + Tk_Font (*tk_GetFontFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 94 */ + void (*tk_GetFontMetrics) _ANSI_ARGS_((Tk_Font font, Tk_FontMetrics * fmPtr)); /* 95 */ + GC (*tk_GetGC) _ANSI_ARGS_((Tk_Window tkwin, unsigned long valueMask, XGCValues * valuePtr)); /* 96 */ + Tk_Image (*tk_GetImage) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * name, Tk_ImageChangedProc * changeProc, ClientData clientData)); /* 97 */ + ClientData (*tk_GetImageMasterData) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, Tk_ImageType ** typePtrPtr)); /* 98 */ + Tk_ItemType * (*tk_GetItemTypes) _ANSI_ARGS_((void)); /* 99 */ + int (*tk_GetJoinStyle) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, int * joinPtr)); /* 100 */ + int (*tk_GetJustify) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * str, Tk_Justify * justifyPtr)); /* 101 */ + int (*tk_GetNumMainWindows) _ANSI_ARGS_((void)); /* 102 */ + Tk_Uid (*tk_GetOption) _ANSI_ARGS_((Tk_Window tkwin, CONST char * name, CONST char * className)); /* 103 */ + int (*tk_GetPixels) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str, int * intPtr)); /* 104 */ + Pixmap (*tk_GetPixmap) _ANSI_ARGS_((Display * display, Drawable d, int width, int height, int depth)); /* 105 */ + int (*tk_GetRelief) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, int * reliefPtr)); /* 106 */ + void (*tk_GetRootCoords) _ANSI_ARGS_((Tk_Window tkwin, int * xPtr, int * yPtr)); /* 107 */ + int (*tk_GetScrollInfo) _ANSI_ARGS_((Tcl_Interp * interp, int argc, CONST84 char ** argv, double * dblPtr, int * intPtr)); /* 108 */ + int (*tk_GetScreenMM) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str, double * doublePtr)); /* 109 */ + int (*tk_GetSelection) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Atom selection, Atom target, Tk_GetSelProc * proc, ClientData clientData)); /* 110 */ + Tk_Uid (*tk_GetUid) _ANSI_ARGS_((CONST char * str)); /* 111 */ + Visual * (*tk_GetVisual) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, CONST char * str, int * depthPtr, Colormap * colormapPtr)); /* 112 */ + void (*tk_GetVRootGeometry) _ANSI_ARGS_((Tk_Window tkwin, int * xPtr, int * yPtr, int * widthPtr, int * heightPtr)); /* 113 */ + int (*tk_Grab) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, int grabGlobal)); /* 114 */ + void (*tk_HandleEvent) _ANSI_ARGS_((XEvent * eventPtr)); /* 115 */ + Tk_Window (*tk_IdToWindow) _ANSI_ARGS_((Display * display, Window window)); /* 116 */ + void (*tk_ImageChanged) _ANSI_ARGS_((Tk_ImageMaster master, int x, int y, int width, int height, int imageWidth, int imageHeight)); /* 117 */ + int (*tk_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 118 */ + Atom (*tk_InternAtom) _ANSI_ARGS_((Tk_Window tkwin, CONST char * name)); /* 119 */ + int (*tk_IntersectTextLayout) _ANSI_ARGS_((Tk_TextLayout layout, int x, int y, int width, int height)); /* 120 */ + void (*tk_MaintainGeometry) _ANSI_ARGS_((Tk_Window slave, Tk_Window master, int x, int y, int width, int height)); /* 121 */ + Tk_Window (*tk_MainWindow) _ANSI_ARGS_((Tcl_Interp * interp)); /* 122 */ + void (*tk_MakeWindowExist) _ANSI_ARGS_((Tk_Window tkwin)); /* 123 */ + void (*tk_ManageGeometry) _ANSI_ARGS_((Tk_Window tkwin, Tk_GeomMgr * mgrPtr, ClientData clientData)); /* 124 */ + void (*tk_MapWindow) _ANSI_ARGS_((Tk_Window tkwin)); /* 125 */ + int (*tk_MeasureChars) _ANSI_ARGS_((Tk_Font tkfont, CONST char * source, int numBytes, int maxPixels, int flags, int * lengthPtr)); /* 126 */ + void (*tk_MoveResizeWindow) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height)); /* 127 */ + void (*tk_MoveWindow) _ANSI_ARGS_((Tk_Window tkwin, int x, int y)); /* 128 */ + void (*tk_MoveToplevelWindow) _ANSI_ARGS_((Tk_Window tkwin, int x, int y)); /* 129 */ + CONST84_RETURN char * (*tk_NameOf3DBorder) _ANSI_ARGS_((Tk_3DBorder border)); /* 130 */ + CONST84_RETURN char * (*tk_NameOfAnchor) _ANSI_ARGS_((Tk_Anchor anchor)); /* 131 */ + CONST84_RETURN char * (*tk_NameOfBitmap) _ANSI_ARGS_((Display * display, Pixmap bitmap)); /* 132 */ + CONST84_RETURN char * (*tk_NameOfCapStyle) _ANSI_ARGS_((int cap)); /* 133 */ + CONST84_RETURN char * (*tk_NameOfColor) _ANSI_ARGS_((XColor * colorPtr)); /* 134 */ + CONST84_RETURN char * (*tk_NameOfCursor) _ANSI_ARGS_((Display * display, Tk_Cursor cursor)); /* 135 */ + CONST84_RETURN char * (*tk_NameOfFont) _ANSI_ARGS_((Tk_Font font)); /* 136 */ + CONST84_RETURN char * (*tk_NameOfImage) _ANSI_ARGS_((Tk_ImageMaster imageMaster)); /* 137 */ + CONST84_RETURN char * (*tk_NameOfJoinStyle) _ANSI_ARGS_((int join)); /* 138 */ + CONST84_RETURN char * (*tk_NameOfJustify) _ANSI_ARGS_((Tk_Justify justify)); /* 139 */ + CONST84_RETURN char * (*tk_NameOfRelief) _ANSI_ARGS_((int relief)); /* 140 */ + Tk_Window (*tk_NameToWindow) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * pathName, Tk_Window tkwin)); /* 141 */ + void (*tk_OwnSelection) _ANSI_ARGS_((Tk_Window tkwin, Atom selection, Tk_LostSelProc * proc, ClientData clientData)); /* 142 */ + int (*tk_ParseArgv) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, int * argcPtr, CONST84 char ** argv, Tk_ArgvInfo * argTable, int flags)); /* 143 */ + void (*tk_PhotoPutBlock_NoComposite) _ANSI_ARGS_((Tk_PhotoHandle handle, Tk_PhotoImageBlock * blockPtr, int x, int y, int width, int height)); /* 144 */ + void (*tk_PhotoPutZoomedBlock_NoComposite) _ANSI_ARGS_((Tk_PhotoHandle handle, Tk_PhotoImageBlock * blockPtr, int x, int y, int width, int height, int zoomX, int zoomY, int subsampleX, int subsampleY)); /* 145 */ + int (*tk_PhotoGetImage) _ANSI_ARGS_((Tk_PhotoHandle handle, Tk_PhotoImageBlock * blockPtr)); /* 146 */ + void (*tk_PhotoBlank) _ANSI_ARGS_((Tk_PhotoHandle handle)); /* 147 */ + void (*tk_PhotoExpand) _ANSI_ARGS_((Tk_PhotoHandle handle, int width, int height)); /* 148 */ + void (*tk_PhotoGetSize) _ANSI_ARGS_((Tk_PhotoHandle handle, int * widthPtr, int * heightPtr)); /* 149 */ + void (*tk_PhotoSetSize) _ANSI_ARGS_((Tk_PhotoHandle handle, int width, int height)); /* 150 */ + int (*tk_PointToChar) _ANSI_ARGS_((Tk_TextLayout layout, int x, int y)); /* 151 */ + int (*tk_PostscriptFontName) _ANSI_ARGS_((Tk_Font tkfont, Tcl_DString * dsPtr)); /* 152 */ + void (*tk_PreserveColormap) _ANSI_ARGS_((Display * display, Colormap colormap)); /* 153 */ + void (*tk_QueueWindowEvent) _ANSI_ARGS_((XEvent * eventPtr, Tcl_QueuePosition position)); /* 154 */ + void (*tk_RedrawImage) _ANSI_ARGS_((Tk_Image image, int imageX, int imageY, int width, int height, Drawable drawable, int drawableX, int drawableY)); /* 155 */ + void (*tk_ResizeWindow) _ANSI_ARGS_((Tk_Window tkwin, int width, int height)); /* 156 */ + int (*tk_RestackWindow) _ANSI_ARGS_((Tk_Window tkwin, int aboveBelow, Tk_Window other)); /* 157 */ + Tk_RestrictProc * (*tk_RestrictEvents) _ANSI_ARGS_((Tk_RestrictProc * proc, ClientData arg, ClientData * prevArgPtr)); /* 158 */ + int (*tk_SafeInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 159 */ + CONST char * (*tk_SetAppName) _ANSI_ARGS_((Tk_Window tkwin, CONST char * name)); /* 160 */ + void (*tk_SetBackgroundFromBorder) _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border)); /* 161 */ + void (*tk_SetClass) _ANSI_ARGS_((Tk_Window tkwin, CONST char * className)); /* 162 */ + void (*tk_SetGrid) _ANSI_ARGS_((Tk_Window tkwin, int reqWidth, int reqHeight, int gridWidth, int gridHeight)); /* 163 */ + void (*tk_SetInternalBorder) _ANSI_ARGS_((Tk_Window tkwin, int width)); /* 164 */ + void (*tk_SetWindowBackground) _ANSI_ARGS_((Tk_Window tkwin, unsigned long pixel)); /* 165 */ + void (*tk_SetWindowBackgroundPixmap) _ANSI_ARGS_((Tk_Window tkwin, Pixmap pixmap)); /* 166 */ + void (*tk_SetWindowBorder) _ANSI_ARGS_((Tk_Window tkwin, unsigned long pixel)); /* 167 */ + void (*tk_SetWindowBorderWidth) _ANSI_ARGS_((Tk_Window tkwin, int width)); /* 168 */ + void (*tk_SetWindowBorderPixmap) _ANSI_ARGS_((Tk_Window tkwin, Pixmap pixmap)); /* 169 */ + void (*tk_SetWindowColormap) _ANSI_ARGS_((Tk_Window tkwin, Colormap colormap)); /* 170 */ + int (*tk_SetWindowVisual) _ANSI_ARGS_((Tk_Window tkwin, Visual * visual, int depth, Colormap colormap)); /* 171 */ + void (*tk_SizeOfBitmap) _ANSI_ARGS_((Display * display, Pixmap bitmap, int * widthPtr, int * heightPtr)); /* 172 */ + void (*tk_SizeOfImage) _ANSI_ARGS_((Tk_Image image, int * widthPtr, int * heightPtr)); /* 173 */ + int (*tk_StrictMotif) _ANSI_ARGS_((Tk_Window tkwin)); /* 174 */ + void (*tk_TextLayoutToPostscript) _ANSI_ARGS_((Tcl_Interp * interp, Tk_TextLayout layout)); /* 175 */ + int (*tk_TextWidth) _ANSI_ARGS_((Tk_Font font, CONST char * str, int numBytes)); /* 176 */ + void (*tk_UndefineCursor) _ANSI_ARGS_((Tk_Window window)); /* 177 */ + void (*tk_UnderlineChars) _ANSI_ARGS_((Display * display, Drawable drawable, GC gc, Tk_Font tkfont, CONST char * source, int x, int y, int firstByte, int lastByte)); /* 178 */ + void (*tk_UnderlineTextLayout) _ANSI_ARGS_((Display * display, Drawable drawable, GC gc, Tk_TextLayout layout, int x, int y, int underline)); /* 179 */ + void (*tk_Ungrab) _ANSI_ARGS_((Tk_Window tkwin)); /* 180 */ + void (*tk_UnmaintainGeometry) _ANSI_ARGS_((Tk_Window slave, Tk_Window master)); /* 181 */ + void (*tk_UnmapWindow) _ANSI_ARGS_((Tk_Window tkwin)); /* 182 */ + void (*tk_UnsetGrid) _ANSI_ARGS_((Tk_Window tkwin)); /* 183 */ + void (*tk_UpdatePointer) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int state)); /* 184 */ + Pixmap (*tk_AllocBitmapFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr)); /* 185 */ + Tk_3DBorder (*tk_Alloc3DBorderFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr)); /* 186 */ + XColor * (*tk_AllocColorFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr)); /* 187 */ + Tk_Cursor (*tk_AllocCursorFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr)); /* 188 */ + Tk_Font (*tk_AllocFontFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr)); /* 189 */ + Tk_OptionTable (*tk_CreateOptionTable) _ANSI_ARGS_((Tcl_Interp * interp, CONST Tk_OptionSpec * templatePtr)); /* 190 */ + void (*tk_DeleteOptionTable) _ANSI_ARGS_((Tk_OptionTable optionTable)); /* 191 */ + void (*tk_Free3DBorderFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 192 */ + void (*tk_FreeBitmapFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 193 */ + void (*tk_FreeColorFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 194 */ + void (*tk_FreeConfigOptions) _ANSI_ARGS_((char * recordPtr, Tk_OptionTable optionToken, Tk_Window tkwin)); /* 195 */ + void (*tk_FreeSavedOptions) _ANSI_ARGS_((Tk_SavedOptions * savePtr)); /* 196 */ + void (*tk_FreeCursorFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 197 */ + void (*tk_FreeFontFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 198 */ + Tk_3DBorder (*tk_Get3DBorderFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 199 */ + int (*tk_GetAnchorFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tk_Anchor * anchorPtr)); /* 200 */ + Pixmap (*tk_GetBitmapFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 201 */ + XColor * (*tk_GetColorFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 202 */ + Tk_Cursor (*tk_GetCursorFromObj) _ANSI_ARGS_((Tk_Window tkwin, Tcl_Obj * objPtr)); /* 203 */ + Tcl_Obj * (*tk_GetOptionInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionTable, Tcl_Obj * namePtr, Tk_Window tkwin)); /* 204 */ + Tcl_Obj * (*tk_GetOptionValue) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionTable, Tcl_Obj * namePtr, Tk_Window tkwin)); /* 205 */ + int (*tk_GetJustifyFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tk_Justify * justifyPtr)); /* 206 */ + int (*tk_GetMMFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr, double * doublePtr)); /* 207 */ + int (*tk_GetPixelsFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr, int * intPtr)); /* 208 */ + int (*tk_GetReliefFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * resultPtr)); /* 209 */ + int (*tk_GetScrollInfoObj) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], double * dblPtr, int * intPtr)); /* 210 */ + int (*tk_InitOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionToken, Tk_Window tkwin)); /* 211 */ + void (*tk_MainEx) _ANSI_ARGS_((int argc, char ** argv, Tcl_AppInitProc * appInitProc, Tcl_Interp * interp)); /* 212 */ + void (*tk_RestoreSavedOptions) _ANSI_ARGS_((Tk_SavedOptions * savePtr)); /* 213 */ + int (*tk_SetOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionTable, int objc, Tcl_Obj *CONST objv[], Tk_Window tkwin, Tk_SavedOptions * savePtr, int * maskPtr)); /* 214 */ + void (*tk_InitConsoleChannels) _ANSI_ARGS_((Tcl_Interp * interp)); /* 215 */ + int (*tk_CreateConsoleWindow) _ANSI_ARGS_((Tcl_Interp * interp)); /* 216 */ + void (*tk_CreateSmoothMethod) _ANSI_ARGS_((Tcl_Interp * interp, Tk_SmoothMethod * method)); /* 217 */ + void *reserved218; + void *reserved219; + int (*tk_GetDash) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * value, Tk_Dash * dash)); /* 220 */ + void (*tk_CreateOutline) _ANSI_ARGS_((Tk_Outline * outline)); /* 221 */ + void (*tk_DeleteOutline) _ANSI_ARGS_((Display * display, Tk_Outline * outline)); /* 222 */ + int (*tk_ConfigOutlineGC) _ANSI_ARGS_((XGCValues * gcValues, Tk_Canvas canvas, Tk_Item * item, Tk_Outline * outline)); /* 223 */ + int (*tk_ChangeOutlineGC) _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * item, Tk_Outline * outline)); /* 224 */ + int (*tk_ResetOutlineGC) _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * item, Tk_Outline * outline)); /* 225 */ + int (*tk_CanvasPsOutline) _ANSI_ARGS_((Tk_Canvas canvas, Tk_Item * item, Tk_Outline * outline)); /* 226 */ + void (*tk_SetTSOrigin) _ANSI_ARGS_((Tk_Window tkwin, GC gc, int x, int y)); /* 227 */ + int (*tk_CanvasGetCoordFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Canvas canvas, Tcl_Obj * obj, double * doublePtr)); /* 228 */ + void (*tk_CanvasSetOffset) _ANSI_ARGS_((Tk_Canvas canvas, GC gc, Tk_TSOffset * offset)); /* 229 */ + void (*tk_DitherPhoto) _ANSI_ARGS_((Tk_PhotoHandle handle, int x, int y, int width, int height)); /* 230 */ + int (*tk_PostscriptBitmap) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_PostscriptInfo psInfo, Pixmap bitmap, int startX, int startY, int width, int height)); /* 231 */ + int (*tk_PostscriptColor) _ANSI_ARGS_((Tcl_Interp * interp, Tk_PostscriptInfo psInfo, XColor * colorPtr)); /* 232 */ + int (*tk_PostscriptFont) _ANSI_ARGS_((Tcl_Interp * interp, Tk_PostscriptInfo psInfo, Tk_Font font)); /* 233 */ + int (*tk_PostscriptImage) _ANSI_ARGS_((Tk_Image image, Tcl_Interp * interp, Tk_Window tkwin, Tk_PostscriptInfo psinfo, int x, int y, int width, int height, int prepass)); /* 234 */ + void (*tk_PostscriptPath) _ANSI_ARGS_((Tcl_Interp * interp, Tk_PostscriptInfo psInfo, double * coordPtr, int numPoints)); /* 235 */ + int (*tk_PostscriptStipple) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tk_PostscriptInfo psInfo, Pixmap bitmap)); /* 236 */ + double (*tk_PostscriptY) _ANSI_ARGS_((double y, Tk_PostscriptInfo psInfo)); /* 237 */ + int (*tk_PostscriptPhoto) _ANSI_ARGS_((Tcl_Interp * interp, Tk_PhotoImageBlock * blockPtr, Tk_PostscriptInfo psInfo, int width, int height)); /* 238 */ + void (*tk_CreateClientMessageHandler) _ANSI_ARGS_((Tk_ClientMessageProc * proc)); /* 239 */ + void (*tk_DeleteClientMessageHandler) _ANSI_ARGS_((Tk_ClientMessageProc * proc)); /* 240 */ + Tk_Window (*tk_CreateAnonymousWindow) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window parent, CONST char * screenName)); /* 241 */ + void (*tk_SetClassProcs) _ANSI_ARGS_((Tk_Window tkwin, Tk_ClassProcs * procs, ClientData instanceData)); /* 242 */ + void (*tk_SetInternalBorderEx) _ANSI_ARGS_((Tk_Window tkwin, int left, int right, int top, int bottom)); /* 243 */ + void (*tk_SetMinimumRequestSize) _ANSI_ARGS_((Tk_Window tkwin, int minWidth, int minHeight)); /* 244 */ + void (*tk_SetCaretPos) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int height)); /* 245 */ + void (*tk_PhotoPutBlock) _ANSI_ARGS_((Tk_PhotoHandle handle, Tk_PhotoImageBlock * blockPtr, int x, int y, int width, int height, int compRule)); /* 246 */ + void (*tk_PhotoPutZoomedBlock) _ANSI_ARGS_((Tk_PhotoHandle handle, Tk_PhotoImageBlock * blockPtr, int x, int y, int width, int height, int zoomX, int zoomY, int subsampleX, int subsampleY, int compRule)); /* 247 */ + int (*tk_CollapseMotionEvents) _ANSI_ARGS_((Display * display, int collapse)); /* 248 */ + Tk_StyleEngine (*tk_RegisterStyleEngine) _ANSI_ARGS_((CONST char * name, Tk_StyleEngine parent)); /* 249 */ + Tk_StyleEngine (*tk_GetStyleEngine) _ANSI_ARGS_((CONST char * name)); /* 250 */ + int (*tk_RegisterStyledElement) _ANSI_ARGS_((Tk_StyleEngine engine, Tk_ElementSpec * templatePtr)); /* 251 */ + int (*tk_GetElementId) _ANSI_ARGS_((CONST char * name)); /* 252 */ + Tk_Style (*tk_CreateStyle) _ANSI_ARGS_((CONST char * name, Tk_StyleEngine engine, ClientData clientData)); /* 253 */ + Tk_Style (*tk_GetStyle) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name)); /* 254 */ + void (*tk_FreeStyle) _ANSI_ARGS_((Tk_Style style)); /* 255 */ + CONST char * (*tk_NameOfStyle) _ANSI_ARGS_((Tk_Style style)); /* 256 */ + Tk_Style (*tk_AllocStyleFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 257 */ + Tk_Style (*tk_GetStyleFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 258 */ + void (*tk_FreeStyleFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 259 */ + Tk_StyledElement (*tk_GetStyledElement) _ANSI_ARGS_((Tk_Style style, int elementId, Tk_OptionTable optionTable)); /* 260 */ + void (*tk_GetElementSize) _ANSI_ARGS_((Tk_Style style, Tk_StyledElement element, char * recordPtr, Tk_Window tkwin, int width, int height, int inner, int * widthPtr, int * heightPtr)); /* 261 */ + void (*tk_GetElementBox) _ANSI_ARGS_((Tk_Style style, Tk_StyledElement element, char * recordPtr, Tk_Window tkwin, int x, int y, int width, int height, int inner, int * xPtr, int * yPtr, int * widthPtr, int * heightPtr)); /* 262 */ + int (*tk_GetElementBorderWidth) _ANSI_ARGS_((Tk_Style style, Tk_StyledElement element, char * recordPtr, Tk_Window tkwin)); /* 263 */ + void (*tk_DrawElement) _ANSI_ARGS_((Tk_Style style, Tk_StyledElement element, char * recordPtr, Tk_Window tkwin, Drawable d, int x, int y, int width, int height, int state)); /* 264 */ +} TkStubs; + +#ifdef __cplusplus +extern "C" { +#endif +extern TkStubs *tkStubsPtr; +#ifdef __cplusplus +} +#endif + +#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) + +/* + * Inline function declarations: + */ + +#ifndef Tk_MainLoop +#define Tk_MainLoop \ + (tkStubsPtr->tk_MainLoop) /* 0 */ +#endif +#ifndef Tk_3DBorderColor +#define Tk_3DBorderColor \ + (tkStubsPtr->tk_3DBorderColor) /* 1 */ +#endif +#ifndef Tk_3DBorderGC +#define Tk_3DBorderGC \ + (tkStubsPtr->tk_3DBorderGC) /* 2 */ +#endif +#ifndef Tk_3DHorizontalBevel +#define Tk_3DHorizontalBevel \ + (tkStubsPtr->tk_3DHorizontalBevel) /* 3 */ +#endif +#ifndef Tk_3DVerticalBevel +#define Tk_3DVerticalBevel \ + (tkStubsPtr->tk_3DVerticalBevel) /* 4 */ +#endif +#ifndef Tk_AddOption +#define Tk_AddOption \ + (tkStubsPtr->tk_AddOption) /* 5 */ +#endif +#ifndef Tk_BindEvent +#define Tk_BindEvent \ + (tkStubsPtr->tk_BindEvent) /* 6 */ +#endif +#ifndef Tk_CanvasDrawableCoords +#define Tk_CanvasDrawableCoords \ + (tkStubsPtr->tk_CanvasDrawableCoords) /* 7 */ +#endif +#ifndef Tk_CanvasEventuallyRedraw +#define Tk_CanvasEventuallyRedraw \ + (tkStubsPtr->tk_CanvasEventuallyRedraw) /* 8 */ +#endif +#ifndef Tk_CanvasGetCoord +#define Tk_CanvasGetCoord \ + (tkStubsPtr->tk_CanvasGetCoord) /* 9 */ +#endif +#ifndef Tk_CanvasGetTextInfo +#define Tk_CanvasGetTextInfo \ + (tkStubsPtr->tk_CanvasGetTextInfo) /* 10 */ +#endif +#ifndef Tk_CanvasPsBitmap +#define Tk_CanvasPsBitmap \ + (tkStubsPtr->tk_CanvasPsBitmap) /* 11 */ +#endif +#ifndef Tk_CanvasPsColor +#define Tk_CanvasPsColor \ + (tkStubsPtr->tk_CanvasPsColor) /* 12 */ +#endif +#ifndef Tk_CanvasPsFont +#define Tk_CanvasPsFont \ + (tkStubsPtr->tk_CanvasPsFont) /* 13 */ +#endif +#ifndef Tk_CanvasPsPath +#define Tk_CanvasPsPath \ + (tkStubsPtr->tk_CanvasPsPath) /* 14 */ +#endif +#ifndef Tk_CanvasPsStipple +#define Tk_CanvasPsStipple \ + (tkStubsPtr->tk_CanvasPsStipple) /* 15 */ +#endif +#ifndef Tk_CanvasPsY +#define Tk_CanvasPsY \ + (tkStubsPtr->tk_CanvasPsY) /* 16 */ +#endif +#ifndef Tk_CanvasSetStippleOrigin +#define Tk_CanvasSetStippleOrigin \ + (tkStubsPtr->tk_CanvasSetStippleOrigin) /* 17 */ +#endif +#ifndef Tk_CanvasTagsParseProc +#define Tk_CanvasTagsParseProc \ + (tkStubsPtr->tk_CanvasTagsParseProc) /* 18 */ +#endif +#ifndef Tk_CanvasTagsPrintProc +#define Tk_CanvasTagsPrintProc \ + (tkStubsPtr->tk_CanvasTagsPrintProc) /* 19 */ +#endif +#ifndef Tk_CanvasTkwin +#define Tk_CanvasTkwin \ + (tkStubsPtr->tk_CanvasTkwin) /* 20 */ +#endif +#ifndef Tk_CanvasWindowCoords +#define Tk_CanvasWindowCoords \ + (tkStubsPtr->tk_CanvasWindowCoords) /* 21 */ +#endif +#ifndef Tk_ChangeWindowAttributes +#define Tk_ChangeWindowAttributes \ + (tkStubsPtr->tk_ChangeWindowAttributes) /* 22 */ +#endif +#ifndef Tk_CharBbox +#define Tk_CharBbox \ + (tkStubsPtr->tk_CharBbox) /* 23 */ +#endif +#ifndef Tk_ClearSelection +#define Tk_ClearSelection \ + (tkStubsPtr->tk_ClearSelection) /* 24 */ +#endif +#ifndef Tk_ClipboardAppend +#define Tk_ClipboardAppend \ + (tkStubsPtr->tk_ClipboardAppend) /* 25 */ +#endif +#ifndef Tk_ClipboardClear +#define Tk_ClipboardClear \ + (tkStubsPtr->tk_ClipboardClear) /* 26 */ +#endif +#ifndef Tk_ConfigureInfo +#define Tk_ConfigureInfo \ + (tkStubsPtr->tk_ConfigureInfo) /* 27 */ +#endif +#ifndef Tk_ConfigureValue +#define Tk_ConfigureValue \ + (tkStubsPtr->tk_ConfigureValue) /* 28 */ +#endif +#ifndef Tk_ConfigureWidget +#define Tk_ConfigureWidget \ + (tkStubsPtr->tk_ConfigureWidget) /* 29 */ +#endif +#ifndef Tk_ConfigureWindow +#define Tk_ConfigureWindow \ + (tkStubsPtr->tk_ConfigureWindow) /* 30 */ +#endif +#ifndef Tk_ComputeTextLayout +#define Tk_ComputeTextLayout \ + (tkStubsPtr->tk_ComputeTextLayout) /* 31 */ +#endif +#ifndef Tk_CoordsToWindow +#define Tk_CoordsToWindow \ + (tkStubsPtr->tk_CoordsToWindow) /* 32 */ +#endif +#ifndef Tk_CreateBinding +#define Tk_CreateBinding \ + (tkStubsPtr->tk_CreateBinding) /* 33 */ +#endif +#ifndef Tk_CreateBindingTable +#define Tk_CreateBindingTable \ + (tkStubsPtr->tk_CreateBindingTable) /* 34 */ +#endif +#ifndef Tk_CreateErrorHandler +#define Tk_CreateErrorHandler \ + (tkStubsPtr->tk_CreateErrorHandler) /* 35 */ +#endif +#ifndef Tk_CreateEventHandler +#define Tk_CreateEventHandler \ + (tkStubsPtr->tk_CreateEventHandler) /* 36 */ +#endif +#ifndef Tk_CreateGenericHandler +#define Tk_CreateGenericHandler \ + (tkStubsPtr->tk_CreateGenericHandler) /* 37 */ +#endif +#ifndef Tk_CreateImageType +#define Tk_CreateImageType \ + (tkStubsPtr->tk_CreateImageType) /* 38 */ +#endif +#ifndef Tk_CreateItemType +#define Tk_CreateItemType \ + (tkStubsPtr->tk_CreateItemType) /* 39 */ +#endif +#ifndef Tk_CreatePhotoImageFormat +#define Tk_CreatePhotoImageFormat \ + (tkStubsPtr->tk_CreatePhotoImageFormat) /* 40 */ +#endif +#ifndef Tk_CreateSelHandler +#define Tk_CreateSelHandler \ + (tkStubsPtr->tk_CreateSelHandler) /* 41 */ +#endif +#ifndef Tk_CreateWindow +#define Tk_CreateWindow \ + (tkStubsPtr->tk_CreateWindow) /* 42 */ +#endif +#ifndef Tk_CreateWindowFromPath +#define Tk_CreateWindowFromPath \ + (tkStubsPtr->tk_CreateWindowFromPath) /* 43 */ +#endif +#ifndef Tk_DefineBitmap +#define Tk_DefineBitmap \ + (tkStubsPtr->tk_DefineBitmap) /* 44 */ +#endif +#ifndef Tk_DefineCursor +#define Tk_DefineCursor \ + (tkStubsPtr->tk_DefineCursor) /* 45 */ +#endif +#ifndef Tk_DeleteAllBindings +#define Tk_DeleteAllBindings \ + (tkStubsPtr->tk_DeleteAllBindings) /* 46 */ +#endif +#ifndef Tk_DeleteBinding +#define Tk_DeleteBinding \ + (tkStubsPtr->tk_DeleteBinding) /* 47 */ +#endif +#ifndef Tk_DeleteBindingTable +#define Tk_DeleteBindingTable \ + (tkStubsPtr->tk_DeleteBindingTable) /* 48 */ +#endif +#ifndef Tk_DeleteErrorHandler +#define Tk_DeleteErrorHandler \ + (tkStubsPtr->tk_DeleteErrorHandler) /* 49 */ +#endif +#ifndef Tk_DeleteEventHandler +#define Tk_DeleteEventHandler \ + (tkStubsPtr->tk_DeleteEventHandler) /* 50 */ +#endif +#ifndef Tk_DeleteGenericHandler +#define Tk_DeleteGenericHandler \ + (tkStubsPtr->tk_DeleteGenericHandler) /* 51 */ +#endif +#ifndef Tk_DeleteImage +#define Tk_DeleteImage \ + (tkStubsPtr->tk_DeleteImage) /* 52 */ +#endif +#ifndef Tk_DeleteSelHandler +#define Tk_DeleteSelHandler \ + (tkStubsPtr->tk_DeleteSelHandler) /* 53 */ +#endif +#ifndef Tk_DestroyWindow +#define Tk_DestroyWindow \ + (tkStubsPtr->tk_DestroyWindow) /* 54 */ +#endif +#ifndef Tk_DisplayName +#define Tk_DisplayName \ + (tkStubsPtr->tk_DisplayName) /* 55 */ +#endif +#ifndef Tk_DistanceToTextLayout +#define Tk_DistanceToTextLayout \ + (tkStubsPtr->tk_DistanceToTextLayout) /* 56 */ +#endif +#ifndef Tk_Draw3DPolygon +#define Tk_Draw3DPolygon \ + (tkStubsPtr->tk_Draw3DPolygon) /* 57 */ +#endif +#ifndef Tk_Draw3DRectangle +#define Tk_Draw3DRectangle \ + (tkStubsPtr->tk_Draw3DRectangle) /* 58 */ +#endif +#ifndef Tk_DrawChars +#define Tk_DrawChars \ + (tkStubsPtr->tk_DrawChars) /* 59 */ +#endif +#ifndef Tk_DrawFocusHighlight +#define Tk_DrawFocusHighlight \ + (tkStubsPtr->tk_DrawFocusHighlight) /* 60 */ +#endif +#ifndef Tk_DrawTextLayout +#define Tk_DrawTextLayout \ + (tkStubsPtr->tk_DrawTextLayout) /* 61 */ +#endif +#ifndef Tk_Fill3DPolygon +#define Tk_Fill3DPolygon \ + (tkStubsPtr->tk_Fill3DPolygon) /* 62 */ +#endif +#ifndef Tk_Fill3DRectangle +#define Tk_Fill3DRectangle \ + (tkStubsPtr->tk_Fill3DRectangle) /* 63 */ +#endif +#ifndef Tk_FindPhoto +#define Tk_FindPhoto \ + (tkStubsPtr->tk_FindPhoto) /* 64 */ +#endif +#ifndef Tk_FontId +#define Tk_FontId \ + (tkStubsPtr->tk_FontId) /* 65 */ +#endif +#ifndef Tk_Free3DBorder +#define Tk_Free3DBorder \ + (tkStubsPtr->tk_Free3DBorder) /* 66 */ +#endif +#ifndef Tk_FreeBitmap +#define Tk_FreeBitmap \ + (tkStubsPtr->tk_FreeBitmap) /* 67 */ +#endif +#ifndef Tk_FreeColor +#define Tk_FreeColor \ + (tkStubsPtr->tk_FreeColor) /* 68 */ +#endif +#ifndef Tk_FreeColormap +#define Tk_FreeColormap \ + (tkStubsPtr->tk_FreeColormap) /* 69 */ +#endif +#ifndef Tk_FreeCursor +#define Tk_FreeCursor \ + (tkStubsPtr->tk_FreeCursor) /* 70 */ +#endif +#ifndef Tk_FreeFont +#define Tk_FreeFont \ + (tkStubsPtr->tk_FreeFont) /* 71 */ +#endif +#ifndef Tk_FreeGC +#define Tk_FreeGC \ + (tkStubsPtr->tk_FreeGC) /* 72 */ +#endif +#ifndef Tk_FreeImage +#define Tk_FreeImage \ + (tkStubsPtr->tk_FreeImage) /* 73 */ +#endif +#ifndef Tk_FreeOptions +#define Tk_FreeOptions \ + (tkStubsPtr->tk_FreeOptions) /* 74 */ +#endif +#ifndef Tk_FreePixmap +#define Tk_FreePixmap \ + (tkStubsPtr->tk_FreePixmap) /* 75 */ +#endif +#ifndef Tk_FreeTextLayout +#define Tk_FreeTextLayout \ + (tkStubsPtr->tk_FreeTextLayout) /* 76 */ +#endif +#ifndef Tk_FreeXId +#define Tk_FreeXId \ + (tkStubsPtr->tk_FreeXId) /* 77 */ +#endif +#ifndef Tk_GCForColor +#define Tk_GCForColor \ + (tkStubsPtr->tk_GCForColor) /* 78 */ +#endif +#ifndef Tk_GeometryRequest +#define Tk_GeometryRequest \ + (tkStubsPtr->tk_GeometryRequest) /* 79 */ +#endif +#ifndef Tk_Get3DBorder +#define Tk_Get3DBorder \ + (tkStubsPtr->tk_Get3DBorder) /* 80 */ +#endif +#ifndef Tk_GetAllBindings +#define Tk_GetAllBindings \ + (tkStubsPtr->tk_GetAllBindings) /* 81 */ +#endif +#ifndef Tk_GetAnchor +#define Tk_GetAnchor \ + (tkStubsPtr->tk_GetAnchor) /* 82 */ +#endif +#ifndef Tk_GetAtomName +#define Tk_GetAtomName \ + (tkStubsPtr->tk_GetAtomName) /* 83 */ +#endif +#ifndef Tk_GetBinding +#define Tk_GetBinding \ + (tkStubsPtr->tk_GetBinding) /* 84 */ +#endif +#ifndef Tk_GetBitmap +#define Tk_GetBitmap \ + (tkStubsPtr->tk_GetBitmap) /* 85 */ +#endif +#ifndef Tk_GetBitmapFromData +#define Tk_GetBitmapFromData \ + (tkStubsPtr->tk_GetBitmapFromData) /* 86 */ +#endif +#ifndef Tk_GetCapStyle +#define Tk_GetCapStyle \ + (tkStubsPtr->tk_GetCapStyle) /* 87 */ +#endif +#ifndef Tk_GetColor +#define Tk_GetColor \ + (tkStubsPtr->tk_GetColor) /* 88 */ +#endif +#ifndef Tk_GetColorByValue +#define Tk_GetColorByValue \ + (tkStubsPtr->tk_GetColorByValue) /* 89 */ +#endif +#ifndef Tk_GetColormap +#define Tk_GetColormap \ + (tkStubsPtr->tk_GetColormap) /* 90 */ +#endif +#ifndef Tk_GetCursor +#define Tk_GetCursor \ + (tkStubsPtr->tk_GetCursor) /* 91 */ +#endif +#ifndef Tk_GetCursorFromData +#define Tk_GetCursorFromData \ + (tkStubsPtr->tk_GetCursorFromData) /* 92 */ +#endif +#ifndef Tk_GetFont +#define Tk_GetFont \ + (tkStubsPtr->tk_GetFont) /* 93 */ +#endif +#ifndef Tk_GetFontFromObj +#define Tk_GetFontFromObj \ + (tkStubsPtr->tk_GetFontFromObj) /* 94 */ +#endif +#ifndef Tk_GetFontMetrics +#define Tk_GetFontMetrics \ + (tkStubsPtr->tk_GetFontMetrics) /* 95 */ +#endif +#ifndef Tk_GetGC +#define Tk_GetGC \ + (tkStubsPtr->tk_GetGC) /* 96 */ +#endif +#ifndef Tk_GetImage +#define Tk_GetImage \ + (tkStubsPtr->tk_GetImage) /* 97 */ +#endif +#ifndef Tk_GetImageMasterData +#define Tk_GetImageMasterData \ + (tkStubsPtr->tk_GetImageMasterData) /* 98 */ +#endif +#ifndef Tk_GetItemTypes +#define Tk_GetItemTypes \ + (tkStubsPtr->tk_GetItemTypes) /* 99 */ +#endif +#ifndef Tk_GetJoinStyle +#define Tk_GetJoinStyle \ + (tkStubsPtr->tk_GetJoinStyle) /* 100 */ +#endif +#ifndef Tk_GetJustify +#define Tk_GetJustify \ + (tkStubsPtr->tk_GetJustify) /* 101 */ +#endif +#ifndef Tk_GetNumMainWindows +#define Tk_GetNumMainWindows \ + (tkStubsPtr->tk_GetNumMainWindows) /* 102 */ +#endif +#ifndef Tk_GetOption +#define Tk_GetOption \ + (tkStubsPtr->tk_GetOption) /* 103 */ +#endif +#ifndef Tk_GetPixels +#define Tk_GetPixels \ + (tkStubsPtr->tk_GetPixels) /* 104 */ +#endif +#ifndef Tk_GetPixmap +#define Tk_GetPixmap \ + (tkStubsPtr->tk_GetPixmap) /* 105 */ +#endif +#ifndef Tk_GetRelief +#define Tk_GetRelief \ + (tkStubsPtr->tk_GetRelief) /* 106 */ +#endif +#ifndef Tk_GetRootCoords +#define Tk_GetRootCoords \ + (tkStubsPtr->tk_GetRootCoords) /* 107 */ +#endif +#ifndef Tk_GetScrollInfo +#define Tk_GetScrollInfo \ + (tkStubsPtr->tk_GetScrollInfo) /* 108 */ +#endif +#ifndef Tk_GetScreenMM +#define Tk_GetScreenMM \ + (tkStubsPtr->tk_GetScreenMM) /* 109 */ +#endif +#ifndef Tk_GetSelection +#define Tk_GetSelection \ + (tkStubsPtr->tk_GetSelection) /* 110 */ +#endif +#ifndef Tk_GetUid +#define Tk_GetUid \ + (tkStubsPtr->tk_GetUid) /* 111 */ +#endif +#ifndef Tk_GetVisual +#define Tk_GetVisual \ + (tkStubsPtr->tk_GetVisual) /* 112 */ +#endif +#ifndef Tk_GetVRootGeometry +#define Tk_GetVRootGeometry \ + (tkStubsPtr->tk_GetVRootGeometry) /* 113 */ +#endif +#ifndef Tk_Grab +#define Tk_Grab \ + (tkStubsPtr->tk_Grab) /* 114 */ +#endif +#ifndef Tk_HandleEvent +#define Tk_HandleEvent \ + (tkStubsPtr->tk_HandleEvent) /* 115 */ +#endif +#ifndef Tk_IdToWindow +#define Tk_IdToWindow \ + (tkStubsPtr->tk_IdToWindow) /* 116 */ +#endif +#ifndef Tk_ImageChanged +#define Tk_ImageChanged \ + (tkStubsPtr->tk_ImageChanged) /* 117 */ +#endif +#ifndef Tk_Init +#define Tk_Init \ + (tkStubsPtr->tk_Init) /* 118 */ +#endif +#ifndef Tk_InternAtom +#define Tk_InternAtom \ + (tkStubsPtr->tk_InternAtom) /* 119 */ +#endif +#ifndef Tk_IntersectTextLayout +#define Tk_IntersectTextLayout \ + (tkStubsPtr->tk_IntersectTextLayout) /* 120 */ +#endif +#ifndef Tk_MaintainGeometry +#define Tk_MaintainGeometry \ + (tkStubsPtr->tk_MaintainGeometry) /* 121 */ +#endif +#ifndef Tk_MainWindow +#define Tk_MainWindow \ + (tkStubsPtr->tk_MainWindow) /* 122 */ +#endif +#ifndef Tk_MakeWindowExist +#define Tk_MakeWindowExist \ + (tkStubsPtr->tk_MakeWindowExist) /* 123 */ +#endif +#ifndef Tk_ManageGeometry +#define Tk_ManageGeometry \ + (tkStubsPtr->tk_ManageGeometry) /* 124 */ +#endif +#ifndef Tk_MapWindow +#define Tk_MapWindow \ + (tkStubsPtr->tk_MapWindow) /* 125 */ +#endif +#ifndef Tk_MeasureChars +#define Tk_MeasureChars \ + (tkStubsPtr->tk_MeasureChars) /* 126 */ +#endif +#ifndef Tk_MoveResizeWindow +#define Tk_MoveResizeWindow \ + (tkStubsPtr->tk_MoveResizeWindow) /* 127 */ +#endif +#ifndef Tk_MoveWindow +#define Tk_MoveWindow \ + (tkStubsPtr->tk_MoveWindow) /* 128 */ +#endif +#ifndef Tk_MoveToplevelWindow +#define Tk_MoveToplevelWindow \ + (tkStubsPtr->tk_MoveToplevelWindow) /* 129 */ +#endif +#ifndef Tk_NameOf3DBorder +#define Tk_NameOf3DBorder \ + (tkStubsPtr->tk_NameOf3DBorder) /* 130 */ +#endif +#ifndef Tk_NameOfAnchor +#define Tk_NameOfAnchor \ + (tkStubsPtr->tk_NameOfAnchor) /* 131 */ +#endif +#ifndef Tk_NameOfBitmap +#define Tk_NameOfBitmap \ + (tkStubsPtr->tk_NameOfBitmap) /* 132 */ +#endif +#ifndef Tk_NameOfCapStyle +#define Tk_NameOfCapStyle \ + (tkStubsPtr->tk_NameOfCapStyle) /* 133 */ +#endif +#ifndef Tk_NameOfColor +#define Tk_NameOfColor \ + (tkStubsPtr->tk_NameOfColor) /* 134 */ +#endif +#ifndef Tk_NameOfCursor +#define Tk_NameOfCursor \ + (tkStubsPtr->tk_NameOfCursor) /* 135 */ +#endif +#ifndef Tk_NameOfFont +#define Tk_NameOfFont \ + (tkStubsPtr->tk_NameOfFont) /* 136 */ +#endif +#ifndef Tk_NameOfImage +#define Tk_NameOfImage \ + (tkStubsPtr->tk_NameOfImage) /* 137 */ +#endif +#ifndef Tk_NameOfJoinStyle +#define Tk_NameOfJoinStyle \ + (tkStubsPtr->tk_NameOfJoinStyle) /* 138 */ +#endif +#ifndef Tk_NameOfJustify +#define Tk_NameOfJustify \ + (tkStubsPtr->tk_NameOfJustify) /* 139 */ +#endif +#ifndef Tk_NameOfRelief +#define Tk_NameOfRelief \ + (tkStubsPtr->tk_NameOfRelief) /* 140 */ +#endif +#ifndef Tk_NameToWindow +#define Tk_NameToWindow \ + (tkStubsPtr->tk_NameToWindow) /* 141 */ +#endif +#ifndef Tk_OwnSelection +#define Tk_OwnSelection \ + (tkStubsPtr->tk_OwnSelection) /* 142 */ +#endif +#ifndef Tk_ParseArgv +#define Tk_ParseArgv \ + (tkStubsPtr->tk_ParseArgv) /* 143 */ +#endif +#ifndef Tk_PhotoPutBlock_NoComposite +#define Tk_PhotoPutBlock_NoComposite \ + (tkStubsPtr->tk_PhotoPutBlock_NoComposite) /* 144 */ +#endif +#ifndef Tk_PhotoPutZoomedBlock_NoComposite +#define Tk_PhotoPutZoomedBlock_NoComposite \ + (tkStubsPtr->tk_PhotoPutZoomedBlock_NoComposite) /* 145 */ +#endif +#ifndef Tk_PhotoGetImage +#define Tk_PhotoGetImage \ + (tkStubsPtr->tk_PhotoGetImage) /* 146 */ +#endif +#ifndef Tk_PhotoBlank +#define Tk_PhotoBlank \ + (tkStubsPtr->tk_PhotoBlank) /* 147 */ +#endif +#ifndef Tk_PhotoExpand +#define Tk_PhotoExpand \ + (tkStubsPtr->tk_PhotoExpand) /* 148 */ +#endif +#ifndef Tk_PhotoGetSize +#define Tk_PhotoGetSize \ + (tkStubsPtr->tk_PhotoGetSize) /* 149 */ +#endif +#ifndef Tk_PhotoSetSize +#define Tk_PhotoSetSize \ + (tkStubsPtr->tk_PhotoSetSize) /* 150 */ +#endif +#ifndef Tk_PointToChar +#define Tk_PointToChar \ + (tkStubsPtr->tk_PointToChar) /* 151 */ +#endif +#ifndef Tk_PostscriptFontName +#define Tk_PostscriptFontName \ + (tkStubsPtr->tk_PostscriptFontName) /* 152 */ +#endif +#ifndef Tk_PreserveColormap +#define Tk_PreserveColormap \ + (tkStubsPtr->tk_PreserveColormap) /* 153 */ +#endif +#ifndef Tk_QueueWindowEvent +#define Tk_QueueWindowEvent \ + (tkStubsPtr->tk_QueueWindowEvent) /* 154 */ +#endif +#ifndef Tk_RedrawImage +#define Tk_RedrawImage \ + (tkStubsPtr->tk_RedrawImage) /* 155 */ +#endif +#ifndef Tk_ResizeWindow +#define Tk_ResizeWindow \ + (tkStubsPtr->tk_ResizeWindow) /* 156 */ +#endif +#ifndef Tk_RestackWindow +#define Tk_RestackWindow \ + (tkStubsPtr->tk_RestackWindow) /* 157 */ +#endif +#ifndef Tk_RestrictEvents +#define Tk_RestrictEvents \ + (tkStubsPtr->tk_RestrictEvents) /* 158 */ +#endif +#ifndef Tk_SafeInit +#define Tk_SafeInit \ + (tkStubsPtr->tk_SafeInit) /* 159 */ +#endif +#ifndef Tk_SetAppName +#define Tk_SetAppName \ + (tkStubsPtr->tk_SetAppName) /* 160 */ +#endif +#ifndef Tk_SetBackgroundFromBorder +#define Tk_SetBackgroundFromBorder \ + (tkStubsPtr->tk_SetBackgroundFromBorder) /* 161 */ +#endif +#ifndef Tk_SetClass +#define Tk_SetClass \ + (tkStubsPtr->tk_SetClass) /* 162 */ +#endif +#ifndef Tk_SetGrid +#define Tk_SetGrid \ + (tkStubsPtr->tk_SetGrid) /* 163 */ +#endif +#ifndef Tk_SetInternalBorder +#define Tk_SetInternalBorder \ + (tkStubsPtr->tk_SetInternalBorder) /* 164 */ +#endif +#ifndef Tk_SetWindowBackground +#define Tk_SetWindowBackground \ + (tkStubsPtr->tk_SetWindowBackground) /* 165 */ +#endif +#ifndef Tk_SetWindowBackgroundPixmap +#define Tk_SetWindowBackgroundPixmap \ + (tkStubsPtr->tk_SetWindowBackgroundPixmap) /* 166 */ +#endif +#ifndef Tk_SetWindowBorder +#define Tk_SetWindowBorder \ + (tkStubsPtr->tk_SetWindowBorder) /* 167 */ +#endif +#ifndef Tk_SetWindowBorderWidth +#define Tk_SetWindowBorderWidth \ + (tkStubsPtr->tk_SetWindowBorderWidth) /* 168 */ +#endif +#ifndef Tk_SetWindowBorderPixmap +#define Tk_SetWindowBorderPixmap \ + (tkStubsPtr->tk_SetWindowBorderPixmap) /* 169 */ +#endif +#ifndef Tk_SetWindowColormap +#define Tk_SetWindowColormap \ + (tkStubsPtr->tk_SetWindowColormap) /* 170 */ +#endif +#ifndef Tk_SetWindowVisual +#define Tk_SetWindowVisual \ + (tkStubsPtr->tk_SetWindowVisual) /* 171 */ +#endif +#ifndef Tk_SizeOfBitmap +#define Tk_SizeOfBitmap \ + (tkStubsPtr->tk_SizeOfBitmap) /* 172 */ +#endif +#ifndef Tk_SizeOfImage +#define Tk_SizeOfImage \ + (tkStubsPtr->tk_SizeOfImage) /* 173 */ +#endif +#ifndef Tk_StrictMotif +#define Tk_StrictMotif \ + (tkStubsPtr->tk_StrictMotif) /* 174 */ +#endif +#ifndef Tk_TextLayoutToPostscript +#define Tk_TextLayoutToPostscript \ + (tkStubsPtr->tk_TextLayoutToPostscript) /* 175 */ +#endif +#ifndef Tk_TextWidth +#define Tk_TextWidth \ + (tkStubsPtr->tk_TextWidth) /* 176 */ +#endif +#ifndef Tk_UndefineCursor +#define Tk_UndefineCursor \ + (tkStubsPtr->tk_UndefineCursor) /* 177 */ +#endif +#ifndef Tk_UnderlineChars +#define Tk_UnderlineChars \ + (tkStubsPtr->tk_UnderlineChars) /* 178 */ +#endif +#ifndef Tk_UnderlineTextLayout +#define Tk_UnderlineTextLayout \ + (tkStubsPtr->tk_UnderlineTextLayout) /* 179 */ +#endif +#ifndef Tk_Ungrab +#define Tk_Ungrab \ + (tkStubsPtr->tk_Ungrab) /* 180 */ +#endif +#ifndef Tk_UnmaintainGeometry +#define Tk_UnmaintainGeometry \ + (tkStubsPtr->tk_UnmaintainGeometry) /* 181 */ +#endif +#ifndef Tk_UnmapWindow +#define Tk_UnmapWindow \ + (tkStubsPtr->tk_UnmapWindow) /* 182 */ +#endif +#ifndef Tk_UnsetGrid +#define Tk_UnsetGrid \ + (tkStubsPtr->tk_UnsetGrid) /* 183 */ +#endif +#ifndef Tk_UpdatePointer +#define Tk_UpdatePointer \ + (tkStubsPtr->tk_UpdatePointer) /* 184 */ +#endif +#ifndef Tk_AllocBitmapFromObj +#define Tk_AllocBitmapFromObj \ + (tkStubsPtr->tk_AllocBitmapFromObj) /* 185 */ +#endif +#ifndef Tk_Alloc3DBorderFromObj +#define Tk_Alloc3DBorderFromObj \ + (tkStubsPtr->tk_Alloc3DBorderFromObj) /* 186 */ +#endif +#ifndef Tk_AllocColorFromObj +#define Tk_AllocColorFromObj \ + (tkStubsPtr->tk_AllocColorFromObj) /* 187 */ +#endif +#ifndef Tk_AllocCursorFromObj +#define Tk_AllocCursorFromObj \ + (tkStubsPtr->tk_AllocCursorFromObj) /* 188 */ +#endif +#ifndef Tk_AllocFontFromObj +#define Tk_AllocFontFromObj \ + (tkStubsPtr->tk_AllocFontFromObj) /* 189 */ +#endif +#ifndef Tk_CreateOptionTable +#define Tk_CreateOptionTable \ + (tkStubsPtr->tk_CreateOptionTable) /* 190 */ +#endif +#ifndef Tk_DeleteOptionTable +#define Tk_DeleteOptionTable \ + (tkStubsPtr->tk_DeleteOptionTable) /* 191 */ +#endif +#ifndef Tk_Free3DBorderFromObj +#define Tk_Free3DBorderFromObj \ + (tkStubsPtr->tk_Free3DBorderFromObj) /* 192 */ +#endif +#ifndef Tk_FreeBitmapFromObj +#define Tk_FreeBitmapFromObj \ + (tkStubsPtr->tk_FreeBitmapFromObj) /* 193 */ +#endif +#ifndef Tk_FreeColorFromObj +#define Tk_FreeColorFromObj \ + (tkStubsPtr->tk_FreeColorFromObj) /* 194 */ +#endif +#ifndef Tk_FreeConfigOptions +#define Tk_FreeConfigOptions \ + (tkStubsPtr->tk_FreeConfigOptions) /* 195 */ +#endif +#ifndef Tk_FreeSavedOptions +#define Tk_FreeSavedOptions \ + (tkStubsPtr->tk_FreeSavedOptions) /* 196 */ +#endif +#ifndef Tk_FreeCursorFromObj +#define Tk_FreeCursorFromObj \ + (tkStubsPtr->tk_FreeCursorFromObj) /* 197 */ +#endif +#ifndef Tk_FreeFontFromObj +#define Tk_FreeFontFromObj \ + (tkStubsPtr->tk_FreeFontFromObj) /* 198 */ +#endif +#ifndef Tk_Get3DBorderFromObj +#define Tk_Get3DBorderFromObj \ + (tkStubsPtr->tk_Get3DBorderFromObj) /* 199 */ +#endif +#ifndef Tk_GetAnchorFromObj +#define Tk_GetAnchorFromObj \ + (tkStubsPtr->tk_GetAnchorFromObj) /* 200 */ +#endif +#ifndef Tk_GetBitmapFromObj +#define Tk_GetBitmapFromObj \ + (tkStubsPtr->tk_GetBitmapFromObj) /* 201 */ +#endif +#ifndef Tk_GetColorFromObj +#define Tk_GetColorFromObj \ + (tkStubsPtr->tk_GetColorFromObj) /* 202 */ +#endif +#ifndef Tk_GetCursorFromObj +#define Tk_GetCursorFromObj \ + (tkStubsPtr->tk_GetCursorFromObj) /* 203 */ +#endif +#ifndef Tk_GetOptionInfo +#define Tk_GetOptionInfo \ + (tkStubsPtr->tk_GetOptionInfo) /* 204 */ +#endif +#ifndef Tk_GetOptionValue +#define Tk_GetOptionValue \ + (tkStubsPtr->tk_GetOptionValue) /* 205 */ +#endif +#ifndef Tk_GetJustifyFromObj +#define Tk_GetJustifyFromObj \ + (tkStubsPtr->tk_GetJustifyFromObj) /* 206 */ +#endif +#ifndef Tk_GetMMFromObj +#define Tk_GetMMFromObj \ + (tkStubsPtr->tk_GetMMFromObj) /* 207 */ +#endif +#ifndef Tk_GetPixelsFromObj +#define Tk_GetPixelsFromObj \ + (tkStubsPtr->tk_GetPixelsFromObj) /* 208 */ +#endif +#ifndef Tk_GetReliefFromObj +#define Tk_GetReliefFromObj \ + (tkStubsPtr->tk_GetReliefFromObj) /* 209 */ +#endif +#ifndef Tk_GetScrollInfoObj +#define Tk_GetScrollInfoObj \ + (tkStubsPtr->tk_GetScrollInfoObj) /* 210 */ +#endif +#ifndef Tk_InitOptions +#define Tk_InitOptions \ + (tkStubsPtr->tk_InitOptions) /* 211 */ +#endif +#ifndef Tk_MainEx +#define Tk_MainEx \ + (tkStubsPtr->tk_MainEx) /* 212 */ +#endif +#ifndef Tk_RestoreSavedOptions +#define Tk_RestoreSavedOptions \ + (tkStubsPtr->tk_RestoreSavedOptions) /* 213 */ +#endif +#ifndef Tk_SetOptions +#define Tk_SetOptions \ + (tkStubsPtr->tk_SetOptions) /* 214 */ +#endif +#ifndef Tk_InitConsoleChannels +#define Tk_InitConsoleChannels \ + (tkStubsPtr->tk_InitConsoleChannels) /* 215 */ +#endif +#ifndef Tk_CreateConsoleWindow +#define Tk_CreateConsoleWindow \ + (tkStubsPtr->tk_CreateConsoleWindow) /* 216 */ +#endif +#ifndef Tk_CreateSmoothMethod +#define Tk_CreateSmoothMethod \ + (tkStubsPtr->tk_CreateSmoothMethod) /* 217 */ +#endif +/* Slot 218 is reserved */ +/* Slot 219 is reserved */ +#ifndef Tk_GetDash +#define Tk_GetDash \ + (tkStubsPtr->tk_GetDash) /* 220 */ +#endif +#ifndef Tk_CreateOutline +#define Tk_CreateOutline \ + (tkStubsPtr->tk_CreateOutline) /* 221 */ +#endif +#ifndef Tk_DeleteOutline +#define Tk_DeleteOutline \ + (tkStubsPtr->tk_DeleteOutline) /* 222 */ +#endif +#ifndef Tk_ConfigOutlineGC +#define Tk_ConfigOutlineGC \ + (tkStubsPtr->tk_ConfigOutlineGC) /* 223 */ +#endif +#ifndef Tk_ChangeOutlineGC +#define Tk_ChangeOutlineGC \ + (tkStubsPtr->tk_ChangeOutlineGC) /* 224 */ +#endif +#ifndef Tk_ResetOutlineGC +#define Tk_ResetOutlineGC \ + (tkStubsPtr->tk_ResetOutlineGC) /* 225 */ +#endif +#ifndef Tk_CanvasPsOutline +#define Tk_CanvasPsOutline \ + (tkStubsPtr->tk_CanvasPsOutline) /* 226 */ +#endif +#ifndef Tk_SetTSOrigin +#define Tk_SetTSOrigin \ + (tkStubsPtr->tk_SetTSOrigin) /* 227 */ +#endif +#ifndef Tk_CanvasGetCoordFromObj +#define Tk_CanvasGetCoordFromObj \ + (tkStubsPtr->tk_CanvasGetCoordFromObj) /* 228 */ +#endif +#ifndef Tk_CanvasSetOffset +#define Tk_CanvasSetOffset \ + (tkStubsPtr->tk_CanvasSetOffset) /* 229 */ +#endif +#ifndef Tk_DitherPhoto +#define Tk_DitherPhoto \ + (tkStubsPtr->tk_DitherPhoto) /* 230 */ +#endif +#ifndef Tk_PostscriptBitmap +#define Tk_PostscriptBitmap \ + (tkStubsPtr->tk_PostscriptBitmap) /* 231 */ +#endif +#ifndef Tk_PostscriptColor +#define Tk_PostscriptColor \ + (tkStubsPtr->tk_PostscriptColor) /* 232 */ +#endif +#ifndef Tk_PostscriptFont +#define Tk_PostscriptFont \ + (tkStubsPtr->tk_PostscriptFont) /* 233 */ +#endif +#ifndef Tk_PostscriptImage +#define Tk_PostscriptImage \ + (tkStubsPtr->tk_PostscriptImage) /* 234 */ +#endif +#ifndef Tk_PostscriptPath +#define Tk_PostscriptPath \ + (tkStubsPtr->tk_PostscriptPath) /* 235 */ +#endif +#ifndef Tk_PostscriptStipple +#define Tk_PostscriptStipple \ + (tkStubsPtr->tk_PostscriptStipple) /* 236 */ +#endif +#ifndef Tk_PostscriptY +#define Tk_PostscriptY \ + (tkStubsPtr->tk_PostscriptY) /* 237 */ +#endif +#ifndef Tk_PostscriptPhoto +#define Tk_PostscriptPhoto \ + (tkStubsPtr->tk_PostscriptPhoto) /* 238 */ +#endif +#ifndef Tk_CreateClientMessageHandler +#define Tk_CreateClientMessageHandler \ + (tkStubsPtr->tk_CreateClientMessageHandler) /* 239 */ +#endif +#ifndef Tk_DeleteClientMessageHandler +#define Tk_DeleteClientMessageHandler \ + (tkStubsPtr->tk_DeleteClientMessageHandler) /* 240 */ +#endif +#ifndef Tk_CreateAnonymousWindow +#define Tk_CreateAnonymousWindow \ + (tkStubsPtr->tk_CreateAnonymousWindow) /* 241 */ +#endif +#ifndef Tk_SetClassProcs +#define Tk_SetClassProcs \ + (tkStubsPtr->tk_SetClassProcs) /* 242 */ +#endif +#ifndef Tk_SetInternalBorderEx +#define Tk_SetInternalBorderEx \ + (tkStubsPtr->tk_SetInternalBorderEx) /* 243 */ +#endif +#ifndef Tk_SetMinimumRequestSize +#define Tk_SetMinimumRequestSize \ + (tkStubsPtr->tk_SetMinimumRequestSize) /* 244 */ +#endif +#ifndef Tk_SetCaretPos +#define Tk_SetCaretPos \ + (tkStubsPtr->tk_SetCaretPos) /* 245 */ +#endif +#ifndef Tk_PhotoPutBlock +#define Tk_PhotoPutBlock \ + (tkStubsPtr->tk_PhotoPutBlock) /* 246 */ +#endif +#ifndef Tk_PhotoPutZoomedBlock +#define Tk_PhotoPutZoomedBlock \ + (tkStubsPtr->tk_PhotoPutZoomedBlock) /* 247 */ +#endif +#ifndef Tk_CollapseMotionEvents +#define Tk_CollapseMotionEvents \ + (tkStubsPtr->tk_CollapseMotionEvents) /* 248 */ +#endif +#ifndef Tk_RegisterStyleEngine +#define Tk_RegisterStyleEngine \ + (tkStubsPtr->tk_RegisterStyleEngine) /* 249 */ +#endif +#ifndef Tk_GetStyleEngine +#define Tk_GetStyleEngine \ + (tkStubsPtr->tk_GetStyleEngine) /* 250 */ +#endif +#ifndef Tk_RegisterStyledElement +#define Tk_RegisterStyledElement \ + (tkStubsPtr->tk_RegisterStyledElement) /* 251 */ +#endif +#ifndef Tk_GetElementId +#define Tk_GetElementId \ + (tkStubsPtr->tk_GetElementId) /* 252 */ +#endif +#ifndef Tk_CreateStyle +#define Tk_CreateStyle \ + (tkStubsPtr->tk_CreateStyle) /* 253 */ +#endif +#ifndef Tk_GetStyle +#define Tk_GetStyle \ + (tkStubsPtr->tk_GetStyle) /* 254 */ +#endif +#ifndef Tk_FreeStyle +#define Tk_FreeStyle \ + (tkStubsPtr->tk_FreeStyle) /* 255 */ +#endif +#ifndef Tk_NameOfStyle +#define Tk_NameOfStyle \ + (tkStubsPtr->tk_NameOfStyle) /* 256 */ +#endif +#ifndef Tk_AllocStyleFromObj +#define Tk_AllocStyleFromObj \ + (tkStubsPtr->tk_AllocStyleFromObj) /* 257 */ +#endif +#ifndef Tk_GetStyleFromObj +#define Tk_GetStyleFromObj \ + (tkStubsPtr->tk_GetStyleFromObj) /* 258 */ +#endif +#ifndef Tk_FreeStyleFromObj +#define Tk_FreeStyleFromObj \ + (tkStubsPtr->tk_FreeStyleFromObj) /* 259 */ +#endif +#ifndef Tk_GetStyledElement +#define Tk_GetStyledElement \ + (tkStubsPtr->tk_GetStyledElement) /* 260 */ +#endif +#ifndef Tk_GetElementSize +#define Tk_GetElementSize \ + (tkStubsPtr->tk_GetElementSize) /* 261 */ +#endif +#ifndef Tk_GetElementBox +#define Tk_GetElementBox \ + (tkStubsPtr->tk_GetElementBox) /* 262 */ +#endif +#ifndef Tk_GetElementBorderWidth +#define Tk_GetElementBorderWidth \ + (tkStubsPtr->tk_GetElementBorderWidth) /* 263 */ +#endif +#ifndef Tk_DrawElement +#define Tk_DrawElement \ + (tkStubsPtr->tk_DrawElement) /* 264 */ +#endif + +#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */ + +/* !END!: Do not edit above this line. */ + +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLIMPORT + +#endif /* _TKDECLS */ + --- blt-2.4z.orig/debian/control +++ blt-2.4z/debian/control @@ -0,0 +1,53 @@ +Source: blt +Section: devel +Priority: optional +Maintainer: Debian QA Group +Build-Depends: tk8.4-dev, tk8.5-dev, debhelper (>= 9), autotools-dev +Standards-Version: 3.6.2 +Homepage: http://blt.sourceforge.net/ + +Package: blt +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: blt-common +Suggests: blt-demo +Description: extension library for Tcl/Tk - run-time package + BLT is a library of useful extensions for the Tcl language and the + popular Tk graphical toolkit. It adds a vector and tree data type, + background execution and some debugging tools to Tcl, and provides + several new widgets for Tk, including graphs, bar-charts, trees, tabs, + splines and hyper-links, as well as a new geometry manager, drag & + drop support, and more. + . + This package contains everything you need to use BLT with your Tcl/Tk + scripts and Tcl/Tk-enabled apps. + +Package: blt-dev +Architecture: any +Depends: blt (= ${binary:Version}), tk8.5-dev | tk8.4-dev, tcl8.5-dev | tcl8.4-dev, ${misc:Depends} +Suggests: blt-demo +Description: extension library for Tcl/Tk - development files + BLT is a library of useful extensions for the Tcl language and the + popular Tk graphical toolkit. It adds a vector and tree data type, + background execution and some debugging tools to Tcl, and provides + several new widgets for Tk, including graphs, bar-charts, trees, tabs, + splines and hyper-links, as well as a new geometry manager, drag & + drop support, and more. + . + This package contains the headers and libraries needed to extend or + embed BLT. + +Package: blt-demo +Architecture: all +Depends: blt, tk8.5 | wish, tcl8.5 | tclsh, ${misc:Depends} +Description: extension library for Tcl/Tk - demos and examples + BLT is a library of useful extensions for the Tcl language and the + popular Tk graphical toolkit. It adds a vector and tree data type, + background execution and some debugging tools to Tcl, and provides + several new widgets for Tk, including graphs, bar-charts, trees, tabs, + splines and hyper-links, as well as a new geometry manager, drag & + drop support, and more. + . + This package contains demos and samples showing the power and + versatility of BLT. --- blt-2.4z.orig/debian/compat +++ blt-2.4z/debian/compat @@ -0,0 +1 @@ +9 --- blt-2.4z.orig/debian/tkConfig.sh.tk8.4 +++ blt-2.4z/debian/tkConfig.sh.tk8.4 @@ -0,0 +1,97 @@ +# tkConfig.sh -- +# +# This shell script (for sh) is generated automatically by Tk's +# configure script. It will create shell variables for most of +# the configuration options discovered by the configure script. +# This script is intended to be included by the configure scripts +# for Tk extensions so that they don't have to figure this all +# out for themselves. This file does not duplicate information +# already provided by tclConfig.sh, so you may need to use that +# file in addition to this one. +# +# The information in this file is specific to a single platform. +# +# RCS: @(#) $Id: tkConfig.sh.in,v 1.8.2.1 2007/09/11 05:17:07 das Exp $ + +# Tk's version number. +TK_VERSION='8.4' +TK_MAJOR_VERSION='8' +TK_MINOR_VERSION='4' +TK_PATCH_LEVEL='.19' + +# -D flags for use with the C compiler. +TK_DEFS='-DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DSTDC_HEADERS=1 -DHAVE_PW_GECOS=1 ' + +# Flag, 1: we built a shared lib, 0 we didn't +TK_SHARED_BUILD=1 + +# This indicates if Tk was build with debugging symbols +TK_DBGX= + +# The name of the Tk library (may be either a .a file or a shared library): +TK_LIB_FILE='libtk8.4${TK_DBGX}.so' + +# Additional libraries to use when linking Tk. +TK_LIBS='-lX11 -ldl -lpthread -lieee -lm' + +# Top-level directory in which Tk's platform-independent files are +# installed. +TK_PREFIX='/usr' + +# Top-level directory in which Tk's platform-specific files (e.g. +# executables) are installed. +TK_EXEC_PREFIX='/usr' + +# -I switch(es) to use to make all of the X11 include files accessible: +TK_XINCLUDES='' + +# Linker switch(es) to use to link with the X11 library archive. +TK_XLIBSW='-lX11' + +# -l flag to pass to the linker to pick up the Tk library +TK_LIB_FLAG='-ltk8.4' + +# String to pass to linker to pick up the Tk library from its +# build directory. +TK_BUILD_LIB_SPEC='-L/usr/lib -ltk8.4' + +# String to pass to linker to pick up the Tk library from its +# installed directory. +TK_LIB_SPEC='-L/usr/lib -ltk8.4' + +# String to pass to the compiler so that an extension can +# find installed Tk headers. +TK_INCLUDE_SPEC='-I/usr/include/tcl8.4' + +# Location of the top-level source directory from which Tk was built. +# This is the directory that contains a README file as well as +# subdirectories such as generic, unix, etc. If Tk was compiled in a +# different place than the directory containing the source files, this +# points to the location of the sources, not the location where Tk was +# compiled. +TK_SRC_DIR='/usr/include/tcl8.4/tk-private' + +# Needed if you want to make a 'fat' shared library library +# containing tk objects or link a different wish. +TK_CC_SEARCH_FLAGS='' +TK_LD_SEARCH_FLAGS='' + +# The name of the Tk stub library (.a): +TK_STUB_LIB_FILE='libtkstub8.4.a' + +# -l flag to pass to the linker to pick up the Tk stub library +TK_STUB_LIB_FLAG='-ltkstub8.4' + +# String to pass to linker to pick up the Tk stub library from its +# build directory. +TK_BUILD_STUB_LIB_SPEC='-L/usr/lib -ltkstub8.4' + +# String to pass to linker to pick up the Tk stub library from its +# installed directory. +TK_STUB_LIB_SPEC='-L/usr/lib -ltkstub8.4' + +# Path to the Tk stub library in the build directory. +TK_BUILD_STUB_LIB_PATH='/usr/lib/libtkstub8.4.a' + +# Path to the Tk stub library in the install directory. +TK_STUB_LIB_PATH='/usr/lib/libtkstub8.4.a' --- blt-2.4z.orig/debian/tkPlatDecls.h.tk8.4 +++ blt-2.4z/debian/tkPlatDecls.h.tk8.4 @@ -0,0 +1,300 @@ +/* + * tkPlatDecls.h -- + * + * Declarations of functions in the platform-specific 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: tkPlatDecls.h,v 1.7.2.1 2006/02/09 19:09:43 das Exp $ + */ + +#ifndef _TKPLATDECLS +#define _TKPLATDECLS + +#ifdef BUILD_tk +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLEXPORT +#endif + +/* + * 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/tk.decls script. + */ + +/* !BEGIN!: Do not edit below this line. */ + +/* + * Exported function declarations: + */ + +#ifdef __WIN32__ +/* 0 */ +EXTERN Window Tk_AttachHWND _ANSI_ARGS_((Tk_Window tkwin, + HWND hwnd)); +/* 1 */ +EXTERN HINSTANCE Tk_GetHINSTANCE _ANSI_ARGS_((void)); +/* 2 */ +EXTERN HWND Tk_GetHWND _ANSI_ARGS_((Window window)); +/* 3 */ +EXTERN Tk_Window Tk_HWNDToWindow _ANSI_ARGS_((HWND hwnd)); +/* 4 */ +EXTERN void Tk_PointerEvent _ANSI_ARGS_((HWND hwnd, int x, int y)); +/* 5 */ +EXTERN int Tk_TranslateWinEvent _ANSI_ARGS_((HWND hwnd, + UINT message, WPARAM wParam, LPARAM lParam, + LRESULT * result)); +#endif /* __WIN32__ */ +#ifdef MAC_TCL +/* 0 */ +EXTERN void Tk_MacSetEmbedHandler _ANSI_ARGS_(( + Tk_MacEmbedRegisterWinProc * registerWinProcPtr, + Tk_MacEmbedGetGrafPortProc * getPortProcPtr, + Tk_MacEmbedMakeContainerExistProc * containerExistProcPtr, + Tk_MacEmbedGetClipProc * getClipProc, + Tk_MacEmbedGetOffsetInParentProc * getOffsetProc)); +/* 1 */ +EXTERN void Tk_MacTurnOffMenus _ANSI_ARGS_((void)); +/* 2 */ +EXTERN void Tk_MacTkOwnsCursor _ANSI_ARGS_((int tkOwnsIt)); +/* 3 */ +EXTERN void TkMacInitMenus _ANSI_ARGS_((Tcl_Interp * interp)); +/* 4 */ +EXTERN void TkMacInitAppleEvents _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 5 */ +EXTERN int TkMacConvertEvent _ANSI_ARGS_(( + EventRecord * eventPtr)); +/* 6 */ +EXTERN int TkMacConvertTkEvent _ANSI_ARGS_(( + EventRecord * eventPtr, Window window)); +/* 7 */ +EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin, + int x, int y, int width, int height, + int flags)); +/* 8 */ +EXTERN void TkMacInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr)); +/* 9 */ +EXTERN int TkMacHaveAppearance _ANSI_ARGS_((void)); +/* 10 */ +EXTERN GWorldPtr TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable)); +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TK +/* 0 */ +EXTERN void Tk_MacOSXSetEmbedHandler _ANSI_ARGS_(( + Tk_MacOSXEmbedRegisterWinProc * registerWinProcPtr, + Tk_MacOSXEmbedGetGrafPortProc * getPortProcPtr, + Tk_MacOSXEmbedMakeContainerExistProc * containerExistProcPtr, + Tk_MacOSXEmbedGetClipProc * getClipProc, + Tk_MacOSXEmbedGetOffsetInParentProc * getOffsetProc)); +/* 1 */ +EXTERN void Tk_MacOSXTurnOffMenus _ANSI_ARGS_((void)); +/* 2 */ +EXTERN void Tk_MacOSXTkOwnsCursor _ANSI_ARGS_((int tkOwnsIt)); +/* 3 */ +EXTERN void TkMacOSXInitMenus _ANSI_ARGS_((Tcl_Interp * interp)); +/* 4 */ +EXTERN void TkMacOSXInitAppleEvents _ANSI_ARGS_(( + Tcl_Interp * interp)); +/* 5 */ +EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin, + int x, int y, int width, int height, + int flags)); +/* 6 */ +EXTERN void TkMacOSXInvalClipRgns _ANSI_ARGS_((Tk_Window tkwin)); +/* 7 */ +EXTERN GWorldPtr TkMacOSXGetDrawablePort _ANSI_ARGS_(( + Drawable drawable)); +/* 8 */ +EXTERN ControlRef TkMacOSXGetRootControl _ANSI_ARGS_(( + Drawable drawable)); +/* 9 */ +EXTERN void Tk_MacOSXSetupTkNotifier _ANSI_ARGS_((void)); +/* 10 */ +EXTERN int Tk_MacOSXIsAppInFront _ANSI_ARGS_((void)); +#endif /* MAC_OSX_TK */ + +typedef struct TkPlatStubs { + int magic; + struct TkPlatStubHooks *hooks; + +#ifdef __WIN32__ + Window (*tk_AttachHWND) _ANSI_ARGS_((Tk_Window tkwin, HWND hwnd)); /* 0 */ + HINSTANCE (*tk_GetHINSTANCE) _ANSI_ARGS_((void)); /* 1 */ + HWND (*tk_GetHWND) _ANSI_ARGS_((Window window)); /* 2 */ + Tk_Window (*tk_HWNDToWindow) _ANSI_ARGS_((HWND hwnd)); /* 3 */ + void (*tk_PointerEvent) _ANSI_ARGS_((HWND hwnd, int x, int y)); /* 4 */ + int (*tk_TranslateWinEvent) _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT * result)); /* 5 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void (*tk_MacSetEmbedHandler) _ANSI_ARGS_((Tk_MacEmbedRegisterWinProc * registerWinProcPtr, Tk_MacEmbedGetGrafPortProc * getPortProcPtr, Tk_MacEmbedMakeContainerExistProc * containerExistProcPtr, Tk_MacEmbedGetClipProc * getClipProc, Tk_MacEmbedGetOffsetInParentProc * getOffsetProc)); /* 0 */ + void (*tk_MacTurnOffMenus) _ANSI_ARGS_((void)); /* 1 */ + void (*tk_MacTkOwnsCursor) _ANSI_ARGS_((int tkOwnsIt)); /* 2 */ + void (*tkMacInitMenus) _ANSI_ARGS_((Tcl_Interp * interp)); /* 3 */ + void (*tkMacInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp)); /* 4 */ + int (*tkMacConvertEvent) _ANSI_ARGS_((EventRecord * eventPtr)); /* 5 */ + int (*tkMacConvertTkEvent) _ANSI_ARGS_((EventRecord * eventPtr, Window window)); /* 6 */ + void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 7 */ + void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr)); /* 8 */ + int (*tkMacHaveAppearance) _ANSI_ARGS_((void)); /* 9 */ + GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 10 */ +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TK + void (*tk_MacOSXSetEmbedHandler) _ANSI_ARGS_((Tk_MacOSXEmbedRegisterWinProc * registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc * getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc * containerExistProcPtr, Tk_MacOSXEmbedGetClipProc * getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc * getOffsetProc)); /* 0 */ + void (*tk_MacOSXTurnOffMenus) _ANSI_ARGS_((void)); /* 1 */ + void (*tk_MacOSXTkOwnsCursor) _ANSI_ARGS_((int tkOwnsIt)); /* 2 */ + void (*tkMacOSXInitMenus) _ANSI_ARGS_((Tcl_Interp * interp)); /* 3 */ + void (*tkMacOSXInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp)); /* 4 */ + void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 5 */ + void (*tkMacOSXInvalClipRgns) _ANSI_ARGS_((Tk_Window tkwin)); /* 6 */ + GWorldPtr (*tkMacOSXGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 7 */ + ControlRef (*tkMacOSXGetRootControl) _ANSI_ARGS_((Drawable drawable)); /* 8 */ + void (*tk_MacOSXSetupTkNotifier) _ANSI_ARGS_((void)); /* 9 */ + int (*tk_MacOSXIsAppInFront) _ANSI_ARGS_((void)); /* 10 */ +#endif /* MAC_OSX_TK */ +} TkPlatStubs; + +#ifdef __cplusplus +extern "C" { +#endif +extern TkPlatStubs *tkPlatStubsPtr; +#ifdef __cplusplus +} +#endif + +#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) + +/* + * Inline function declarations: + */ + +#ifdef __WIN32__ +#ifndef Tk_AttachHWND +#define Tk_AttachHWND \ + (tkPlatStubsPtr->tk_AttachHWND) /* 0 */ +#endif +#ifndef Tk_GetHINSTANCE +#define Tk_GetHINSTANCE \ + (tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */ +#endif +#ifndef Tk_GetHWND +#define Tk_GetHWND \ + (tkPlatStubsPtr->tk_GetHWND) /* 2 */ +#endif +#ifndef Tk_HWNDToWindow +#define Tk_HWNDToWindow \ + (tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */ +#endif +#ifndef Tk_PointerEvent +#define Tk_PointerEvent \ + (tkPlatStubsPtr->tk_PointerEvent) /* 4 */ +#endif +#ifndef Tk_TranslateWinEvent +#define Tk_TranslateWinEvent \ + (tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */ +#endif +#endif /* __WIN32__ */ +#ifdef MAC_TCL +#ifndef Tk_MacSetEmbedHandler +#define Tk_MacSetEmbedHandler \ + (tkPlatStubsPtr->tk_MacSetEmbedHandler) /* 0 */ +#endif +#ifndef Tk_MacTurnOffMenus +#define Tk_MacTurnOffMenus \ + (tkPlatStubsPtr->tk_MacTurnOffMenus) /* 1 */ +#endif +#ifndef Tk_MacTkOwnsCursor +#define Tk_MacTkOwnsCursor \ + (tkPlatStubsPtr->tk_MacTkOwnsCursor) /* 2 */ +#endif +#ifndef TkMacInitMenus +#define TkMacInitMenus \ + (tkPlatStubsPtr->tkMacInitMenus) /* 3 */ +#endif +#ifndef TkMacInitAppleEvents +#define TkMacInitAppleEvents \ + (tkPlatStubsPtr->tkMacInitAppleEvents) /* 4 */ +#endif +#ifndef TkMacConvertEvent +#define TkMacConvertEvent \ + (tkPlatStubsPtr->tkMacConvertEvent) /* 5 */ +#endif +#ifndef TkMacConvertTkEvent +#define TkMacConvertTkEvent \ + (tkPlatStubsPtr->tkMacConvertTkEvent) /* 6 */ +#endif +#ifndef TkGenWMConfigureEvent +#define TkGenWMConfigureEvent \ + (tkPlatStubsPtr->tkGenWMConfigureEvent) /* 7 */ +#endif +#ifndef TkMacInvalClipRgns +#define TkMacInvalClipRgns \ + (tkPlatStubsPtr->tkMacInvalClipRgns) /* 8 */ +#endif +#ifndef TkMacHaveAppearance +#define TkMacHaveAppearance \ + (tkPlatStubsPtr->tkMacHaveAppearance) /* 9 */ +#endif +#ifndef TkMacGetDrawablePort +#define TkMacGetDrawablePort \ + (tkPlatStubsPtr->tkMacGetDrawablePort) /* 10 */ +#endif +#endif /* MAC_TCL */ +#ifdef MAC_OSX_TK +#ifndef Tk_MacOSXSetEmbedHandler +#define Tk_MacOSXSetEmbedHandler \ + (tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */ +#endif +#ifndef Tk_MacOSXTurnOffMenus +#define Tk_MacOSXTurnOffMenus \ + (tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */ +#endif +#ifndef Tk_MacOSXTkOwnsCursor +#define Tk_MacOSXTkOwnsCursor \ + (tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */ +#endif +#ifndef TkMacOSXInitMenus +#define TkMacOSXInitMenus \ + (tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */ +#endif +#ifndef TkMacOSXInitAppleEvents +#define TkMacOSXInitAppleEvents \ + (tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */ +#endif +#ifndef TkGenWMConfigureEvent +#define TkGenWMConfigureEvent \ + (tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */ +#endif +#ifndef TkMacOSXInvalClipRgns +#define TkMacOSXInvalClipRgns \ + (tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */ +#endif +#ifndef TkMacOSXGetDrawablePort +#define TkMacOSXGetDrawablePort \ + (tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */ +#endif +#ifndef TkMacOSXGetRootControl +#define TkMacOSXGetRootControl \ + (tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */ +#endif +#ifndef Tk_MacOSXSetupTkNotifier +#define Tk_MacOSXSetupTkNotifier \ + (tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */ +#endif +#ifndef Tk_MacOSXIsAppInFront +#define Tk_MacOSXIsAppInFront \ + (tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */ +#endif +#endif /* MAC_OSX_TK */ + +#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */ + +/* !END!: Do not edit above this line. */ + +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS DLLIMPORT + +#endif /* _TKPLATDECLS */ --- blt-2.4z.orig/debian/rules +++ blt-2.4z/debian/rules @@ -0,0 +1,227 @@ +#!/usr/bin/make -f +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +# This has to be exported to make some magic below work. +export DH_OPTIONS + +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) + +DEB_CFLAGS=$(shell dpkg-buildflags --get CFLAGS) +DEB_CFLAGS+=$(shell dpkg-buildflags --get CPPFLAGS) +DEB_LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS) + +# useful variables +v = 2.4 + +dtmp = $(shell pwd)/debian/tmp + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + CONFIGURE = CC=$(DEB_HOST_GNU_TYPE)-gcc +endif + +CONFIGURE += EXTRA_LDFLAGS="$(DEB_LDFLAGS)" +CONFIGURE += ./configure --prefix=/usr/ --mandir=/usr/share/man \ + --with-cflags="$(DEB_CFLAGS) -D_REENTRANT" + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + CONFIGURE += --host $(DEB_HOST_GNU_TYPE) --build $(DEB_BUILD_GNU_TYPE) +endif + +# Now, the build targets... + +build: build-stamp +build-stamp: build-8.4-stamp build-8.5-stamp + touch build-stamp + +# +# build for tcl/tk version (8.4) +# +build-8.4-stamp: + dh_testdir + -mkdir -p tmplib + + [ ! -f Makefile ] || $(MAKE) distclean + rm -rf debian/tcl8.4 debian/tk8.4 + + -mkdir -p debian/tcl8.4/include debian/tk8.4/include + -mkdir -p debian/tcl8.4/lib debian/tk8.4/lib + + ln -s /usr/lib/libtcl8.4.so.1 debian/tcl8.4/lib/libtcl8.4.so + ln -s /usr/lib/libtk8.4.so.1 debian/tk8.4/lib/libtk8.4.so + + cp debian/tcl.h.tcl8.4 debian/tcl8.4/include/tcl.h + cp debian/tclDecls.h.tcl8.4 debian/tcl8.4/include/tclDecls.h + cp debian/tclPlatDecls.h.tcl8.4 debian/tcl8.4/include/tclPlatDecls.h + cp debian/tclConfig.sh.tcl8.4 debian/tcl8.4/tclConfig.sh + echo TCL_PREFIX="'"`pwd`/debian/tcl8.4"'" \ + >> debian/tcl8.4/tclConfig.sh + echo TCL_EXEC_PREFIX="'"`pwd`/debian/tcl8.4"'" \ + >> debian/tcl8.4/tclConfig.sh + + cp debian/tk.h.tk8.4 debian/tk8.4/include/tk.h + cp debian/tkDecls.h.tk8.4 debian/tk8.4/include/tkDecls.h + cp debian/tkPlatDecls.h.tk8.4 debian/tk8.4/include/tkPlatDecls.h + cp debian/tkConfig.sh.tk8.4 debian/tk8.4/tkConfig.sh + echo TK_PREFIX="'"`pwd`/debian/tk8.4"'" \ + >> debian/tk8.4/tkConfig.sh + echo TK_EXEC_PREFIX="'"`pwd`/debian/tk8.4"'" \ + >> debian/tk8.4/tkConfig.sh + + $(CONFIGURE) --with-tk=debian/tk8.4 --with-tcl=debian/tcl8.4 + + ( cd src/shared ; \ + sed -e 's:$$(version)$$(SHLIB_SUFFIX):.2.4.so.8.4:' Makefile > M2 ; \ + mv M2 Makefile ) + + ( cd src; $(MAKE) ) + mv src/shared/libBLTlite* tmplib/libBLTlite.$(v).so.8.4 + mv src/shared/libBLT* tmplib/libBLT.$(v).so.8.4 + mv src/libBLTlite.a tmplib/libBLTlite.$(v).8.4.a + mv src/libBLT.a tmplib/libBLT.$(v).8.4.a + + touch build-8.4-stamp + +# +# Now build for the best tcl/tk version (8.5) +# +build-8.5-stamp: + [ ! -f Makefile ] || $(MAKE) distclean + + $(CONFIGURE) --with-tk=/usr/lib/tk8.5 --with-tcl=/usr/lib/tcl8.5 + + ( cd src/shared ; \ + sed -e 's:$$(version)$$(SHLIB_SUFFIX):.2.4.so.8.5:' Makefile > M2 ; \ + mv M2 Makefile ) + + $(MAKE) all + + touch build-8.5-stamp + +clean: + dh_testdir + dh_testroot + rm -f build*-stamp + rm -f configure.old + + rm -f build config.cache + [ ! -f Makefile ] || $(MAKE) clean + [ ! -f Makefile ] || $(MAKE) distclean + rm -f src/shared/*.o + rm -f src/bltConfig.h src/bltHash.h + + rm -f `find . -name "Makefile"` + + rm -f debian/shlibs.local + rm -rf tmplib + rm -rf debian/tcl8.[0-5] debian/tk8.[0-5] + dh_clean + +install: DH_OPTIONS= +install: build + dh_testdir + dh_testroot + dh_prep + +# Ok, do the basic install + -mkdir -p $(dtmp) + $(MAKE) INSTALL_ROOT=$(dtmp) install + +# Add the extra libs we built, and rename the latest for consistency + cp tmplib/* $(dtmp)/usr/lib + (cd $(dtmp)/usr/lib/; mv libBLT24.a libBLT.$(v).8.5.a) + (cd $(dtmp)/usr/lib/; mv libBLTlite24.a libBLTlite.$(v).8.5.a) + +# Now fix up the man pages + (cd $(dtmp)/usr/share/man/mann ; for i in *.n ; do \ + mv $$i ../man3/`basename $$i .n`.3blt ; \ + done) + rmdir $(dtmp)/usr/share/man/mann + +# remove some misplaced documentation + (cd $(dtmp)/usr/lib/blt2.4; rm README PROBLEMS NEWS) + +# Now we need to move the demos and examples over to /usr/share + mkdir -p $(dtmp)/usr/share/blt2.4 + mv $(dtmp)/usr/lib/blt2.4/demos $(dtmp)/usr/share/blt2.4 + chmod a-x $(dtmp)/usr/share/blt2.4/demos/*.txt + + mkdir -p $(dtmp)/usr/share/blt2.4/examples + cp examples/* $(dtmp)/usr/share/blt2.4/examples + +# patch the demos and examples to use wish + (cd $(dtmp)/usr/share/blt2.4; \ + for i in demos/*.tcl examples/*.tcl ; do \ + sed -e '1c#!/usr/bin/wish' $$i >$$i.new ; \ + mv $$i.new $$i ; \ + chmod 755 $$i; \ + done) + + chmod 644 $(dtmp)/usr/share/blt2.4/demos/images/* + chmod 644 $(dtmp)/usr/share/blt2.4/demos/scripts/*.tcl + chmod 755 $(dtmp)/usr/share/blt2.4/demos/scripts/page.tcl + +# Build architecture-independent files here. +# Pass -i to all debhelper commands in this target to reduce clutter. +binary-indep: DH_OPTIONS=-i +binary-indep: build install + dh_testdir + dh_testroot + dh_installdirs + dh_installdocs + dh_installchangelogs + dh_movefiles + dh_compress + dh_fixperms + dh_link + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-dependent files here. +# Pass -a to all debhelper commands in this target to reduce clutter. +binary-arch: DH_OPTIONS=-a +binary-arch: build install + dh_testdir + dh_testroot + dh_installdirs + dh_installdocs + +# some minor cleanup needed for the html docs + rm debian/blt/usr/share/doc/blt/html/Makefile.vc + cp debian/blt-index.html debian/blt/usr/share/doc/blt/html + +# dh_installexamples + dh_installchangelogs +# dh_installmenu + + dh_movefiles + + dh_strip + dh_link + dh_compress + dh_fixperms + + dh_makeshlibs -V 'blt (>= 2.4z-4.1)' +# The excludes are probably wrong but necessary to make lintian happy +# dh_makeshlibs -V 'blt (>= 2.4z)' \ +# --exclude="8.0" --exclude="8.3" + + dh_installdeb + +# Now, it's time to call upon my magic ugly little hack script, which +# makes a shlibs.local file with which to fool the shlibs system, +# and get the special dependencies we need. + + chmod +x debian/hackshlibs # make sure we can run it + debian/hackshlibs + dh_shlibdeps + + dh_gencontrol + dh_md5sums + dh_builddeb + + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- blt-2.4z.orig/debian/README.changes +++ blt-2.4z/debian/README.changes @@ -0,0 +1,56 @@ + +This file is really for my use, and is a reminder file to tell me what +to remember to change whenever I do a upstream update to the package. + + o remember to change the naming convention from blt2.4? to blt-2.4? + and rebuild the .orig file. + + o the demos directory needs sorted out to make lintian happy + As of 2.4n this was: + - change /usr/local/bin/tclsh to /usr/bin/tclsh in page.tcl + - insert a # line at line 1 of xcolors.tcl + + o Library naming problems: + + - change configure.in (and thus configure) + SHLIB_LD_FLAGS="-shared -Wl,-E -Wl,-soname,libBLT${bltMajor}${bltMinor}.so" + to + SHLIB_LD_FLAGS="-rdynamic -shared -Wl,-E -Wl,-soname,libBLT.${BLT_MAJOR_VERSION}.${BLT_MINOR_VERSION}.so.8.2" + + - Change src/shared/Makefile.in + + For some reason the lite version of the library still is linked against + tk, which is an error, and has an soname which is the same as the non-lite + version (another error I believe). Both of these are fixed by tinkering + with this file. + + - change pkgIndex.tcl.in to + + if {[package vcompare [info tclversion] 8.2] < 0} { + set taillib ${version}.so.8.0 + } else { + if {[package vcompare [info tclversion] 8.3] < 0} { + set taillib ${version}.so.8.2 + } else { + set taillib ${version}.so.8.3 + } + } + if { [info commands tk] == "tk" } { + set library BLT.${taillib} + } else { + set library BLTlite.${taillib} + } + + + o run makeindex.csh to generate the html index for the commands in both + blt-dev and blt8.0-dev + + o remove the annoying rm *pure* parts in all Makefile.in files, and + remove any .o files which the Makefiles forget about. + + o copy the linux entries in configure and configure.in to an entry for + *-gnu*, to allow HURD to compile. + + o dynamic libraries are now not linked with the names of the libraries + used at build time. Why this is I have not a clue, but personally I think + this is an error. So for the moment I have but them back into the build. --- blt-2.4z.orig/demos/Makefile.in +++ blt-2.4z/demos/Makefile.in @@ -79,7 +79,7 @@ : ; \ else \ echo " mkdir $(INSTALL_ROOT)$$i" ; \ - mkdir $(INSTALL_ROOT)"$$i" ; \ + mkdir -p $(INSTALL_ROOT)"$$i" ; \ fi ; \ done --- blt-2.4z.orig/demos/scripts/xcolors.tcl +++ blt-2.4z/demos/scripts/xcolors.tcl @@ -1,3 +1,4 @@ +# #!../bltwish # # Tk version of xcolors --- blt-2.4z.orig/demos/scripts/page.tcl +++ blt-2.4z/demos/scripts/page.tcl @@ -1,4 +1,4 @@ -#!/usr/local/bin/tclsh +#!/usr/bin/tclsh array set page " rows 2 --- blt-2.4z.orig/library/Makefile.vc +++ blt-2.4z/library/Makefile.vc @@ -6,7 +6,6 @@ include ../win/makedefs version = $(BLT_MAJOR_VERSION).$(BLT_MINOR_VERSION) -pkgdir = $(libdir)/tcl$(v1)/blt$(version) srcdir = . cursors = treeview.cur @@ -30,8 +29,7 @@ tclIndex instdirs = $(prefix) $(exec_prefix) $(libdir) \ - $(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1) \ - $(pkgdir) + $(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1) all: build-pkgindex @@ -62,7 +60,6 @@ install-pkgindex: pkgIndex.tcl $(INSTALL_DATA) pkgIndex.tcl $(scriptdir) - $(INSTALL_DATA) pkgIndex.tcl $(pkgdir) clean: $(RM) pkgIndex.tcl --- blt-2.4z.orig/library/Makefile.in +++ blt-2.4z/library/Makefile.in @@ -58,7 +58,7 @@ for i in $(miscFiles) ; do \ $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \ done - $(INSTALL_DATA) pkgIndex.tcl $(scriptdir) + $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir) mkdirs: @for i in $(instdirs) ; do \ @@ -66,7 +66,7 @@ : ; \ else \ echo " mkdir $(INSTALL_ROOT)$$i" ; \ - mkdir $(INSTALL_ROOT)$$i ; \ + mkdir -p $(INSTALL_ROOT)$$i ; \ fi ; \ done --- blt-2.4z.orig/library/pkgIndex.tcl.in +++ blt-2.4z/library/pkgIndex.tcl.in @@ -8,23 +8,39 @@ # Determine whether to load the full BLT library or # the "lite" tcl-only version. - + + if {[package vcompare [info tclversion] 8.2] < 0} { + set taillib ${version}.so.8.0 + } elseif {[package vcompare [info tclversion] 8.3] < 0} { + set taillib ${version}.so.8.2 + } elseif {[package vcompare [info tclversion] 8.4] < 0} { + set taillib ${version}.so.8.3 + } elseif {[package vcompare [info tclversion] 8.5] < 0} { + set taillib ${version}.so.8.4 + } else { + set taillib ${version}.so.8.5 + } + if { [info commands tk] == "tk" } { - set name ${prefix}BLT${version_no_dots}${suffix} + set name ${prefix}BLT.${taillib} } else { - set name ${prefix}BLTlite${version_no_dots}${suffix} + set name ${prefix}BLTlite.${taillib} } - + global tcl_platform if { $tcl_platform(platform) == "unix" } { - set library [file join $dir $name] + if { [info commands tk] == "tk" } { + set library libBLT.${taillib} + } else { + set library libBLTlite.${taillib} + } if { ![file exists $library] } { # Try the parent directory. set library [file join [file dirname $dir] $name] } if { ![file exists $library] } { # Default to the path generated at compilation. - set library [file join "%LIB_DIR%" $name] + set library [file join "/usr/lib" $name] } } else { set library $name @@ -33,6 +49,7 @@ } set version "%VERSION%" +set libdir "/usr/lib" package ifneeded BLT $version [list LoadBLT $version $dir] --- blt-2.4z.orig/cf/config.guess +++ blt-2.4z/cf/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2002-09-03' +timestamp='2009-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,13 +18,15 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -53,8 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -66,11 +69,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -98,30 +101,32 @@ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -# This shell variable is my proudest work .. or something. --bje +# Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; -(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) - || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; -dummy=$tmpdir/dummy ; -files="$dummy.c $dummy.o $dummy.rel $dummy" ; -trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do - if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $files ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; -unset files' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -156,6 +161,7 @@ arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -164,7 +170,7 @@ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -178,144 +184,128 @@ ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; - esac - fi - rm -f $dummy.s $dummy && rmdir $tmpdir - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -323,29 +313,48 @@ else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; + sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -354,10 +363,10 @@ esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -369,10 +378,10 @@ echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -383,37 +392,40 @@ # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -437,33 +449,33 @@ exit (-1); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS) + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -479,29 +491,29 @@ else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -509,7 +521,7 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -524,16 +536,19 @@ exit(0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; - *:AIX:*:[45]) + exit ;; + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -546,28 +561,28 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -623,17 +638,37 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy && rmdir $tmpdir + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -661,172 +696,227 @@ exit (0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) + exit ;; + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:3*) - echo i386-pc-interix3 - exit 0 ;; + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd | genuineintel) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; + echo i586-pc-interix + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + exit ;; arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - rm -f $dummy.c && rmdir $tmpdir - test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu - exit 0 ;; + exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu - exit 0 ;; + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -837,10 +927,13 @@ EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -848,22 +941,31 @@ PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; + exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu - exit 0 ;; + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -879,17 +981,6 @@ elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -906,24 +997,33 @@ LIBC=gnulibc1 # endif #else - #ifdef __INTEL_COMPILER + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -931,7 +1031,27 @@ # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -939,15 +1059,16 @@ else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1042,64 +1173,84 @@ else echo ns32k-sni-sysv fi - exit 0 ;; + exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit 0 ;; + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1107,22 +1258,25 @@ UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1133,36 +1287,50 @@ UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1194,7 +1362,7 @@ #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1283,12 +1451,12 @@ } EOF -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 -rm -f $dummy.c $dummy && rmdir $tmpdir +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1297,22 +1465,22 @@ case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1323,7 +1491,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +and + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be --- blt-2.4z.orig/cf/config.sub +++ blt-2.4z/cf/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2002-09-05' +timestamp='2009-06-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,14 +22,15 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -70,8 +72,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -83,11 +85,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +101,7 @@ *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,7 +120,10 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -144,10 +149,13 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -169,6 +177,10 @@ -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -185,6 +197,10 @@ # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -228,42 +244,57 @@ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | clipper \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic80 | tron \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ - | z8k) + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) @@ -273,6 +304,9 @@ ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -292,50 +326,67 @@ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ - | clipper-* | cydra-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39 | mipstx39el \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -353,6 +404,9 @@ basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -367,6 +421,12 @@ basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -390,6 +450,10 @@ basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -398,10 +462,26 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -426,12 +506,27 @@ basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -454,6 +549,14 @@ basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -604,6 +707,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -619,6 +730,10 @@ basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -632,10 +747,6 @@ mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -648,6 +759,9 @@ basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -723,9 +837,12 @@ basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -743,6 +860,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -752,24 +877,36 @@ pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; + pentium4) + basic_machine=i786-pc + ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; @@ -802,6 +939,10 @@ basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -828,6 +969,14 @@ sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; @@ -835,6 +984,12 @@ basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks @@ -901,10 +1056,6 @@ basic_machine=i386-sequent os=-dynix ;; - t3d) - basic_machine=alpha-cray - os=-unicos - ;; t3e) basic_machine=alphaev5-cray os=-unicos @@ -913,14 +1064,22 @@ basic_machine=t90-cray os=-unicos ;; - tic4x | c4x*) - basic_machine=tic4x-unknown - os=-coff - ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -934,6 +1093,10 @@ tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -977,9 +1140,9 @@ basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt + xbox) + basic_machine=i686-pc + os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell @@ -992,6 +1155,10 @@ basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1011,6 +1178,9 @@ romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1027,13 +1197,10 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1100,24 +1267,30 @@ # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ + | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1129,16 +1302,21 @@ ;; esac ;; + -nto-qnx*) + ;; -nto*) - os=-nto-qnx + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1151,6 +1329,9 @@ -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1172,6 +1353,9 @@ -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1194,6 +1378,9 @@ -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1224,6 +1411,18 @@ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; -none) ;; *) @@ -1246,6 +1445,12 @@ # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1255,6 +1460,9 @@ arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 @@ -1280,6 +1488,9 @@ m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; @@ -1298,9 +1509,15 @@ *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; @@ -1403,7 +1620,7 @@ -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) @@ -1433,9 +1650,15 @@ -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1460,7 +1683,7 @@ esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) --- blt-2.4z.orig/src/bltGrMarker.c +++ blt-2.4z/src/bltGrMarker.c @@ -1061,10 +1061,12 @@ Graph *graphPtr; Extents2D *extsPtr; { +/* assert(extsPtr->right >= extsPtr->left); assert(extsPtr->bottom >= extsPtr->top); assert(graphPtr->right >= graphPtr->left); assert(graphPtr->bottom >= graphPtr->top); +*/ return (((double)graphPtr->right < extsPtr->left) || ((double)graphPtr->bottom < extsPtr->top) || --- blt-2.4z.orig/src/bltNsUtil.h +++ blt-2.4z/src/bltNsUtil.h @@ -48,7 +48,7 @@ EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *nsPtr, int flags)); + CONST char *name, Tcl_Namespace *nsPtr, int flags)); #define NS_SEARCH_NONE (0) #define NS_SEARCH_CURRENT (1<<0) @@ -65,15 +65,15 @@ #if (TCL_MAJOR_VERSION >= 8) EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc)); + CONST char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc)); EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr)); EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *context, int flags)); + CONST char *name, Tcl_Namespace *context, int flags)); EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr, - char *name, int resetFlag)); + CONST char *name, int resetFlag)); EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_Namespace *contextNsPtr, int flags)); --- blt-2.4z.orig/src/Makefile.vc +++ blt-2.4z/src/Makefile.vc @@ -3,16 +3,15 @@ # Makefile for BLT library using VC++. # ------------------------------------------------------------------------ -include e:/src/blt/win/makedefs +include ../win/makedefs -TOOLS32 = c:/Program\ Files/Microsoft\ Visual\ Studio/Vc98 AR = lib.exe -link50compat LD = link.exe CC = cl.exe rc32 = rc.exe ifeq ($(WITH_JPEG),0) -EXTRA_DEFINES = +EXTRA_DEFINES = endif ifeq ($(WITH_JPEG),1) EXTRA_DEFINES = -DHAVE_JPEGLIB_H=1 @@ -21,23 +20,23 @@ JPEGINC = $(JPEGDIR) endif ifeq ($(WITH_JPEG),2) -EXTRA_DEFINES = -DHAVE_IJL_H=1 +EXTRA_DEFINES = -DHAVE_IJL_H=1 JPEGDIR = c:/Program\ Files/Intel/IJL JPEGLIB = $(JPEGDIR)/lib/ijl15l.lib JPEGINC = $(JPEGDIR)/Include endif # ------------------------------------------------------------------------ -# C Compiler options +# C Compiler options # ------------------------------------------------------------------------ DEFINES = -D_X86_=1 -D__STDC__ -DWIN32 -DCONSOLE -D_MT \ - $(DEBUG_DEFINES) $(SHLIB_DEFINES) $(EXTRA_DEFINES) + $(DEBUG_DEFINES) $(SHLIB_DEFINES) $(EXTRA_DEFINES) ifeq ($(SHARED),1) SHLIB_DEFINES = -D_DLL SHLIB_TARGET = build-dll -LIBS = $(COMMON_LIBS) +LIBS = $(COMMON_LIBS) else SHLIB_DEFINES = -D_CTYPE_DISABLE_MACROS LIBS = $(COMMON_LIBS) $(EXTRA_LIBS) @@ -45,23 +44,23 @@ ifeq ($(DEBUG),1) CFLAGS = -Z7 -Od -DEBUG_LDFLAGS = -debug:full -debugtype:cv +DEBUG_LDFLAGS = -debug:full -debugtype:cv DEBUG_DEFINES = -DUSE_TCLALLOC=0 -TK_LIB = $(TKDIR)/win/Debug/tk$(v2)d.lib -TCL_LIB = $(TCLDIR)/win/Debug/tcl$(v2)d.lib +TK_LIB = $(TKDIR)/win/Debug/tk$(v2)d.lib +TCL_LIB = $(TCLDIR)/win/Debug/tcl$(v2)d.lib MSVCRT = msvcrtd.lib else -CFLAGS = -Ox -GB -GD -DEBUG_LDFLAGS = -debug:full -debugtype:cv -TK_LIB = $(TKDIR)/win/Release/tk$(v2).lib -TCL_LIB = $(TCLDIR)/win/Release/tcl$(v2).lib +CFLAGS = -Ox -GB +DEBUG_LDFLAGS = -debug:full -debugtype:cv +TK_LIB = $(TKDIR)/win/Release/tk$(v2).lib +TCL_LIB = $(TCLDIR)/win/Release/tcl$(v2).lib MSVCRT = msvcrt.lib endif -EXTRA_CFLAGS = -nologo -W3 +EXTRA_CFLAGS = -nologo -W3 # ------------------------------------------------------------------------ -# Linker flags and options +# Linker flags and options # ------------------------------------------------------------------------ COMMON_LDFLAGS = -nodefaultlib -release -nologo -warn:3 \ @@ -72,14 +71,14 @@ SHLIB_LDFLAGS = $(COMMON_LDFLAGS) \ -subsystem:console -entry:mainCRTStartup \ -subsystem:windows -entry:WinMainCRTStartup \ - -entry:_DllMainCRTStartup$(DLLENTRY) -dll + -entry:_DllMainCRTStartup$(DLLENTRY) -dll LDFLAGS = $(COMMON_LDFLAGS) \ - -fixed:NO -stack:2300000 + -fixed:NO -stack:2300000 COMMON_LIBS = $(TK_LIB) $(TCL_LIB) \ $(MSVCRT) \ - kernel32.lib user32.lib + kernel32.lib user32.lib EXTRA_LIBS = $(OLELIB) \ $(JPEGLIB) \ @@ -89,11 +88,11 @@ winspool.lib \ comdlg32.lib -TCL_ONLY_LIBS = $(TCL_LIB) $(MSVCRT) kernel32.lib user32.lib advapi32.lib +TCL_ONLY_LIBS = $(TCL_LIB) $(MSVCRT) kernel32.lib user32.lib advapi32.lib # ------------------------------------------------------------------------ -# Source and target installation directories +# Source and target installation directories # ------------------------------------------------------------------------ srcdir = . @@ -108,7 +107,6 @@ TCLDIR = $(srcdir)/../../tcl$(v3) TKDIR = $(srcdir)/../../tk$(v3) INCLUDES = -I. -I$(srcdir) \ - -I$(TOOLS32)/include \ -I$(JPEGINC) \ -I$(TCLDIR)/win -I$(TCLDIR)/generic \ -I$(TKDIR)/win -I$(TKDIR)/generic -I$(TKDIR)/xlib \ @@ -122,9 +120,9 @@ # ------------------------------------------------------------------------ N_OBJS = bltTed.o -V3_OBJS = bltTri.o bltGrMt.o +V3_OBJS = bltTri.o bltGrMt.o -TK_OBJS = tkButton.o tkFrame.o tkScrollbar.o +TK_OBJS = tkButton.o tkFrame.o tkScrollbar.o GRAPH_OBJS = bltGrAxis.o \ bltGrBar.o \ @@ -137,7 +135,7 @@ bltGrMisc.o \ bltGrPen.o \ bltGrPs.o \ - bltGraph.o + bltGraph.o TCL_ONLY_OBJS = bltAlloc.o \ bltArrayObj.o \ @@ -161,8 +159,7 @@ bltWatch.o \ bltWinPipe.o \ bltWinUtil.o \ - bltWinDde.o \ - pure_api.o + bltWinDde.o DEMO_OBJS = tkConsole.o bltWinMain.o @@ -196,14 +193,14 @@ bltWindow.o \ bltObjConfig.o \ bltWinop.o \ - $(TK_OBJS) $(N_OBJS) + $(TK_OBJS) $(N_OBJS) NOT_YET = bltContainer.o bltCutBuffer.o bltColor.o HEADERS = blt.h bltChain.h bltVector.h bltTree.h bltPool.h bltHash.h # GNU Make-specific macro -SRCS = $(patsubst %.o,$(srcdir)/%.c,$(OBJS)) +SRCS = $(patsubst %.o,$(srcdir)/%.c,$(OBJS)) shell_name = bltwish version = $(BLT_MAJOR_VERSION)$(BLT_MINOR_VERSION) @@ -214,9 +211,9 @@ lib_name = BLT$(version) lib_a = BLT$(version).lib -lib_so = BLT$(version).dll +lib_so = BLT$(version).dll tcl_only_lib_a = BLTlite$(version).lib -tcl_only_lib_so = BLTlite$(version).dll +tcl_only_lib_so = BLTlite$(version).dll CC_SWITCHES = $(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES) VPATH = $(srcdir) @@ -232,21 +229,19 @@ build-dll: build-library $(lib_so) $(tcl_only_lib_so) $(bltwish): $(lib_a) tkConsole.o bltWinMain.c - $(RM) $(bltwish) + $(RM) $(bltwish) $(CC) -c $(CC_SWITCHES) -DTCLLIBPATH=\"$(TCLLIBPATH)\" \ -FobltWinMain.o $(srcdir)/bltWinMain.c - LIB=$(TOOLS32)/lib \ $(LD) $(LDFLAGS) tkConsole.o bltWinMain.o -out:$(bltwish) \ - $(lib_a) $(LIBS) + $(lib_a) $(LIBS) $(bltsh): $(tcl_only_lib_a) bltWinMain.c - $(RM) $(bltsh) + $(RM) $(bltsh) $(CC) -c $(CC_SWITCHES) -DTCL_ONLY \ -DTCLLIBPATH=\"$(TCLLIBPATH)\" \ -FobltWinMain.o $(srcdir)/bltWinMain.c - LIB=$(TOOLS32)/lib \ $(LD) $(LDFLAGS) bltWinMain.o -out:$(bltsh) \ - $(tcl_only_lib_a) $(TCL_ONLY_LIBS) + $(tcl_only_lib_a) $(TCL_ONLY_LIBS) $(lib_a): bltHash.h $(OBJS) bltInit.c $(RM) bltInit.o @@ -260,7 +255,6 @@ $(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \ -FobltInit.o $(srcdir)/bltInit.c $(RM) $@ - LIB=$(TOOLS32)/lib \ $(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(OBJS) $(SHLIB_LD_LIBS) $(tcl_only_lib_a): bltHash.h $(TCL_ONLY_OBJS) bltInit.c @@ -268,16 +262,15 @@ $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \ -FobltInit.o $(srcdir)/bltInit.c $(RM) $@ - $(AR) -out:$@ bltInit.o $(TCL_ONLY_OBJS) + $(AR) -out:$@ bltInit.o $(TCL_ONLY_OBJS) $(tcl_only_lib_so): $(tcl_only_lib_a) $(TCL_ONLY_OBJS) bltInit.c $(RM) bltInit.o $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \ -FobltInit.o $(srcdir)/bltInit.c $(RM) $@ - LIB=$(TOOLS32)/lib \ $(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(TCL_ONLY_OBJS) \ - $(TCL_ONLY_LIBS) + $(TCL_ONLY_LIBS) bltHash.h: bltHash.h.in sed -e 's/@SIZEOF_VOID_P@/4/' \ @@ -295,7 +288,7 @@ fi ; \ done -install-binaries: install-lib install-demos +install-binaries: install-lib install-demos install-demos: build-demos $(INSTALL) $(bltwish) $(bindir)/$(bltwish) @@ -303,8 +296,8 @@ $(INSTALL) $(bltsh) $(bindir)/$(bltsh) $(INSTALL) $(bltsh) $(bindir)/$(bltsh2) -install-lib: $(lib_so) $(lib_a) - $(INSTALL_DATA) $(lib_so) $(bindir) +install-lib: $(lib_so) $(lib_a) + $(INSTALL_DATA) $(lib_so) $(libdir) $(INSTALL_DATA) $(lib_a) $(libdir) $(INSTALL_DATA) $(tcl_only_lib_so) $(bindir) $(INSTALL_DATA) $(tcl_only_lib_a) $(libdir) @@ -321,11 +314,11 @@ $(RM) *.o *.pdb *.exp \ $(lib_a) $(lib_so) $(tcl_only_lib_a) $(tcl_only_lib_so) \ $(bltwish) $(bltsh) $(bltwish2) $(bltsh2) - $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* + $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* + $(RM) bltHash.h distclean: clean $(RM) Makefile -.c.o: +%.o : %.c $(CC) -c $(CC_SWITCHES) -Fo$*.o $< - --- blt-2.4z.orig/src/bltWindow.c +++ blt-2.4z/src/bltWindow.c @@ -89,9 +89,9 @@ typedef struct TkDisplayStruct { Display *display; /* Xlib's info about display. */ - struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */ - char *name; /* Name of display (with any screen - * identifier removed). Malloc-ed. */ + struct TkDisplay *nextPtr; /* Next in list of all displays. */ + char *name; /* Name of display (with any screen identifier + * removed). Malloc-ed. */ Time lastEventTime; /* Time of last event received for this * display. */ @@ -107,8 +107,8 @@ * Information used by tkAtom.c only: */ - int atomInit; /* 0 means stuff below hasn't been - * initialized yet. */ + int atomInit; /* 0 means stuff below hasn't been initialized + * yet. */ Tcl_HashTable nameTable; /* Maps from names to Atom's. */ Tcl_HashTable atomTable; /* Maps from Atom's back to names. */ @@ -116,27 +116,26 @@ * Information used primarily by tkBind.c: */ - int bindInfoStale; /* Non-zero means the variables in this - * part of the structure are potentially - * incorrect and should be recomputed. */ + int bindInfoStale; /* Non-zero means the variables in this part + * of the structure are potentially incorrect + * and should be recomputed. */ unsigned int modeModMask; /* Has one bit set to indicate the modifier - * corresponding to "mode shift". If no - * such modifier, than this is zero. */ + * corresponding to "mode shift". If no such + * modifier, than this is zero. */ unsigned int metaModMask; /* Has one bit set to indicate the modifier - * corresponding to the "Meta" key. If no - * such modifier, then this is zero. */ + * corresponding to the "Meta" key. If no such + * modifier, then this is zero. */ unsigned int altModMask; /* Has one bit set to indicate the modifier - * corresponding to the "Meta" key. If no - * such modifier, then this is zero. */ - enum { - LU_IGNORE, LU_CAPS, LU_SHIFT - } lockUsage; /* Indicates how to interpret lock modifier. */ + * corresponding to the "Meta" key. If no such + * modifier, then this is zero. */ + enum {LU_IGNORE, LU_CAPS, LU_SHIFT} lockUsage; + /* Indicates how to interpret lock + * modifier. */ int numModKeyCodes; /* Number of entries in modKeyCodes array * below. */ - KeyCode *modKeyCodes; /* Pointer to an array giving keycodes for - * all of the keys that have modifiers - * associated with them. Malloc'ed, but - * may be NULL. */ + KeyCode *modKeyCodes; /* Pointer to an array giving keycodes for all + * of the keys that have modifiers associated + * with them. Malloc'ed, but may be NULL. */ /* * Information used by tkBitmap.c only: @@ -150,10 +149,10 @@ Tcl_HashTable bitmapIdTable;/* Maps from bitmap id to the TkBitmap * structure for the bitmap. */ Tcl_HashTable bitmapDataTable; - /* Used by Tk_GetBitmapFromData to map from - * a collection of in-core data about a - * bitmap to a reference giving an auto- - * matically-generated name for the bitmap. */ + /* Used by Tk_GetBitmapFromData to map from a + * collection of in-core data about a bitmap + * to a reference giving an automatically- + * generated name for the bitmap. */ /* * Information used by tkCanvas.c only: @@ -167,9 +166,9 @@ */ int colorInit; /* 0 means color module needs initializing. */ - TkStressedCmap *stressPtr; /* First in list of colormaps that have - * filled up, so we have to pick an - * approximate color. */ + TkStressedCmap *stressPtr; /* First in list of colormaps that have filled + * up, so we have to pick an approximate + * color. */ Tcl_HashTable colorNameTable; /* Maps from color name to TkColor structure * for that color. */ @@ -192,34 +191,33 @@ /* Maps from a cursor id to the TkCursor * structure for the cursor. */ char cursorString[20]; /* Used to store a cursor id string. */ - Font cursorFont; /* Font to use for standard cursors. - * None means font not loaded yet. */ + Font cursorFont; /* Font to use for standard cursors. None + * means font not loaded yet. */ /* * Information used by tkError.c only: */ struct TkErrorHandler *errorPtr; - /* First in list of error handlers - * for this display. NULL means - * no handlers exist at present. */ - int deleteCount; /* Counts # of handlers deleted since - * last time inactive handlers were - * garbage-collected. When this number - * gets big, handlers get cleaned up. */ + /* First in list of error handlers for this + * display. NULL means no handlers exist at + * present. */ + int deleteCount; /* Counts # of handlers deleted since last + * time inactive handlers were garbage- + * collected. When this number gets big, + * handlers get cleaned up. */ /* * Used by tkEvent.c only: */ struct TkWindowEvent *delayedMotionPtr; - /* Points to a malloc-ed motion event - * whose processing has been delayed in - * the hopes that another motion event - * will come along right away and we can - * merge the two of them together. NULL - * means that there is no delayed motion - * event. */ + /* Points to a malloc-ed motion event whose + * processing has been delayed in the hopes + * that another motion event will come along + * right away and we can merge the two of them + * together. NULL means that there is no + * delayed motion event. */ /* * Information used by tkFocus.c only: @@ -229,26 +227,24 @@ * statistics. */ struct TkWindow *implicitWinPtr; /* If the focus arrived at a toplevel window - * implicitly via an Enter event (rather - * than via a FocusIn event), this points - * to the toplevel window. Otherwise it is - * NULL. */ + * implicitly via an Enter event (rather than + * via a FocusIn event), this points to the + * toplevel window. Otherwise it is NULL. */ struct TkWindow *focusPtr; /* Points to the window on this display that - * should be receiving keyboard events. When + * should be receiving keyboard events. When * multiple applications on the display have - * the focus, this will refer to the - * innermost window in the innermost - * application. This information isn't used - * under Unix or Windows, but it's needed on - * the Macintosh. */ + * the focus, this will refer to the innermost + * window in the innermost application. This + * information isn't used under Unix or + * Windows, but it's needed on the Mac. */ /* * Information used by tkGC.c only: */ - Tcl_HashTable gcValueTable; /* Maps from a GC's values to a TkGC structure + Tcl_HashTable gcValueTable; /* Maps from a GC's values to a TkGC structure * describing a GC with those values. */ - Tcl_HashTable gcIdTable; /* Maps from a GC to a TkGC. */ + Tcl_HashTable gcIdTable; /* Maps from a GC to a TkGC. */ int gcInit; /* 0 means the tables below need * initializing. */ @@ -258,23 +254,22 @@ Tcl_HashTable maintainHashTable; /* Hash table that maps from a master's - * Tk_Window token to a list of slaves - * managed by that master. */ + * Tk_Window token to a list of slaves managed + * by that master. */ int geomInit; /* * Information used by tkGet.c only: */ - Tcl_HashTable uidTable; /* Stores all Tk_Uids used in a thread. */ + Tcl_HashTable uidTable; /* Stores all Tk_Uid used in a thread. */ int uidInit; /* 0 means uidTable needs initializing. */ /* * Information used by tkGrab.c only: */ - struct TkWindow *grabWinPtr; - /* Window in which the pointer is currently + struct TkWindow *grabWinPtr;/* Window in which the pointer is currently * grabbed, or NULL if none. */ struct TkWindow *eventualGrabWinPtr; /* Value that grabWinPtr will have once the @@ -286,22 +281,22 @@ * if no such press in effect. */ struct TkWindow *serverWinPtr; /* If no application contains the pointer then - * this is NULL. Otherwise it contains the - * last window for which we've gotten an - * Enter or Leave event from the server (i.e. - * the last window known to have contained - * the pointer). Doesn't reflect events - * that were synthesized in tkGrab.c. */ + * this is NULL. Otherwise it contains the + * last window for which we've gotten an Enter + * or Leave event from the server (i.e. the + * last window known to have contained the + * pointer). Doesn't reflect events that were + * synthesized in tkGrab.c. */ TkGrabEvent *firstGrabEventPtr; /* First in list of enter/leave events - * synthesized by grab code. These events - * must be processed in order before any other - * events are processed. NULL means no such + * synthesized by grab code. These events must + * be processed in order before any other + * events are processed. NULL means no such * events. */ TkGrabEvent *lastGrabEventPtr; /* Last in list of synthesized events, or NULL * if list is empty. */ - int grabFlags; /* Miscellaneous flag values. See definitions + int grabFlags; /* Miscellaneous flag values. See definitions * in tkGrab.c. */ /* @@ -309,8 +304,8 @@ */ int gridInit; /* 0 means table below needs initializing. */ - Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to - * corresponding Grid structures. */ + Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to corresponding + * Grid structures. */ /* * Information used by tkImage.c only: @@ -328,17 +323,14 @@ * Information used by tkOption.c only. */ - - /* * Information used by tkPack.c only. */ int packInit; /* 0 means table below needs initializing. */ Tcl_HashTable packerHashTable; - /* Maps from Tk_Window tokens to - * corresponding Packer structures. */ - + /* Maps from Tk_Window tokens to corresponding + * Packer structures. */ /* * Information used by tkPlace.c only. @@ -354,14 +346,13 @@ * Information used by tkSelect.c and tkClipboard.c only: */ - struct TkSelectionInfo *selectionInfoPtr; - /* First in list of selection information - * records. Each entry contains information + /* First in list of selection information + * records. Each entry contains information * about the current owner of a particular * selection on this display. */ - Atom multipleAtom; /* Atom for MULTIPLE. None means - * selection stuff isn't initialized. */ + Atom multipleAtom; /* Atom for MULTIPLE. None means selection + * stuff isn't initialized. */ Atom incrAtom; /* Atom for INCR. */ Atom targetsAtom; /* Atom for TARGETS. */ Atom timestampAtom; /* Atom for TIMESTAMP. */ @@ -370,9 +361,8 @@ Atom applicationAtom; /* Atom for TK_APPLICATION. */ Atom windowAtom; /* Atom for TK_WINDOW. */ Atom clipboardAtom; /* Atom for CLIPBOARD. */ -#if (TK_VERSION_NUMBER >= _VERSION(8,4,0)) - Atom utf8Atom; -#endif + Atom utf8Atom; /* Atom for UTF8_STRING. */ + Tk_Window clipWindow; /* Window used for clipboard ownership and to * retrieve selections between processes. NULL * means clipboard info hasn't been @@ -383,7 +373,7 @@ /* Last application that owned clipboard. */ struct TkClipboardTarget *clipTargetPtr; /* First in list of clipboard type information - * records. Each entry contains information + * records. Each entry contains information * about the buffers for a given selection * target. */ @@ -391,13 +381,13 @@ * Information used by tkSend.c only: */ - Tk_Window commTkwin; /* Window used for communication - * between interpreters during "send" - * commands. NULL means send info hasn't - * been initialized yet. */ + Tk_Window commTkwin; /* Window used for communication between + * interpreters during "send" commands. NULL + * means send info hasn't been initialized + * yet. */ Atom commProperty; /* X's name for comm property. */ - Atom registryProperty; /* X's name for property containing - * registry of interpreter names. */ + Atom registryProperty; /* X's name for property containing registry + * of interpreter names. */ Atom appNameProperty; /* X's name for property used to hold the * application name on each comm window. */ @@ -409,34 +399,21 @@ /* First in list of chunks of free resource * identifiers, or NULL if there are no free * resources. */ - XID(*defaultAllocProc) _ANSI_ARGS_((Display *display)); + XID (*defaultAllocProc) (Display *display); /* Default resource allocator for display. */ struct TkIdStack *windowStackPtr; - /* First in list of chunks of window - * identifers that can't be reused right - * now. */ -#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) - int idCleanupScheduled; /* 1 means a call to WindowIdCleanup has - * already been scheduled, 0 means it - * hasn't. */ -#else + /* First in list of chunks of window ids that + * can't be reused right now. */ Tcl_TimerToken idCleanupScheduled; /* If set, it means a call to WindowIdCleanup * has already been scheduled, 0 means it * hasn't. */ -#endif + /* * Information used by tkUnixWm.c and tkWinWm.c only: */ -#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) - int wmTracing; /* Used to enable or disable tracing in - * this module. If tracing is enabled, - * then information is printed on - * standard output about interesting - * interactions with the window manager. */ -#endif - struct TkWmInfo *firstWmPtr; /* Points to first top-level window. */ + struct TkWmInfo *firstWmPtr;/* Points to first top-level window. */ struct TkWmInfo *foregroundWmPtr; /* Points to the foreground window. */ @@ -444,9 +421,8 @@ * Information maintained by tkWindow.c for use later on by tkXId.c: */ - - int destroyCount; /* Number of Tk_DestroyWindow operations - * in progress. */ + int destroyCount; /* Number of Tk_DestroyWindow operations in + * progress. */ unsigned long lastDestroyRequest; /* Id of most recent XDestroyWindow request; * can re-use ids in windowStackPtr when @@ -465,42 +441,41 @@ */ #ifdef TK_USE_INPUT_METHODS - XIM inputMethod; /* Input method for this display */ -#if (TK_VERSION_NUMBER >= _VERSION(8,4,0)) -#if TK_XIM_SPOT + XIM inputMethod; /* Input method for this display. */ + XIMStyle inputStyle; /* Input style selected for this display. */ XFontSet inputXfs; /* XFontSet cached for over-the-spot XIM. */ -#endif /* TK_XIM_SPOT */ -#endif /* TK_VERSION_NUMBER >= 8.4 */ #endif /* TK_USE_INPUT_METHODS */ Tcl_HashTable winTable; /* Maps from X window ids to TkWindow ptrs. */ + int refCount; /* Reference count of how many Tk applications - * are using this display. Used to clean up - * the display when we no longer have any - * Tk applications using it. - */ + * are using this display. Used to clean up + * the display when we no longer have any Tk + * applications using it. */ + /* * The following field were all added for Tk8.3 */ - int mouseButtonState; /* current mouse button state for this - * display */ -#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) - int warpInProgress; -#endif + + int mouseButtonState; /* Current mouse button state for this + * display. */ + Window mouseButtonWindow; /* Window the button state was set in, added + * in Tk 8.4. */ Window warpWindow; int warpX; int warpY; -#if (TK_VERSION_NUMBER < _VERSION(8,4,0)) - int useInputMethods; /* Whether to use input methods */ -#else + /* * The following field(s) were all added for Tk8.4 */ - long deletionEpoch; /* Incremented by window deletions */ - unsigned int flags; /* Various flag values: these are all - * defined in below. */ - TkCaret caret; /* information about the caret for this - * display. This is not a pointer. */ -#endif + + unsigned int flags; /* Various flag values: these are all defined + * in below. */ + TkCaret caret; /* Information about the caret for this + * display. This is not a pointer. */ + + int iconDataSize; /* Size of default iconphoto image data. */ + unsigned char *iconDataPtr; /* Default iconphoto image data, if set. */ + } TkDisplay; #else --- blt-2.4z.orig/src/bltInit.c +++ blt-2.4z/src/bltInit.c @@ -28,7 +28,7 @@ #include -#define EXACT 1 +#define EXACT 0 #ifndef BLT_LIBRARY #ifdef WIN32 --- blt-2.4z.orig/src/bltText.c +++ blt-2.4z/src/bltText.c @@ -671,6 +671,9 @@ Pixmap bitmap; int active; + if (!textPtr) + return; + display = Tk_Display(tkwin); theta = FMOD(tsPtr->theta, (double)360.0); if (theta < 0.0) { --- blt-2.4z.orig/src/Makefile.in +++ blt-2.4z/src/Makefile.in @@ -207,7 +207,7 @@ : ; \ else \ echo " mkdir $(INSTALL_ROOT)$$i" ; \ - mkdir $(INSTALL_ROOT)$$i ; \ + mkdir -p $(INSTALL_ROOT)$$i ; \ fi ; \ done @@ -225,12 +225,13 @@ clean: $(RM) $(OBJS) bltInit.o $(lib_a) $(tcl_only_lib_a) \ - $(bltsh)* $(bltwish)* *pure* .pure* + $(bltsh)* $(bltwish)* .pure* (cd shared; $(MAKE) clean) distclean: clean $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* Makefile - $(RM) bltConfig.h Makefile TAGS + $(RM) bltConfig.h bltHash.h Makefile TAGS + (cd shared; $(MAKE) distclean) .c.o: $(CC) -c $(CC_SWITCHES) $< --- blt-2.4z.orig/src/bltTree.c +++ blt-2.4z/src/bltTree.c @@ -99,6 +99,8 @@ #if (SIZEOF_VOID_P == 8) #define RANDOM_INDEX(i) HashOneWord(mask, downshift, i) #define BITSPERWORD 64 +#define START_LOGSIZE 10 +#define MAX_LIST_VALUES 40 #else #define START_LOGSIZE 5 /* Initial hash table size is 32. */ --- blt-2.4z.orig/src/bltBgexec.c +++ blt-2.4z/src/bltBgexec.c @@ -58,7 +58,7 @@ typedef int Process; #endif -#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) typedef void *Tcl_Encoding; /* Make up dummy type for encoding. */ #endif @@ -276,7 +276,7 @@ int objc; /* */ #endif - int flags; + int flags; Tcl_File file; /* Used for backward compatability * with Tcl 7.5 */ @@ -370,35 +370,35 @@ StringToSignal, (Blt_SwitchFreeProc *)NULL, (ClientData)0, }; -static Blt_SwitchSpec switchSpecs[] = +static Blt_SwitchSpec switchSpecs[] = { - {BLT_SWITCH_STRING, "-decodeoutput", + {BLT_SWITCH_STRING, "-decodeoutput", Blt_Offset(BackgroundInfo, outputEncodingName), 0}, - {BLT_SWITCH_STRING, "-decodeerror", + {BLT_SWITCH_STRING, "-decodeerror", Blt_Offset(BackgroundInfo, errorEncodingName), 0}, - {BLT_SWITCH_BOOLEAN, "-echo", + {BLT_SWITCH_BOOLEAN, "-echo", Blt_Offset(BackgroundInfo, sink2.echo), 0}, - {BLT_SWITCH_STRING, "-error", + {BLT_SWITCH_STRING, "-error", Blt_Offset(BackgroundInfo, sink2.doneVar), 0}, - {BLT_SWITCH_STRING, "-update", + {BLT_SWITCH_STRING, "-update", Blt_Offset(BackgroundInfo, sink1.updateVar), 0}, - {BLT_SWITCH_STRING, "-output", + {BLT_SWITCH_STRING, "-output", Blt_Offset(BackgroundInfo, sink1.doneVar), 0}, - {BLT_SWITCH_STRING, "-lasterror", + {BLT_SWITCH_STRING, "-lasterror", Blt_Offset(BackgroundInfo, sink2.updateVar), 0}, - {BLT_SWITCH_STRING, "-lastoutput", + {BLT_SWITCH_STRING, "-lastoutput", Blt_Offset(BackgroundInfo, sink1.updateVar), 0}, - {BLT_SWITCH_LIST, "-onerror", + {BLT_SWITCH_LIST, "-onerror", Blt_Offset(BackgroundInfo, sink2.updateCmd), 0}, - {BLT_SWITCH_LIST, "-onoutput", + {BLT_SWITCH_LIST, "-onoutput", Blt_Offset(BackgroundInfo, sink1.updateCmd), 0}, - {BLT_SWITCH_BOOLEAN, "-keepnewline", + {BLT_SWITCH_BOOLEAN, "-keepnewline", Blt_Offset(BackgroundInfo, keepNewline), 0}, - {BLT_SWITCH_BOOLEAN, "-check", + {BLT_SWITCH_INT, "-check", Blt_Offset(BackgroundInfo, interval), 0}, - {BLT_SWITCH_CUSTOM, "-killsignal", + {BLT_SWITCH_CUSTOM, "-killsignal", Blt_Offset(BackgroundInfo, signalNum), 0, &killSignalSwitch}, - {BLT_SWITCH_BOOLEAN, "-linebuffered", + {BLT_SWITCH_BOOLEAN, "-linebuffered", Blt_Offset(BackgroundInfo, lineBuffered), 0}, {BLT_SWITCH_END, NULL, 0, 0} }; @@ -517,7 +517,7 @@ * Returns the next block of data since the last time this * routine was called. * - *---------------------------------------------------------------------- + *---------------------------------------------------------------------- */ static unsigned char * NextBlock(sinkPtr, lengthPtr) @@ -531,7 +531,7 @@ length = sinkPtr->mark - sinkPtr->lastMark; sinkPtr->lastMark = sinkPtr->mark; if (length > 0) { - if ((!(sinkPtr->flags & SINK_KEEP_NL)) && + if ((!(sinkPtr->flags & SINK_KEEP_NL)) && (string[length - 1] == '\n')) { length--; } @@ -565,7 +565,7 @@ for (i = 0; i < newBytes; i++) { if (string[i] == '\n') { int length; - + length = i + 1; sinkPtr->lastMark += length; if (!(sinkPtr->flags & SINK_KEEP_NL)) { @@ -594,13 +594,13 @@ * keeping all the data collected from the channel (no -output * flag and the process is detached). * - *---------------------------------------------------------------------- + *---------------------------------------------------------------------- */ static void ResetSink(sinkPtr) Sink *sinkPtr; -{ - if ((sinkPtr->flags & SINK_BUFFERED) && +{ + if ((sinkPtr->flags & SINK_BUFFERED) && (sinkPtr->fill > sinkPtr->lastMark)) { register size_t i, j; @@ -654,8 +654,8 @@ } if (bgPtr->lineBuffered) { sinkPtr->flags |= SINK_BUFFERED; - } - if ((sinkPtr->updateCmd != NULL) || + } + if ((sinkPtr->updateCmd != NULL) || (sinkPtr->updateVar != NULL) || (sinkPtr->echo)) { sinkPtr->flags |= SINK_NOTIFY; @@ -843,7 +843,7 @@ #define IsOpenSink(sinkPtr) ((sinkPtr)->fd != -1) static void -CloseSink(interp, sinkPtr) +CloseSink(interp, sinkPtr) Tcl_Interp *interp; Sink *sinkPtr; { @@ -864,19 +864,19 @@ if (sinkPtr->doneVar != NULL) { unsigned char *data; size_t length; - /* + /* * If data is to be collected, set the "done" variable - * with the contents of the buffer. + * with the contents of the buffer. */ GetSinkData(sinkPtr, &data, &length); -#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) data[length] = '\0'; - if (Tcl_SetVar(interp, sinkPtr->doneVar, data, + if (Tcl_SetVar(interp, sinkPtr->doneVar, data, TCL_GLOBAL_ONLY) == NULL) { Tcl_BackgroundError(interp); } #else - if (Tcl_SetVar2Ex(interp, sinkPtr->doneVar, NULL, + if (Tcl_SetVar2Ex(interp, sinkPtr->doneVar, NULL, Tcl_NewByteArrayObj(data, length), (TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG)) == NULL) { Tcl_BackgroundError(interp); @@ -917,9 +917,9 @@ #endif if (sinkPtr->encoding == ENCODING_BINARY) { /* binary */ /* No translation needed. */ - sinkPtr->mark = sinkPtr->fill; + sinkPtr->mark = sinkPtr->fill; } else if (sinkPtr->encoding == ENCODING_ASCII) { /* ascii */ -#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) /* Convert NUL bytes to question marks. */ srcPtr = sinkPtr->byteArr + sinkPtr->mark; endPtr = sinkPtr->byteArr + sinkPtr->fill; @@ -932,7 +932,7 @@ #endif /* < 8.1.0 */ /* One-to-one translation. mark == fill. */ sinkPtr->mark = sinkPtr->fill; -#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) } else { /* unicode. */ int nSrcCooked, nCooked; int result; @@ -941,41 +941,41 @@ unsigned char *destPtr; unsigned char *raw, *cooked; unsigned char leftover[100]; - + raw = sinkPtr->byteArr + sinkPtr->mark; nRaw = sinkPtr->fill - sinkPtr->mark; /* Ideally, the cooked buffer size should be smaller */ cookedSize = nRaw * TCL_UTF_MAX + 1; cooked = Blt_Malloc(cookedSize); - result = Tcl_ExternalToUtf(interp, sinkPtr->encoding, - (char *)raw, nRaw, 0, NULL, (char *)cooked, + result = Tcl_ExternalToUtf(interp, sinkPtr->encoding, + (char *)raw, nRaw, 0, NULL, (char *)cooked, cookedSize, &nSrcCooked, &nCooked, NULL); nLeftOver = 0; if (result == TCL_CONVERT_MULTIBYTE) { - /* + /* * Last multibyte sequence wasn't completed. Save the - * extra characters in a temporary buffer. + * extra characters in a temporary buffer. */ nLeftOver = (nRaw - nSrcCooked); - srcPtr = sinkPtr->byteArr + (sinkPtr->mark + nSrcCooked); + srcPtr = sinkPtr->byteArr + (sinkPtr->mark + nSrcCooked); endPtr = srcPtr + nLeftOver; destPtr = leftover; while (srcPtr < endPtr) { *destPtr++ = *srcPtr++; } - } + } /* - * Create a bigger + * Create a bigger */ - + needed = nLeftOver + nCooked; spaceLeft = sinkPtr->size - sinkPtr->mark; if (spaceLeft >= needed) { spaceLeft = ExtendSinkBuffer(sinkPtr); } assert(spaceLeft > needed); - /* - * Replace the characters from the mark with the translated + /* + * Replace the characters from the mark with the translated * characters. */ srcPtr = cooked; @@ -986,7 +986,7 @@ } /* Add the number of newly translated characters to the mark */ sinkPtr->mark += nCooked; - + srcPtr = leftover; endPtr = leftover + nLeftOver; while (srcPtr < endPtr) { @@ -996,7 +996,7 @@ #endif /* >= 8.1.0 */ } #ifdef WIN32 - /* + /* * Translate CRLF character sequences to LF characters. We have to * do this after converting the string to UTF from UNICODE. */ @@ -1072,7 +1072,7 @@ #endif timeout = (flags & WNOHANG) ? 0 : INFINITE; status = WaitForSingleObject(child.hProcess, timeout); - + #if WINDEBUG PurifyPrintf("WAITPID: wait status is %d\n", status); #endif @@ -1147,9 +1147,9 @@ EnumWindows(EnumWindowsProc, (LPARAM)&proc); - /* + /* * Wait on the handle. If it signals, great. If it times out, - * then call TerminateProcess on it. + * then call TerminateProcess on it. * * On Windows 95/98 this also has the added benefit of stopping * KERNEL32.dll from dumping. The 2 second number is arbitrary. @@ -1171,7 +1171,7 @@ #endif /* WIN32 */ -#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) static void NotifyOnUpdate(interp, sinkPtr, data, nBytes) @@ -1192,7 +1192,7 @@ data[nBytes] = '\0'; if (sinkPtr->echo) { Tcl_Channel channel; - + channel = Tcl_GetStdChannel(TCL_STDERR); if (channel == NULL) { Tcl_AppendResult(interp, "can't get stderr channel", (char *)NULL); @@ -1235,7 +1235,7 @@ data[nBytes] = save; } -#else +#else static void NotifyOnUpdate(interp, sinkPtr, data, nBytes) @@ -1254,7 +1254,7 @@ } if (sinkPtr->echo) { Tcl_Channel channel; - + channel = Tcl_GetStdChannel(TCL_STDERR); if (channel == NULL) { Tcl_AppendResult(interp, "can't get stderr channel", (char *)NULL); @@ -1285,7 +1285,7 @@ if (sinkPtr->updateVar != NULL) { Tcl_Obj *result; - result = Tcl_SetVar2Ex(interp, sinkPtr->updateVar, NULL, objPtr, + result = Tcl_SetVar2Ex(interp, sinkPtr->updateVar, NULL, objPtr, (TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG)); if (result == NULL) { Tcl_BackgroundError(interp); @@ -1306,7 +1306,7 @@ } ReadBytes(sinkPtr); CookSink(bgPtr->interp, sinkPtr); - if ((sinkPtr->mark > sinkPtr->lastMark) && + if ((sinkPtr->mark > sinkPtr->lastMark) && (sinkPtr->flags & SINK_NOTIFY)) { unsigned char *data; int length; @@ -1390,7 +1390,7 @@ { if (bgPtr->traced) { - Tcl_UntraceVar(bgPtr->interp, bgPtr->statVar, TRACE_FLAGS, + Tcl_UntraceVar(bgPtr->interp, bgPtr->statVar, TRACE_FLAGS, VariableProc, bgPtr); bgPtr->traced = FALSE; } @@ -1558,7 +1558,7 @@ register int i; unsigned int lastPid; int pid; - enum PROCESS_STATUS { + enum PROCESS_STATUS { PROCESS_EXITED, PROCESS_STOPPED, PROCESS_KILLED, PROCESS_UNKNOWN } pcode; WAIT_STATUS_TYPE waitStatus, lastStatus; @@ -1595,7 +1595,7 @@ } bgPtr->nProcs = nLeft; - if ((nLeft > 0) || (IsOpenSink(&bgPtr->sink1)) || + if ((nLeft > 0) || (IsOpenSink(&bgPtr->sink1)) || (IsOpenSink(&bgPtr->sink2))) { /* Keep polling for the status of the children that are left */ bgPtr->timerToken = Tcl_CreateTimerHandler(bgPtr->interval, TimerProc, @@ -1641,11 +1641,11 @@ Tcl_DStringAppendElement(&dString, "child completed normally"); break; case PROCESS_KILLED: - Tcl_DStringAppendElement(&dString, + Tcl_DStringAppendElement(&dString, Tcl_SignalMsg((int)(WTERMSIG(lastStatus)))); break; case PROCESS_STOPPED: - Tcl_DStringAppendElement(&dString, + Tcl_DStringAppendElement(&dString, Tcl_SignalMsg((int)(WSTOPSIG(lastStatus)))); break; case PROCESS_UNKNOWN: @@ -1658,8 +1658,8 @@ *bgPtr->exitCodePtr = code; } DisableTriggers(bgPtr); - result = Tcl_SetVar(bgPtr->interp, bgPtr->statVar, - Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY); + result = Tcl_SetVar(bgPtr->interp, bgPtr->statVar, + Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG); Tcl_DStringFree(&dString); if (result == NULL) { Tcl_BackgroundError(bgPtr->interp); @@ -1712,7 +1712,7 @@ * timer handler to periodically poll for the exit status of each * process. Initially check at the next idle interval. */ - if (!IsOpenSink(&bgPtr->sink2)) { + if (!IsOpenSink(&bgPtr->sink2) && bgPtr->timerToken == 0) { bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData); } } @@ -1760,7 +1760,7 @@ * timer handler to periodically poll for the exit status of each * process. Initially check at the next idle interval. */ - if (!IsOpenSink(&bgPtr->sink1)) { + if (!IsOpenSink(&bgPtr->sink1) && bgPtr->timerToken == 0) { bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData); } } @@ -1827,7 +1827,7 @@ /* Try to clean up any detached processes */ Tcl_ReapDetachedProcs(); - i = Blt_ProcessSwitches(interp, switchSpecs, argc - 2, argv + 2, + i = Blt_ProcessSwitches(interp, switchSpecs, argc - 2, argv + 2, (char *)bgPtr, BLT_SWITCH_ARGV_PARTIAL); if (i < 0) { FreeBackgroundInfo(bgPtr); @@ -1853,7 +1853,7 @@ if (strcmp(bgPtr->outputEncodingName, "binary") == 0) { encoding = ENCODING_BINARY; } else { -#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) encoding = Tcl_GetEncoding(interp, bgPtr->outputEncodingName); if (encoding == NULL) { goto error; @@ -1866,7 +1866,7 @@ if (strcmp(bgPtr->errorEncodingName, "binary") == 0) { encoding = ENCODING_BINARY; } else { -#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) encoding = Tcl_GetEncoding(interp, bgPtr->errorEncodingName); if (encoding == NULL) { goto error; @@ -1878,18 +1878,18 @@ outFdPtr = errFdPtr = (int *)NULL; #ifdef WIN32 - if ((!bgPtr->detached) || - (bgPtr->sink1.doneVar != NULL) || - (bgPtr->sink1.updateVar != NULL) || + if ((!bgPtr->detached) || + (bgPtr->sink1.doneVar != NULL) || + (bgPtr->sink1.updateVar != NULL) || (bgPtr->sink1.updateCmd != NULL)) { outFdPtr = &bgPtr->sink1.fd; } #else outFdPtr = &bgPtr->sink1.fd; #endif - if ((bgPtr->sink2.doneVar != NULL) || + if ((bgPtr->sink2.doneVar != NULL) || (bgPtr->sink2.updateVar != NULL) || - (bgPtr->sink2.updateCmd != NULL) || + (bgPtr->sink2.updateCmd != NULL) || (bgPtr->sink2.echo)) { errFdPtr = &bgPtr->sink2.fd; } @@ -1900,6 +1900,7 @@ } bgPtr->procArr = pidPtr; bgPtr->nProcs = nProcs; + bgPtr->timerToken = 0; if (bgPtr->sink1.fd == -1) { @@ -1919,7 +1920,7 @@ (CreateSinkHandler(bgPtr, &bgPtr->sink2, StderrProc) != TCL_OK)) { goto error; } - if (bgPtr->detached) { + if (bgPtr->detached) { char string[200]; /* If detached, return a list of the child process ids instead @@ -1927,7 +1928,7 @@ for (i = 0; i < nProcs; i++) { #ifdef WIN32 sprintf(string, "%u", (unsigned int)bgPtr->procArr[i].pid); -#else +#else sprintf(string, "%d", bgPtr->procArr[i]); #endif Tcl_AppendElement(interp, string); @@ -1950,7 +1951,7 @@ /* Return the output of the pipeline. */ GetSinkData(&bgPtr->sink1, &data, &length); -#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) +#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) data[length] = '\0'; Tcl_SetResult(interp, data, TCL_VOLATILE); #else --- blt-2.4z.orig/src/shared/Makefile.in +++ blt-2.4z/src/shared/Makefile.in @@ -145,14 +145,20 @@ $(srcdir)/bltInit.c $(RM) $@ $(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(OBJS) \ - $(SHLIB_LIB_SPECS) + $(LIBS) + +# Line above changed for complete dependency listings - gordon +# $(SHLIB_LIB_SPECS) $(tcl_only_lib_so): $(TCL_ONLY_OBJS) $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \ $(srcdir)/bltInit.c $(RM) $@ $(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \ - $(SHLIB_TCL_ONLY_LIB_SPECS) + $(TCL_ONLY_LIB_SPECS) + +# Line above changed for complete dependency listings - gordon +# $(SHLIB_TCL_ONLY_LIB_SPECS) install: mkdirs install-lib install-demo @@ -175,7 +181,7 @@ done clean: $(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \ - *pure* .pure* + *pure* .pure* bltInit.o distclean: clean $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* --- blt-2.4z.orig/man/stripchart.mann +++ blt-2.4z/man/stripchart.mann @@ -19,7 +19,7 @@ '\" Stripchart widget created by Sani Nassif and George Howlett. '\" .so man.macros -.TH stripchart n BLT_VERSION BLT "BLT Built-In Commands" +.TH stripchart 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/tabset.mann +++ blt-2.4z/man/tabset.mann @@ -20,7 +20,7 @@ '\" Tabset widget created by George Howlett. '\" .so man.macros -.TH tabset n BLT_VERSION BLT "BLT Built-In Commands" +.TH tabset 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -86,7 +86,7 @@ tabs and the sizes of the Tk widgets embedded inside each folder. The widest widget determines the width of the folder. The tallest determines the height. If no folders contain an embedded widget, the -size is detemined solely by the size of the tabs. +size is determined solely by the size of the tabs. .PP You can override either dimension with the tabset's \fB\-width\fR and \fB\-height\fR options. @@ -652,7 +652,7 @@ \f(CWcenter\fR. .TP \fB\-background \fIcolor\fR -Sets the background color for \fInameOrIndex\fR. Setting this option overides the +Sets the background color for \fInameOrIndex\fR. Setting this option overrides the widget's \fB\-tabbackground\fR option. .TP \fB\-bindtags \fItagList\fR --- blt-2.4z.orig/man/beep.mann +++ blt-2.4z/man/beep.mann @@ -18,7 +18,7 @@ '\" of this software. '\" .so man.macros -.TH beep n BLT_VERSION BLT "BLT Built-In Commands" +.TH beep 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/barchart.mann +++ blt-2.4z/man/barchart.mann @@ -20,7 +20,7 @@ '\" Barchart widget created by Sani Nassif and George Howlett. '\" .so man.macros -.TH barchart n BLT_VERSION BLT "BLT Built-In Commands" +.TH barchart 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -405,7 +405,7 @@ .RE .TP \fB\-barwidth \fIvalue\fR -Specifies the width of the bars. This value can be overrided by the +Specifies the width of the bars. This value can be overridden by the individual elements using their \fB\-barwidth\fR configuration option. \fIValue\fR is the width in terms of graph coordinates. The default width is \f(CW1.0\fR. --- blt-2.4z.orig/man/bltdebug.mann +++ blt-2.4z/man/bltdebug.mann @@ -18,7 +18,7 @@ '\" of this software. '\" .so man.macros -.TH bltdebug n BLT_VERSION BLT "BLT Built-In Commands" +.TH bltdebug 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/spline.mann +++ blt-2.4z/man/spline.mann @@ -20,7 +20,7 @@ '\" Spline command created by George Howlett. '\" .so man.macros -.TH spline n BLT_VERSION BLT "BLT Built-In Commands" +.TH spline 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -47,7 +47,7 @@ the knots to create the smoothed curve. Spline interpolation is the mathematical equivalent. The curves between adjacent knots are piecewise functions such that the resulting spline runs exactly -through all the knots. The order and coefficients of the polynominal +through all the knots. The order and coefficients of the polynomial determine the "looseness" or "tightness" of the curve fit from the line segments formed by the knots. .PP @@ -121,7 +121,7 @@ table . .graph .CE The \fBnatural\fR operation employs a cubic interpolant when forming -the spline. In terms of the draftmen's spline, a \fInatural spline\fR +the spline. In terms of the draftsmen's spline, a \fInatural spline\fR requires the least amount of energy to bend the spline (strip of wood), while still passing through each knot. In mathematical terms, the second derivatives of the first and last points are zero. @@ -175,7 +175,7 @@ Coded by S.L.Dodd & M.Roulier N.C.State University. .sp .fi -The original code for the quadratric spline can be found in TOMS #574. +The original code for the quadratic spline can be found in TOMS #574. .SH KEYWORDS spline, vector, graph --- blt-2.4z.orig/man/Blt_TreeGetNode.man3 +++ blt-2.4z/man/Blt_TreeGetNode.man3 @@ -57,7 +57,7 @@ unsigned int number; Blt_TreeNode node; Blt_TreeToken token; -... + ... node = Blt_TreeGetNode(token, number); if (node == NULL) { printf("no node with ID %d exists\\n", number); --- blt-2.4z.orig/man/dragdrop.mann +++ blt-2.4z/man/dragdrop.mann @@ -19,7 +19,7 @@ '\" '\" .so man.macros -.TH drag&drop n BLT_VERSION BLT "BLT Built-In Commands" +.TH drag&drop 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/busy.mann +++ blt-2.4z/man/busy.mann @@ -20,7 +20,7 @@ '\" Busy command created by George Howlett. '\" .so man.macros -.TH busy n BLT_VERSION BLT "BLT Built-In Commands" +.TH busy 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/Makefile.in +++ blt-2.4z/man/Makefile.in @@ -52,7 +52,7 @@ : ; \ else \ echo " mkdir $(INSTALL_ROOT)$$i" ; \ - mkdir $(INSTALL_ROOT)$$i ; \ + mkdir -p $(INSTALL_ROOT)$$i ; \ fi ; \ done --- blt-2.4z.orig/man/watch.mann +++ blt-2.4z/man/watch.mann @@ -19,7 +19,7 @@ '\" '\" .so man.macros -.TH watch n BLT_VERSION BLT "BLT Built-In Commands" +.TH watch 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS .SH NAME watch \- call Tcl procedures before and after each command --- blt-2.4z.orig/man/tree.mann +++ blt-2.4z/man/tree.mann @@ -20,7 +20,7 @@ '\" Tree command created by George Howlett. '\" .so man.macros -.TH tree n BLT_VERSION BLT "BLT Built-In Commands" +.TH tree 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -272,7 +272,7 @@ in a cyclic copy. .TP \fB\-tags\fR -Copy tag inforation. Normally the following node is copied: its +Copy tag information. Normally the following node is copied: its label and data fields. This indicates to copy tags as well. .RE .TP @@ -389,7 +389,7 @@ .RS .TP 1i \fBbreadthfirst\fR -Process the node and the subtrees at each sucessive level. Each node +Process the node and the subtrees at each successive level. Each node on a level is processed before going to the next level. .TP 1i \fBinorder\fR @@ -798,7 +798,7 @@ form as \fIops\fR) and, the command prefix. .TP \fItreeName\fR \fBtrace names\fR -Returns a list of identifers for all the current traces. +Returns a list of identifiers for all the current traces. .SH NOTIFY OPERATIONS Tree objects can be shared among many clients, such as a \fBhiertable\fR widget. Any client can create or delete nodes, @@ -864,7 +864,7 @@ form as \fIflags\fR) and, the command prefix. .TP \fItreeName\fR \fBnotify names\fR -Returns a list of identifers for all the current notifiers. +Returns a list of identifiers for all the current notifiers. .SH C LANGUAGE API Blt_TreeApply, Blt_TreeApplyBFS, --- blt-2.4z.orig/man/container.mann +++ blt-2.4z/man/container.mann @@ -20,7 +20,7 @@ '\" Container widget created by George Howlett. '\" .so man.macros.in -.TH container n BLT_VERSION BLT "BLT Built-In Commands" +.TH container 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -186,7 +186,7 @@ tabs and the sizes of the Tk widgets embedded inside each folder. The widest widget determines the width of the folder. The tallest determines the height. If no folders contain an embedded widget, the -size is detemined solely by the size of the tabs. +size is determined solely by the size of the tabs. .PP You can override either dimension with the container's \fB\-width\fR and \fB\-height\fR options. --- blt-2.4z.orig/man/bitmap.mann +++ blt-2.4z/man/bitmap.mann @@ -20,7 +20,7 @@ '\" Bitmap command created by George Howlett. '\" .so man.macros -.TH bitmap n BLT_VERSION BLT "BLT Built-In Commands" +.TH bitmap 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -82,9 +82,9 @@ Tk will recognize "gray1" as a bitmap which can now be used with any widget that accepts bitmaps. .CS -.barchart element configure elem1 -stipple gray1 +\&.barchart element configure elem1 -stipple gray1 .CE -The bitmap data can be specified in a mulitude of forms. +The bitmap data can be specified in a multitude of forms. The following commands are all equivalent. .CS bitmap define gray1 { @@ -164,7 +164,7 @@ \fIValue\fR is a real number representing the scale. A scale of 1.0 indicates no scaling is necessary, while 2.0 would double the size of the bitmap. There is no way to specify -differents scales for the width and height of the bitmap. +different scales for the width and height of the bitmap. The default scale is \f(CW1.0\fR. .RE .TP @@ -197,7 +197,7 @@ \fIValue\fR is a real number representing the scale. A scale of 1.0 indicates no scaling is necessary, while 2.0 would double the size of the bitmap. There is no way to specify -differents scales for the width and height of the bitmap. +different scales for the width and height of the bitmap. The default scale is \f(CW1.0\fR. .RE .TP --- blt-2.4z.orig/man/BLT.mann +++ blt-2.4z/man/BLT.mann @@ -18,7 +18,7 @@ '\" of this software. '\" .so man.macros -.TH intro n BLT_VERSION BLT "BLT Built-In Commands" +.TH intro 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/hierbox.mann +++ blt-2.4z/man/hierbox.mann @@ -20,7 +20,7 @@ '\" The hierarchical table widget created by George Howlett. '\" .so man.macros -.TH treeview n BLT_VERSION BLT "BLT Built-In Commands" +.TH treeview 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -1395,7 +1395,7 @@ The default is \f(CWsingle\fR. .TP \fB\-separator \fIstring\fR -Specifies the character sequence to use when spliting the path components. +Specifies the character sequence to use when splitting the path components. The separator may be several characters wide (such as "::") Consecutive separators in a pathname are treated as one. If \fIstring\fR is the empty string, the pathnames are Tcl lists. --- blt-2.4z.orig/man/vector.mann +++ blt-2.4z/man/vector.mann @@ -20,7 +20,7 @@ '\" Vector command created by George Howlett. '\" .so man.macros -.TH vector n BLT_VERSION BLT "BLT Built-In Commands" +.TH vector 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -1071,7 +1071,7 @@ .CS #include #include -... + ... Blt_Vector *vecPtr; double *newArr; FILE *f; --- blt-2.4z.orig/man/htext.mann +++ blt-2.4z/man/htext.mann @@ -20,7 +20,7 @@ '\" Hypertext widget created by George Howlett. '\" .so man.macros -.TH htext n BLT_VERSION BLT "BLT Built-In Commands" +.TH htext 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/graph.mann +++ blt-2.4z/man/graph.mann @@ -20,7 +20,7 @@ '\" Graph widget created by Sani Nassif and George Howlett. '\" .so man.macros -.TH graph n BLT_VERSION BLT "BLT Built-In Commands" +.TH graph 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/treeview.mann +++ blt-2.4z/man/treeview.mann @@ -20,7 +20,7 @@ '\" The hierarchical table widget created by George Howlett. '\" .so man.macros -.TH treeview n BLT_VERSION BLT "BLT Built-In Commands" +.TH treeview 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -47,7 +47,7 @@ with a small button to the left of the label. Clicking the mouse over this button opens or closes the node. When a node is \fIopen\fR, its children are exposed. When it is \fIclosed\fR, the children and their -descedants are hidden. The button is normally a \f(CW+\fR or +descendants are hidden. The button is normally a \f(CW+\fR or \f(CW\-\fR symbol (ala Windows Explorer), but can be replaced with a pair of Tk images (open and closed images). .PP @@ -1398,7 +1398,7 @@ The default is \f(CWsingle\fR. .TP \fB\-separator \fIstring\fR -Specifies the character sequence to use when spliting the path components. +Specifies the character sequence to use when splitting the path components. The separator may be several characters wide (such as "::") Consecutive separators in a pathname are treated as one. If \fIstring\fR is the empty string, the pathnames are Tcl lists. --- blt-2.4z.orig/man/hiertable.mann +++ blt-2.4z/man/hiertable.mann @@ -20,7 +20,7 @@ '\" The hierarchical table widget created by George Howlett. '\" .so man.macros -.TH treeview n BLT_VERSION BLT "BLT Built-In Commands" +.TH treeview 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -47,7 +47,7 @@ with a small button to the left of the label. Clicking the mouse over this button opens or closes the node. When a node is \fIopen\fR, its children are exposed. When it is \fIclosed\fR, the children and their -descedants are hidden. The button is normally a \f(CW+\fR or +descendants are hidden. The button is normally a \f(CW+\fR or \f(CW\-\fR symbol (ala Windows Explorer), but can be replaced with a pair of Tk images (open and closed images). .PP @@ -1395,7 +1395,7 @@ The default is \f(CWsingle\fR. .TP \fB\-separator \fIstring\fR -Specifies the character sequence to use when spliting the path components. +Specifies the character sequence to use when splitting the path components. The separator may be several characters wide (such as "::") Consecutive separators in a pathname are treated as one. If \fIstring\fR is the empty string, the pathnames are Tcl lists. --- blt-2.4z.orig/man/tile.mann +++ blt-2.4z/man/tile.mann @@ -20,7 +20,7 @@ '\" Tile command created by George Howlett. '\" .so man.macros -.TH tile n BLT_VERSION BLT "BLT Built-In Commands" +.TH tile 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/man/table.mann +++ blt-2.4z/man/table.mann @@ -20,7 +20,7 @@ '\" The table geometry manager created by George Howlett. '\" .so man.macros -.TH table n BLT_VERSION BLT "BLT Built-In Commands" +.TH table 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -50,7 +50,7 @@ .BE .SH DESCRIPTION The \fBtable\fR command arranges widgets in a table. The alignment of -widgets is detemined by their row and column positions and the number +widgets is determined by their row and column positions and the number of rows or columns that they span. .SH INTRODUCTION Probably the most painstaking aspect of building a graphical @@ -308,7 +308,7 @@ in any form describe in the \fBconfigure\fR operation below. If no \fIitem\fR argument is provided, then the configuration option is for the table itself. \fIOption\fR may be any one of the options -described in the appropiate section for \fIitem\fR. +described in the appropriate section for \fIitem\fR. .TP \fBtable configure\fR \fIcontainer item\fR... ?\fIoption value\fR?... Queries or modifies the configuration options specific to \fIitem\fR. --- blt-2.4z.orig/man/winop.mann +++ blt-2.4z/man/winop.mann @@ -20,7 +20,7 @@ '\" Window command created by George Howlett. '\" .so man.macros -.TH winop n BLT_VERSION BLT "BLT Built-In Commands" +.TH winop 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -43,7 +43,7 @@ .SH DESCRIPTION The \fBwinop\fR command performs various window operations on Tk windows using low-level Xlib function calls to work around window -manager pecularities. +manager peculiarities. .SH INTRODUCTION Tk has several commands for manipulating its windows: \fBraise\fR, \fBlower\fR, \fBwm\fR, etc. These commands ask the window manager to --- blt-2.4z.orig/man/eps.mann +++ blt-2.4z/man/eps.mann @@ -20,7 +20,7 @@ '\" Graph widget created by Sani Nassif and George Howlett. '\" .so man.macros -.TH eps n BLT_VERSION BLT "BLT Built-In Commands" +.TH eps 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -29,11 +29,11 @@ \fIcanvas\fB create eps \fIx y \fR?\fIoption value\fR?... .BE .SH DESCRIPTION -The \fBeps\fR canvas item lets you place encapulated PostScript (EPS) +The \fBeps\fR canvas item lets you place encapsulated PostScript (EPS) on a canvas, controlling its size and placement. The EPS item is displayed either as a solid rectangle or a preview image. The preview image is designated in one of two ways: 1) the EPS file -contains an ASCII hexidecimal preview, or 2) a Tk photo image. When +contains an ASCII hexadecimal preview, or 2) a Tk photo image. When the canvas generates PostScript output, the EPS will be inserted with the proper translation and scaling to match that of the EPS item. So can use the canvas widget as a page layout tool. @@ -55,7 +55,7 @@ .DE The \fBeps\fR item creates a new canvas item. \fICanvas\fR is the name of a \fBcanvas\fR widget. You must supply the X-Y coordinate of -the new eps item. How the coordinate is exactly interpretered is +the new eps item. How the coordinate is exactly interpreted is controlled by the \fB\-anchor\fR option (see below). .PP Additional options may be specified on the command line to configure --- blt-2.4z.orig/man/bgexec.mann +++ blt-2.4z/man/bgexec.mann @@ -20,7 +20,7 @@ '\" Bgexec command created by George Howlett. '\" .so man.macros -.TH bgexec n BLT_VERSION BLT "BLT Built-In Commands" +.TH bgexec 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME @@ -166,7 +166,7 @@ .br For example if data is to be converted from Unicode for use in Tcl, you would use the "unicode" encoding. The default is that no -tranlation is performed. +translation is performed. .TP \fB\-decodeoutput \fIencodingName\fR .br @@ -176,7 +176,7 @@ .br For example if data is to be converted from Unicode for use in Tcl, you would use the "unicode" encoding. The default is that no -tranlation is performed. +translation is performed. .TP \fB\-error \fIvarName\fR .br @@ -287,7 +287,7 @@ The biggest advantage of \fBbgexec\fR is that, unlike \fBfileevent\fR, it requires no additional Tcl code to run a program. It's simpler and less error prone. You don't have to worry about non-blocking I/O. -It's handled tranparently for you. +It's handled transparently for you. .PP \fBBgexec\fR runs programs that \fBfileevent\fR can not. \fBFileevent\fR assumes that the when stdout is closed the program has --- blt-2.4z.orig/man/cutbuffer.mann +++ blt-2.4z/man/cutbuffer.mann @@ -18,7 +18,7 @@ '\" of this software. '\" .so man.macros -.TH cutbuffer n BLT_VERSION BLT "BLT Built-In Commands" +.TH cutbuffer 3blt BLT_VERSION BLT "BLT Built-In Commands" .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME --- blt-2.4z.orig/html/tree.html +++ blt-2.4z/html/tree.html @@ -258,7 +258,7 @@
-tags
Copy tag -inforation. Normally the following node is copied: its label and data +information. Normally the following node is copied: its label and data fields. This indicates to copy tags as well.
@@ -374,7 +374,7 @@
breadthfirst
-
Process the node and the subtrees at each sucessive level. Each node on +
Process the node and the subtrees at each successive level. Each node on a level is processed before going to the next level.
inorder
@@ -813,7 +813,7 @@
treeName trace names
-
Returns a list of identifers for all the current traces.
+
Returns a list of identifiers for all the current traces.

Notify Operations

@@ -889,7 +889,7 @@
treeName notify names
Returns a -list of identifers for all the current notifiers.
+list of identifiers for all the current notifiers.

C Language API

--- blt-2.4z.orig/html/tabset.html +++ blt-2.4z/html/tabset.html @@ -142,7 +142,7 @@ tabset window is determined the number of tiers of tabs and the sizes of the Tk widgets embedded inside each folder. The widest widget determines the width of the folder. The tallest determines the height. If no folders -contain an embedded widget, the size is detemined solely by the size of +contain an embedded widget, the size is determined solely by the size of the tabs.

You can override either dimension with the tabset's -width and -height options. @@ -672,7 +672,7 @@

-background color
Sets the background color for nameOrIndex. - Setting this option overides the widget's -tabbackground option.
+ Setting this option overrides the widget's -tabbackground option.
-bindtags tagList
--- blt-2.4z.orig/html/bitmap.html +++ blt-2.4z/html/bitmap.html @@ -58,7 +58,8 @@ label .l -bitmap gray1

Tk will recognize "gray1" as a bitmap which can now be used with any widget that accepts bitmaps.
-

The bitmap data can be specified in a mulitude of forms. The following commands +.barchart element configure elem1 -stipple gray1
+

The bitmap data can be specified in a multitude of forms. The following commands are all equivalent.
bitmap define gray1 {
#define gray1_width 2
@@ -128,7 +129,7 @@

Specifies the scale of the bitmap. Value is a real number representing the scale. A scale of 1.0 indicates no scaling is necessary, while 2.0 would double the size of the -bitmap. There is no way to specify differents scales for the width and +bitmap. There is no way to specify different scales for the width and height of the bitmap. The default scale is 1.0.
@@ -161,7 +162,7 @@
-scale value
Specifies how to scale the bitmap. Value is a real number representing the scale. A scale of 1.0 indicates no scaling is necessary, while 2.0 would -double the size of the bitmap. There is no way to specify differents scales +double the size of the bitmap. There is no way to specify different scales for the width and height of the bitmap. The default scale is 1.0.
--- blt-2.4z.orig/html/eps.html +++ blt-2.4z/html/eps.html @@ -15,10 +15,10 @@ create eps x y ?option value?...

Description

The eps canvas item lets you place -encapulated PostScript (EPS) on a canvas, controlling its size and placement. +encapsulated PostScript (EPS) on a canvas, controlling its size and placement. The EPS item is displayed either as a solid rectangle or a preview image. The preview image is designated in one of two ways: 1) the EPS file contains -an ASCII hexidecimal preview, or 2) a Tk photo image. When the canvas generates +an ASCII hexadecimal preview, or 2) a Tk photo image. When the canvas generates PostScript output, the EPS will be inserted with the proper translation and scaling to match that of the EPS item. So can use the canvas widget as a page layout tool. @@ -39,7 +39,7 @@ canvas create eps x y ?option value?...

The eps item creates a new canvas item. Canvas is the name of a canvas widget. You must supply the X-Y coordinate of the new eps item. How the coordinate -is exactly interpretered is controlled by the -anchor option (see below). +is exactly interpreted is controlled by the -anchor option (see below).

Additional options may be specified on the command line to configure aspects of the eps item such as its color, stipple, and font. The following option --- blt-2.4z.orig/html/barchart.html +++ blt-2.4z/html/barchart.html @@ -332,7 +332,7 @@

-barwidth value
Specifies the width -of the bars. This value can be overrided by the individual elements using +of the bars. This value can be overridden by the individual elements using their -barwidth configuration option. Value is the width in terms of graph coordinates. The default width is 1.0.
--- blt-2.4z.orig/html/container.html +++ blt-2.4z/html/container.html @@ -135,7 +135,7 @@ size of the container window is determined the number of tiers of tabs and the sizes of the Tk widgets embedded inside each folder. The widest widget determines the width of the folder. The tallest determines the height. - If no folders contain an embedded widget, the size is detemined solely + If no folders contain an embedded widget, the size is determined solely by the size of the tabs.

You can override either dimension with the container's -width and -height options. --- blt-2.4z.orig/html/spline.html +++ blt-2.4z/html/spline.html @@ -32,7 +32,7 @@ curve. Spline interpolation is the mathematical equivalent. The curves between adjacent knots are piecewise functions such that the resulting spline runs exactly through all the knots. The order and coefficients of -the polynominal determine the "looseness" or "tightness" of the curve fit +the polynomial determine the "looseness" or "tightness" of the curve fit from the line segments formed by the knots.

The spline command performs spline interpolation using cubic ("natural") or quadratic polynomial functions. @@ -87,7 +87,7 @@ .graph element create spline -x sx -y sy -color red
table . .graph

The natural operation employs a cubic interpolant when forming the spline. - In terms of the draftmen's spline, a natural spline requires the least + In terms of the draftsmen's spline, a natural spline requires the least amount of energy to bend the spline (strip of wood), while still passing through each knot. In mathematical terms, the second derivatives of the first and last points are zero.

@@ -139,7 +139,7 @@ by D.F.Mcallister & J.A.Roulier Coded by S.L.Dodd & M.Roulier N.C.State University. -The original code for the quadratric spline can be found in TOMS #574. +The original code for the quadratic spline can be found in TOMS #574.

Keywords

spline, vector, graph

--- blt-2.4z.orig/html/hierbox.html +++ blt-2.4z/html/hierbox.html @@ -1446,7 +1446,7 @@

-separator string
Specifies the character sequence -to use when spliting the path components. The separator may be several +to use when splitting the path components. The separator may be several characters wide (such as "::") Consecutive separators in a pathname are treated as one. If string is the empty string, the pathnames are Tcl lists. Each element is a path component. The default is "".
--- blt-2.4z.orig/html/bgexec.html +++ blt-2.4z/html/bgexec.html @@ -122,7 +122,7 @@ Specifies the encoding of the stderr channel. This affects only data returned to the Tcl interpreter. No translation is done on file redirection.
For example if data is to be converted from Unicode for use in Tcl, you -would use the "unicode" encoding. The default is that no tranlation is +would use the "unicode" encoding. The default is that no translation is performed.
-decodeoutput encodingName
@@ -130,7 +130,7 @@ Specifies the encoding of the stdout channels. This affects only data returned to the Tcl interpreter. No translation is done on file redirection.
For example if data is to be converted from Unicode for use in Tcl, you -would use the "unicode" encoding. The default is that no tranlation is +would use the "unicode" encoding. The default is that no translation is performed.
-error varName
@@ -234,7 +234,7 @@

The biggest advantage of bgexec is that, unlike fileevent, it requires no additional Tcl code to run a program. It's simpler and less error prone. - You don't have to worry about non-blocking I/O. It's handled tranparently + You don't have to worry about non-blocking I/O. It's handled transparently for you.

Bgexec runs programs that fileevent can not. Fileevent assumes that the when stdout is closed the program has completed. But some programs, --- blt-2.4z.orig/html/winop.html +++ blt-2.4z/html/winop.html @@ -23,7 +23,7 @@

Description

The winop command performs various window operations on Tk windows -using low-level Xlib function calls to work around window manager pecularities. +using low-level Xlib function calls to work around window manager peculiarities.

Introduction

Tk has several commands for manipulating its windows: raise, --- blt-2.4z.orig/html/table.html +++ blt-2.4z/html/table.html @@ -29,7 +29,7 @@ table search container ?switch arg?...

Description

The table command -arranges widgets in a table. The alignment of widgets is detemined by their +arranges widgets in a table. The alignment of widgets is determined by their row and column positions and the number of rows or columns that they span.

Introduction

@@ -241,7 +241,7 @@ of a widget. Item can be in any form describe in the configure operation below. If no item argument is provided, then the configuration option is for the table itself. Option may be any one of the options described in -the appropiate section for item. +the appropriate section for item.
table configure container item... ?option value?...
--- blt-2.4z.orig/win/makedefs +++ blt-2.4z/win/makedefs @@ -3,33 +3,13 @@ v1 = 8.4 v2 = 84 -v3 = 8.4.0 - -#v1 = 8.3 -#v2 = 83 -#v3 = 8.3.4 - -#v1 = 8.3 -#v2 = 83 -#v3 = 8.3.2 - -#v1 = 8.2 -#v2 = 82 -#v3 = 8.2.3 - -#v1 = 8.1 -#v2 = 81 -#v3 = 8.1.1 - -#v1 = 8.0 -#v2 = 80 -#v3 = 8.0.5 +v3 = 8.4.12 #Use Independent JPEG Group (IJG) library or Intel JPEG Library (IJL) # 0 = None. # 1 = IJG # 2 = IJL -WITH_JPEG=2 +WITH_JPEG=0 # ------------------------------------------------------------------------ # You shouldn't need to edit anything beyond this point @@ -39,7 +19,7 @@ BLT_MINOR_VERSION = 4 BLT_VERSION = 2.4 -prefix = C:/Program\ Files/Tcl +prefix = x:/target/staff/koen/install/tcltk8.4.12/WIN exec_prefix = $(prefix) includedir = $(prefix)/include bindir = $(prefix)/bin @@ -48,7 +28,7 @@ BLT_LIBRARY = $(libdir)/blt$(BLT_VERSION) TCLLIBPATH = $(libdir)/tcl$(v1) -AUX_LIBS = +AUX_LIBS = SHLIB_SUFFIX = .dll INSTALL = install -m 0755