# 1 "itcl/generic/itcl_class.c" # 1 "" # 1 "" # 1 "itcl/generic/itcl_class.c" # 33 "itcl/generic/itcl_class.c" # 1 "itcl/generic/itclInt.h" 1 # 52 "itcl/generic/itclInt.h" # 1 "itcl/generic/itcl.h" 1 # 55 "itcl/generic/itcl.h" # 1 "/usr/local/include/tcl.h" 1 3 # 162 "/usr/local/include/tcl.h" 3 # 1 "/usr/include/stdio.h" 1 3 # 28 "/usr/include/stdio.h" 3 # 1 "/usr/include/features.h" 1 3 # 295 "/usr/include/features.h" 3 # 1 "/usr/include/sys/cdefs.h" 1 3 # 296 "/usr/include/features.h" 2 3 # 318 "/usr/include/features.h" 3 # 1 "/usr/include/gnu/stubs.h" 1 3 # 319 "/usr/include/features.h" 2 3 # 29 "/usr/include/stdio.h" 2 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 3 typedef unsigned int size_t; # 35 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/bits/types.h" 1 3 # 28 "/usr/include/bits/types.h" 3 # 1 "/usr/include/bits/wordsize.h" 1 3 # 29 "/usr/include/bits/types.h" 2 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 32 "/usr/include/bits/types.h" 2 3 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 129 "/usr/include/bits/types.h" 3 # 1 "/usr/include/bits/typesizes.h" 1 3 # 130 "/usr/include/bits/types.h" 2 3 __extension__ typedef unsigned long long int __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef unsigned long long int __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef long long int __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef unsigned long long int __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef int __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef long long int __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef unsigned long long int __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef unsigned long long int __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 37 "/usr/include/stdio.h" 2 3 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" 3 # 1 "/usr/include/libio.h" 1 3 # 32 "/usr/include/libio.h" 3 # 1 "/usr/include/_G_config.h" 1 3 # 14 "/usr/include/_G_config.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 3 typedef long int wchar_t; # 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 3 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 # 24 "/usr/include/_G_config.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/bits/wchar.h" 1 3 # 51 "/usr/include/wchar.h" 2 3 # 76 "/usr/include/wchar.h" 3 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 # 1 "/usr/include/gconv.h" 1 3 # 28 "/usr/include/gconv.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 29 "/usr/include/gconv.h" 2 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 32 "/usr/include/gconv.h" 2 3 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 # 53 "/usr/include/libio.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stdarg.h" 1 3 # 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stdarg.h" 3 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 # 163 "/usr/include/libio.h" 3 struct _IO_jump_t; struct _IO_FILE; # 173 "/usr/include/libio.h" 3 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 196 "/usr/include/libio.h" 3 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 264 "/usr/include/libio.h" 3 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 312 "/usr/include/libio.h" 3 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 351 "/usr/include/libio.h" 3 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 403 "/usr/include/libio.h" 3 extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 433 "/usr/include/libio.h" 3 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 463 "/usr/include/libio.h" 3 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 73 "/usr/include/stdio.h" 2 3 # 86 "/usr/include/stdio.h" 3 typedef _G_fpos_t fpos_t; # 138 "/usr/include/stdio.h" 3 # 1 "/usr/include/bits/stdio_lim.h" 1 3 # 139 "/usr/include/stdio.h" 2 3 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; extern FILE *tmpfile (void); # 178 "/usr/include/stdio.h" 3 extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 196 "/usr/include/stdio.h" 3 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 221 "/usr/include/stdio.h" 3 extern int fflush_unlocked (FILE *__stream); # 235 "/usr/include/stdio.h" 3 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 262 "/usr/include/stdio.h" 3 # 273 "/usr/include/stdio.h" 3 extern FILE *fdopen (int __fd, __const char *__modes) ; # 294 "/usr/include/stdio.h" 3 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); # 388 "/usr/include/stdio.h" 3 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int scanf (__const char *__restrict __format, ...); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; # 430 "/usr/include/stdio.h" 3 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 454 "/usr/include/stdio.h" 3 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 465 "/usr/include/stdio.h" 3 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 498 "/usr/include/stdio.h" 3 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 578 "/usr/include/stdio.h" 3 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 631 "/usr/include/stdio.h" 3 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 686 "/usr/include/stdio.h" 3 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 709 "/usr/include/stdio.h" 3 # 718 "/usr/include/stdio.h" 3 extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 # 27 "/usr/include/bits/sys_errlist.h" 3 extern int sys_nerr; extern __const char *__const sys_errlist[]; # 748 "/usr/include/stdio.h" 2 3 extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; # 767 "/usr/include/stdio.h" 3 extern FILE *popen (__const char *__command, __const char *__modes); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) ; # 807 "/usr/include/stdio.h" 3 extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 828 "/usr/include/stdio.h" 3 # 1 "/usr/include/bits/stdio.h" 1 3 # 33 "/usr/include/bits/stdio.h" 3 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } # 111 "/usr/include/bits/stdio.h" 3 extern __inline int feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 829 "/usr/include/stdio.h" 2 3 # 163 "/usr/local/include/tcl.h" 2 3 # 176 "/usr/local/include/tcl.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stdarg.h" 1 3 # 110 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stdarg.h" 3 typedef __gnuc_va_list va_list; # 177 "/usr/local/include/tcl.h" 2 3 # 327 "/usr/local/include/tcl.h" 3 typedef void *ClientData; # 383 "/usr/local/include/tcl.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 1 3 # 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/syslimits.h" 1 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 1 3 # 132 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 3 # 1 "/usr/include/limits.h" 1 3 # 144 "/usr/include/limits.h" 3 # 1 "/usr/include/bits/posix1_lim.h" 1 3 # 130 "/usr/include/bits/posix1_lim.h" 3 # 1 "/usr/include/bits/local_lim.h" 1 3 # 36 "/usr/include/bits/local_lim.h" 3 # 1 "/usr/include/linux/limits.h" 1 3 # 37 "/usr/include/bits/local_lim.h" 2 3 # 131 "/usr/include/bits/posix1_lim.h" 2 3 # 145 "/usr/include/limits.h" 2 3 # 1 "/usr/include/bits/posix2_lim.h" 1 3 # 149 "/usr/include/limits.h" 2 3 # 133 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 2 3 # 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/syslimits.h" 2 3 # 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 2 3 # 384 "/usr/local/include/tcl.h" 2 3 # 397 "/usr/local/include/tcl.h" 3 typedef long long Tcl_WideInt; typedef unsigned long long Tcl_WideUInt; # 419 "/usr/local/include/tcl.h" 3 typedef struct stat Tcl_StatBuf; # 460 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Interp { char *result; void (*freeProc) (char *blockPtr); int errorLine; } 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; # 505 "/usr/local/include/tcl.h" 3 typedef void (Tcl_ThreadCreateProc) (ClientData clientData); # 571 "/usr/local/include/tcl.h" 3 typedef struct Tcl_RegExpIndices { long start; long end; } Tcl_RegExpIndices; typedef struct Tcl_RegExpInfo { int nsubs; Tcl_RegExpIndices *matches; long extendStart; long reserved; } Tcl_RegExpInfo; typedef Tcl_StatBuf *Tcl_Stat_; typedef struct stat *Tcl_OldStat_; # 634 "/usr/local/include/tcl.h" 3 typedef enum { TCL_INT, TCL_DOUBLE, TCL_EITHER, TCL_WIDE_INT } Tcl_ValueType; typedef struct Tcl_Value { Tcl_ValueType type; long intValue; double doubleValue; Tcl_WideInt wideValue; } Tcl_Value; struct Tcl_Obj; typedef int (Tcl_AppInitProc) (Tcl_Interp *interp); typedef int (Tcl_AsyncProc) (ClientData clientData, Tcl_Interp *interp, int code); typedef void (Tcl_ChannelProc) (ClientData clientData, int mask); typedef void (Tcl_CloseProc) (ClientData data); typedef void (Tcl_CmdDeleteProc) (ClientData clientData); typedef int (Tcl_CmdProc) (ClientData clientData, Tcl_Interp *interp, int argc, const char *argv[]); typedef void (Tcl_CmdTraceProc) (ClientData clientData, Tcl_Interp *interp, int level, char *command, Tcl_CmdProc *proc, ClientData cmdClientData, int argc, const char *argv[]); typedef int (Tcl_CmdObjTraceProc) (ClientData clientData, Tcl_Interp *interp, int level, const char *command, Tcl_Command commandInfo, int objc, struct Tcl_Obj * const * objv); typedef void (Tcl_CmdObjTraceDeleteProc) (ClientData clientData); typedef void (Tcl_DupInternalRepProc) (struct Tcl_Obj *srcPtr, struct Tcl_Obj *dupPtr); typedef int (Tcl_EncodingConvertProc)(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)(ClientData clientData); typedef int (Tcl_EventProc) (Tcl_Event *evPtr, int flags); typedef void (Tcl_EventCheckProc) (ClientData clientData, int flags); typedef int (Tcl_EventDeleteProc) (Tcl_Event *evPtr, ClientData clientData); typedef void (Tcl_EventSetupProc) (ClientData clientData, int flags); typedef void (Tcl_ExitProc) (ClientData clientData); typedef void (Tcl_FileProc) (ClientData clientData, int mask); typedef void (Tcl_FileFreeProc) (ClientData clientData); typedef void (Tcl_FreeInternalRepProc) (struct Tcl_Obj *objPtr); typedef void (Tcl_FreeProc) (char *blockPtr); typedef void (Tcl_IdleProc) (ClientData clientData); typedef void (Tcl_InterpDeleteProc) (ClientData clientData, Tcl_Interp *interp); typedef int (Tcl_MathProc) (ClientData clientData, Tcl_Interp *interp, Tcl_Value *args, Tcl_Value *resultPtr); typedef void (Tcl_NamespaceDeleteProc) (ClientData clientData); typedef int (Tcl_ObjCmdProc) (ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * const * objv); typedef int (Tcl_PackageInitProc) (Tcl_Interp *interp); typedef void (Tcl_PanicProc) (const char * format, ...); typedef void (Tcl_TcpAcceptProc) (ClientData callbackData, Tcl_Channel chan, char *address, int port); typedef void (Tcl_TimerProc) (ClientData clientData); typedef int (Tcl_SetFromAnyProc) (Tcl_Interp *interp, struct Tcl_Obj *objPtr); typedef void (Tcl_UpdateStringProc) (struct Tcl_Obj *objPtr); typedef char *(Tcl_VarTraceProc) (ClientData clientData, Tcl_Interp *interp, const char *part1, const char *part2, int flags); typedef void (Tcl_CommandTraceProc) (ClientData clientData, Tcl_Interp *interp, const char *oldName, const char *newName, int flags); typedef void (Tcl_CreateFileHandlerProc) (int fd, int mask, Tcl_FileProc *proc, ClientData clientData); typedef void (Tcl_DeleteFileHandlerProc) (int fd); typedef void (Tcl_AlertNotifierProc) (ClientData clientData); typedef void (Tcl_ServiceModeHookProc) (int mode); typedef ClientData (Tcl_InitNotifierProc) (void); typedef void (Tcl_FinalizeNotifierProc) (ClientData clientData); typedef void (Tcl_MainLoopProc) (void); # 733 "/usr/local/include/tcl.h" 3 typedef struct Tcl_ObjType { char *name; Tcl_FreeInternalRepProc *freeIntRepProc; Tcl_DupInternalRepProc *dupIntRepProc; Tcl_UpdateStringProc *updateStringProc; Tcl_SetFromAnyProc *setFromAnyProc; } Tcl_ObjType; # 759 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Obj { int refCount; char *bytes; # 772 "/usr/local/include/tcl.h" 3 int length; Tcl_ObjType *typePtr; union { long longValue; double doubleValue; void *otherValuePtr; Tcl_WideInt wideValue; struct { void *ptr1; void *ptr2; } twoPtrValue; } internalRep; } Tcl_Obj; # 801 "/usr/local/include/tcl.h" 3 void Tcl_IncrRefCount (Tcl_Obj *objPtr); void Tcl_DecrRefCount (Tcl_Obj *objPtr); int Tcl_IsShared (Tcl_Obj *objPtr); # 854 "/usr/local/include/tcl.h" 3 typedef struct Tcl_SavedResult { char *result; Tcl_FreeProc *freeProc; Tcl_Obj *objResultPtr; char *appendResult; int appendAvl; int appendUsed; char resultSpace[200 +1]; } Tcl_SavedResult; # 871 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Namespace { char *name; char *fullName; ClientData clientData; Tcl_NamespaceDeleteProc* deleteProc; struct Tcl_Namespace* parentPtr; } Tcl_Namespace; # 912 "/usr/local/include/tcl.h" 3 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; # 942 "/usr/local/include/tcl.h" 3 typedef struct Tcl_CmdInfo { int isNativeObjectProc; Tcl_ObjCmdProc *objProc; ClientData objClientData; Tcl_CmdProc *proc; ClientData clientData; Tcl_CmdDeleteProc *deleteProc; ClientData deleteData; Tcl_Namespace *namespacePtr; } Tcl_CmdInfo; typedef struct Tcl_DString { char *string; int length; int spaceAvl; char staticSpace[200]; } Tcl_DString; # 1096 "/usr/local/include/tcl.h" 3 typedef struct Tcl_HashKeyType Tcl_HashKeyType; typedef struct Tcl_HashTable Tcl_HashTable; typedef struct Tcl_HashEntry Tcl_HashEntry; typedef unsigned int (Tcl_HashKeyProc) (Tcl_HashTable *tablePtr, void *keyPtr); typedef int (Tcl_CompareHashKeysProc) (void *keyPtr, Tcl_HashEntry *hPtr); typedef Tcl_HashEntry *(Tcl_AllocHashEntryProc) ( Tcl_HashTable *tablePtr, void *keyPtr); typedef void (Tcl_FreeHashEntryProc) (Tcl_HashEntry *hPtr); # 1125 "/usr/local/include/tcl.h" 3 struct Tcl_HashEntry { Tcl_HashEntry *nextPtr; Tcl_HashTable *tablePtr; void *hash; # 1144 "/usr/local/include/tcl.h" 3 ClientData clientData; union { char *oneWordValue; Tcl_Obj *objPtr; int words[1]; char string[4]; } key; }; # 1177 "/usr/local/include/tcl.h" 3 struct Tcl_HashKeyType { int version; int flags; Tcl_HashKeyProc *hashKeyProc; Tcl_CompareHashKeysProc *compareKeysProc; # 1205 "/usr/local/include/tcl.h" 3 Tcl_AllocHashEntryProc *allocEntryProc; Tcl_FreeHashEntryProc *freeEntryProc; }; # 1222 "/usr/local/include/tcl.h" 3 struct Tcl_HashTable { Tcl_HashEntry **buckets; Tcl_HashEntry *staticBuckets[4]; int numBuckets; int numEntries; int rebuildSize; int downShift; int mask; int keyType; Tcl_HashEntry *(*findProc) (Tcl_HashTable *tablePtr, const char *key); Tcl_HashEntry *(*createProc) (Tcl_HashTable *tablePtr, const char *key, int *newPtr); Tcl_HashKeyType *typePtr; }; typedef struct Tcl_HashSearch { Tcl_HashTable *tablePtr; int nextIndex; Tcl_HashEntry *nextEntryPtr; } Tcl_HashSearch; # 1360 "/usr/local/include/tcl.h" 3 struct Tcl_Event { Tcl_EventProc *proc; struct Tcl_Event *nextPtr; }; typedef enum { TCL_QUEUE_TAIL, TCL_QUEUE_HEAD, TCL_QUEUE_MARK } Tcl_QueuePosition; # 1386 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Time { long sec; long usec; } Tcl_Time; typedef void (Tcl_SetTimerProc) (Tcl_Time *timePtr); typedef int (Tcl_WaitForEventProc) (Tcl_Time *timePtr); # 1436 "/usr/local/include/tcl.h" 3 typedef int (Tcl_DriverBlockModeProc) ( ClientData instanceData, int mode); typedef int (Tcl_DriverCloseProc) (ClientData instanceData, Tcl_Interp *interp); typedef int (Tcl_DriverClose2Proc) (ClientData instanceData, Tcl_Interp *interp, int flags); typedef int (Tcl_DriverInputProc) (ClientData instanceData, char *buf, int toRead, int *errorCodePtr); typedef int (Tcl_DriverOutputProc) (ClientData instanceData, const char *buf, int toWrite, int *errorCodePtr); typedef int (Tcl_DriverSeekProc) (ClientData instanceData, long offset, int mode, int *errorCodePtr); typedef int (Tcl_DriverSetOptionProc) ( ClientData instanceData, Tcl_Interp *interp, const char *optionName, const char *value); typedef int (Tcl_DriverGetOptionProc) ( ClientData instanceData, Tcl_Interp *interp, const char *optionName, Tcl_DString *dsPtr); typedef void (Tcl_DriverWatchProc) ( ClientData instanceData, int mask); typedef int (Tcl_DriverGetHandleProc) ( ClientData instanceData, int direction, ClientData *handlePtr); typedef int (Tcl_DriverFlushProc) ( ClientData instanceData); typedef int (Tcl_DriverHandlerProc) ( ClientData instanceData, int interestMask); typedef Tcl_WideInt (Tcl_DriverWideSeekProc) ( ClientData instanceData, Tcl_WideInt offset, int mode, int *errorCodePtr); # 1509 "/usr/local/include/tcl.h" 3 typedef struct Tcl_ChannelType { char *typeName; Tcl_ChannelTypeVersion version; Tcl_DriverCloseProc *closeProc; Tcl_DriverInputProc *inputProc; Tcl_DriverOutputProc *outputProc; Tcl_DriverSeekProc *seekProc; Tcl_DriverSetOptionProc *setOptionProc; Tcl_DriverGetOptionProc *getOptionProc; Tcl_DriverWatchProc *watchProc; Tcl_DriverGetHandleProc *getHandleProc; Tcl_DriverClose2Proc *close2Proc; Tcl_DriverBlockModeProc *blockModeProc; Tcl_DriverFlushProc *flushProc; Tcl_DriverHandlerProc *handlerProc; Tcl_DriverWideSeekProc *wideSeekProc; } Tcl_ChannelType; # 1571 "/usr/local/include/tcl.h" 3 typedef enum Tcl_PathType { TCL_PATH_ABSOLUTE, TCL_PATH_RELATIVE, TCL_PATH_VOLUME_RELATIVE } Tcl_PathType; typedef struct Tcl_GlobTypeData { int type; int perm; Tcl_Obj* macType; Tcl_Obj* macCreator; } Tcl_GlobTypeData; # 1614 "/usr/local/include/tcl.h" 3 typedef int (Tcl_FSStatProc) (Tcl_Obj *pathPtr, Tcl_StatBuf *buf); typedef int (Tcl_FSAccessProc) (Tcl_Obj *pathPtr, int mode); typedef Tcl_Channel (Tcl_FSOpenFileChannelProc) (Tcl_Interp *interp, Tcl_Obj *pathPtr, int mode, int permissions); typedef int (Tcl_FSMatchInDirectoryProc) (Tcl_Interp* interp, Tcl_Obj *result, Tcl_Obj *pathPtr, const char *pattern, Tcl_GlobTypeData * types); typedef Tcl_Obj* (Tcl_FSGetCwdProc) (Tcl_Interp *interp); typedef int (Tcl_FSChdirProc) (Tcl_Obj *pathPtr); typedef int (Tcl_FSLstatProc) (Tcl_Obj *pathPtr, Tcl_StatBuf *buf); typedef int (Tcl_FSCreateDirectoryProc) (Tcl_Obj *pathPtr); typedef int (Tcl_FSDeleteFileProc) (Tcl_Obj *pathPtr); typedef int (Tcl_FSCopyDirectoryProc) (Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr); typedef int (Tcl_FSCopyFileProc) (Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr); typedef int (Tcl_FSRemoveDirectoryProc) (Tcl_Obj *pathPtr, int recursive, Tcl_Obj **errorPtr); typedef int (Tcl_FSRenameFileProc) (Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr); typedef void (Tcl_FSUnloadFileProc) (Tcl_LoadHandle loadHandle); typedef Tcl_Obj* (Tcl_FSListVolumesProc) (void); struct utimbuf; typedef int (Tcl_FSUtimeProc) (Tcl_Obj *pathPtr, struct utimbuf *tval); typedef int (Tcl_FSNormalizePathProc) (Tcl_Interp *interp, Tcl_Obj *pathPtr, int nextCheckpoint); typedef int (Tcl_FSFileAttrsGetProc) (Tcl_Interp *interp, int index, Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef); typedef const char** (Tcl_FSFileAttrStringsProc) (Tcl_Obj *pathPtr, Tcl_Obj** objPtrRef); typedef int (Tcl_FSFileAttrsSetProc) (Tcl_Interp *interp, int index, Tcl_Obj *pathPtr, Tcl_Obj *objPtr); typedef Tcl_Obj* (Tcl_FSLinkProc) (Tcl_Obj *pathPtr, Tcl_Obj *toPtr, int linkType); typedef int (Tcl_FSLoadFileProc) (Tcl_Interp * interp, Tcl_Obj *pathPtr, Tcl_LoadHandle *handlePtr, Tcl_FSUnloadFileProc **unloadProcPtr); typedef int (Tcl_FSPathInFilesystemProc) (Tcl_Obj *pathPtr, ClientData *clientDataPtr); typedef Tcl_Obj* (Tcl_FSFilesystemPathTypeProc) (Tcl_Obj *pathPtr); typedef Tcl_Obj* (Tcl_FSFilesystemSeparatorProc) (Tcl_Obj *pathPtr); typedef void (Tcl_FSFreeInternalRepProc) (ClientData clientData); typedef ClientData (Tcl_FSDupInternalRepProc) (ClientData clientData); typedef Tcl_Obj* (Tcl_FSInternalToNormalizedProc) (ClientData clientData); typedef ClientData (Tcl_FSCreateInternalRepProc) (Tcl_Obj *pathPtr); typedef struct Tcl_FSVersion_ *Tcl_FSVersion; # 1698 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Filesystem { const char *typeName; int structureLength; Tcl_FSVersion version; Tcl_FSPathInFilesystemProc *pathInFilesystemProc; Tcl_FSDupInternalRepProc *dupInternalRepProc; Tcl_FSFreeInternalRepProc *freeInternalRepProc; Tcl_FSInternalToNormalizedProc *internalToNormalizedProc; Tcl_FSCreateInternalRepProc *createInternalRepProc; Tcl_FSNormalizePathProc *normalizePathProc; Tcl_FSFilesystemPathTypeProc *filesystemPathTypeProc; Tcl_FSFilesystemSeparatorProc *filesystemSeparatorProc; Tcl_FSStatProc *statProc; Tcl_FSAccessProc *accessProc; Tcl_FSOpenFileChannelProc *openFileChannelProc; Tcl_FSMatchInDirectoryProc *matchInDirectoryProc; Tcl_FSUtimeProc *utimeProc; Tcl_FSLinkProc *linkProc; Tcl_FSListVolumesProc *listVolumesProc; Tcl_FSFileAttrStringsProc *fileAttrStringsProc; Tcl_FSFileAttrsGetProc *fileAttrsGetProc; Tcl_FSFileAttrsSetProc *fileAttrsSetProc; Tcl_FSCreateDirectoryProc *createDirectoryProc; Tcl_FSRemoveDirectoryProc *removeDirectoryProc; Tcl_FSDeleteFileProc *deleteFileProc; Tcl_FSCopyFileProc *copyFileProc; Tcl_FSRenameFileProc *renameFileProc; Tcl_FSCopyDirectoryProc *copyDirectoryProc; Tcl_FSLstatProc *lstatProc; Tcl_FSLoadFileProc *loadFileProc; Tcl_FSGetCwdProc *getCwdProc; Tcl_FSChdirProc *chdirProc; # 1870 "/usr/local/include/tcl.h" 3 } Tcl_Filesystem; # 1888 "/usr/local/include/tcl.h" 3 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; typedef struct Tcl_EncodingType { const char *encodingName; Tcl_EncodingConvertProc *toUtfProc; Tcl_EncodingConvertProc *fromUtfProc; Tcl_EncodingFreeProc *freeProc; ClientData clientData; int nullSize; } Tcl_EncodingType; # 1972 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Token { int type; const char *start; int size; int numComponents; } Tcl_Token; # 2088 "/usr/local/include/tcl.h" 3 typedef struct Tcl_Parse { const char *commentStart; int commentSize; const char *commandStart; int commandSize; int numWords; Tcl_Token *tokenPtr; int numTokens; int tokensAvailable; int errorType; # 2120 "/usr/local/include/tcl.h" 3 const char *string; const char *end; Tcl_Interp *interp; const char *term; int incomplete; Tcl_Token staticTokens[20]; } Tcl_Parse; # 2191 "/usr/local/include/tcl.h" 3 typedef unsigned short Tcl_UniChar; # 2236 "/usr/local/include/tcl.h" 3 extern const char * Tcl_InitStubs (Tcl_Interp *interp, const char *version, int exact); # 2256 "/usr/local/include/tcl.h" 3 # 1 "/usr/local/include/tclDecls.h" 1 3 # 30 "/usr/local/include/tclDecls.h" 3 extern int Tcl_PkgProvideEx (Tcl_Interp* interp, const char* name, const char* version, ClientData clientData); extern const char * Tcl_PkgRequireEx ( Tcl_Interp * interp, const char * name, const char * version, int exact, ClientData * clientDataPtr); extern void Tcl_Panic (const char * format, ...); extern char * Tcl_Alloc (unsigned int size); extern void Tcl_Free (char * ptr); extern char * Tcl_Realloc (char * ptr, unsigned int size); extern char * Tcl_DbCkalloc (unsigned int size, const char * file, int line); extern int Tcl_DbCkfree (char * ptr, const char * file, int line); extern char * Tcl_DbCkrealloc (char * ptr, unsigned int size, const char * file, int line); extern void Tcl_CreateFileHandler (int fd, int mask, Tcl_FileProc * proc, ClientData clientData); extern void Tcl_DeleteFileHandler (int fd); extern void Tcl_SetTimer (Tcl_Time * timePtr); extern void Tcl_Sleep (int ms); extern int Tcl_WaitForEvent (Tcl_Time * timePtr); extern int Tcl_AppendAllObjTypes ( Tcl_Interp * interp, Tcl_Obj * objPtr); extern void Tcl_AppendStringsToObj (Tcl_Obj * objPtr, ...); extern void Tcl_AppendToObj (Tcl_Obj* objPtr, const char* bytes, int length); extern Tcl_Obj * Tcl_ConcatObj (int objc, Tcl_Obj *const objv[]); extern int Tcl_ConvertToType (Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr); extern void Tcl_DbDecrRefCount (Tcl_Obj * objPtr, const char * file, int line); extern void Tcl_DbIncrRefCount (Tcl_Obj * objPtr, const char * file, int line); extern int Tcl_DbIsShared (Tcl_Obj * objPtr, const char * file, int line); extern Tcl_Obj * Tcl_DbNewBooleanObj (int boolValue, const char * file, int line); extern Tcl_Obj * Tcl_DbNewByteArrayObj ( const unsigned char * bytes, int length, const char * file, int line); extern Tcl_Obj * Tcl_DbNewDoubleObj (double doubleValue, const char * file, int line); extern Tcl_Obj * Tcl_DbNewListObj (int objc, Tcl_Obj *const * objv, const char * file, int line); extern Tcl_Obj * Tcl_DbNewLongObj (long longValue, const char * file, int line); extern Tcl_Obj * Tcl_DbNewObj (const char * file, int line); extern Tcl_Obj * Tcl_DbNewStringObj (const char * bytes, int length, const char * file, int line); extern Tcl_Obj * Tcl_DuplicateObj (Tcl_Obj * objPtr); extern void TclFreeObj (Tcl_Obj * objPtr); extern int Tcl_GetBoolean (Tcl_Interp * interp, const char * str, int * boolPtr); extern int Tcl_GetBooleanFromObj ( Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr); extern unsigned char * Tcl_GetByteArrayFromObj ( Tcl_Obj * objPtr, int * lengthPtr); extern int Tcl_GetDouble (Tcl_Interp * interp, const char * str, double * doublePtr); extern int Tcl_GetDoubleFromObj ( Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr); extern int Tcl_GetIndexFromObj (Tcl_Interp * interp, Tcl_Obj * objPtr, const char ** tablePtr, const char * msg, int flags, int * indexPtr); extern int Tcl_GetInt (Tcl_Interp * interp, const char * str, int * intPtr); extern int Tcl_GetIntFromObj (Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr); extern int Tcl_GetLongFromObj (Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr); extern Tcl_ObjType * Tcl_GetObjType (const char * typeName); extern char * Tcl_GetStringFromObj (Tcl_Obj * objPtr, int * lengthPtr); extern void Tcl_InvalidateStringRep ( Tcl_Obj * objPtr); extern int Tcl_ListObjAppendList ( Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr); extern int Tcl_ListObjAppendElement ( Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr); extern int Tcl_ListObjGetElements ( Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr); extern int Tcl_ListObjIndex (Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr); extern int Tcl_ListObjLength (Tcl_Interp * interp, Tcl_Obj * listPtr, int * lengthPtr); extern int Tcl_ListObjReplace (Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *const objv[]); extern Tcl_Obj * Tcl_NewBooleanObj (int boolValue); extern Tcl_Obj * Tcl_NewByteArrayObj ( const unsigned char* bytes, int length); extern Tcl_Obj * Tcl_NewDoubleObj (double doubleValue); extern Tcl_Obj * Tcl_NewIntObj (int intValue); extern Tcl_Obj * Tcl_NewListObj (int objc, Tcl_Obj *const objv[]); extern Tcl_Obj * Tcl_NewLongObj (long longValue); extern Tcl_Obj * Tcl_NewObj (void); extern Tcl_Obj * Tcl_NewStringObj (const char * bytes, int length); extern void Tcl_SetBooleanObj (Tcl_Obj * objPtr, int boolValue); extern unsigned char * Tcl_SetByteArrayLength (Tcl_Obj * objPtr, int length); extern void Tcl_SetByteArrayObj (Tcl_Obj * objPtr, const unsigned char * bytes, int length); extern void Tcl_SetDoubleObj (Tcl_Obj * objPtr, double doubleValue); extern void Tcl_SetIntObj (Tcl_Obj * objPtr, int intValue); extern void Tcl_SetListObj (Tcl_Obj * objPtr, int objc, Tcl_Obj *const objv[]); extern void Tcl_SetLongObj (Tcl_Obj * objPtr, long longValue); extern void Tcl_SetObjLength (Tcl_Obj * objPtr, int length); extern void Tcl_SetStringObj (Tcl_Obj* objPtr, const char* bytes, int length); extern void Tcl_AddErrorInfo (Tcl_Interp * interp, const char * message); extern void Tcl_AddObjErrorInfo (Tcl_Interp * interp, const char * message, int length); extern void Tcl_AllowExceptions (Tcl_Interp * interp); extern void Tcl_AppendElement (Tcl_Interp * interp, const char * string); extern void Tcl_AppendResult (Tcl_Interp * interp, ...); extern Tcl_AsyncHandler Tcl_AsyncCreate (Tcl_AsyncProc * proc, ClientData clientData); extern void Tcl_AsyncDelete (Tcl_AsyncHandler async); extern int Tcl_AsyncInvoke (Tcl_Interp * interp, int code); extern void Tcl_AsyncMark (Tcl_AsyncHandler async); extern int Tcl_AsyncReady (void); extern void Tcl_BackgroundError (Tcl_Interp * interp); extern char Tcl_Backslash (const char * src, int * readPtr); extern int Tcl_BadChannelOption ( Tcl_Interp * interp, const char * optionName, const char * optionList); extern void Tcl_CallWhenDeleted (Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData); extern void Tcl_CancelIdleCall ( Tcl_IdleProc * idleProc, ClientData clientData); extern int Tcl_Close (Tcl_Interp * interp, Tcl_Channel chan); extern int Tcl_CommandComplete (const char * cmd); extern char * Tcl_Concat (int argc, const char * const * argv); extern int Tcl_ConvertElement (const char * src, char * dst, int flags); extern int Tcl_ConvertCountedElement ( const char * src, int length, char * dst, int flags); extern int Tcl_CreateAlias (Tcl_Interp * slave, const char * slaveCmd, Tcl_Interp * target, const char * targetCmd, int argc, const char * const * argv); extern int Tcl_CreateAliasObj (Tcl_Interp * slave, const char * slaveCmd, Tcl_Interp * target, const char * targetCmd, int objc, Tcl_Obj *const objv[]); extern Tcl_Channel Tcl_CreateChannel ( Tcl_ChannelType * typePtr, const char * chanName, ClientData instanceData, int mask); extern void Tcl_CreateChannelHandler ( Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData); extern void Tcl_CreateCloseHandler (Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData); extern Tcl_Command Tcl_CreateCommand (Tcl_Interp * interp, const char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); extern void Tcl_CreateEventSource ( Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData); extern void Tcl_CreateExitHandler ( Tcl_ExitProc * proc, ClientData clientData); extern Tcl_Interp * Tcl_CreateInterp (void); extern void Tcl_CreateMathFunc (Tcl_Interp * interp, const char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData); extern Tcl_Command Tcl_CreateObjCommand ( Tcl_Interp * interp, const char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); extern Tcl_Interp * Tcl_CreateSlave (Tcl_Interp * interp, const char * slaveName, int isSafe); extern Tcl_TimerToken Tcl_CreateTimerHandler (int milliseconds, Tcl_TimerProc * proc, ClientData clientData); extern Tcl_Trace Tcl_CreateTrace (Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData); extern void Tcl_DeleteAssocData (Tcl_Interp * interp, const char * name); extern void Tcl_DeleteChannelHandler ( Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData); extern void Tcl_DeleteCloseHandler (Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData); extern int Tcl_DeleteCommand (Tcl_Interp * interp, const char * cmdName); extern int Tcl_DeleteCommandFromToken ( Tcl_Interp * interp, Tcl_Command command); extern void Tcl_DeleteEvents ( Tcl_EventDeleteProc * proc, ClientData clientData); extern void Tcl_DeleteEventSource ( Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData); extern void Tcl_DeleteExitHandler ( Tcl_ExitProc * proc, ClientData clientData); extern void Tcl_DeleteHashEntry ( Tcl_HashEntry * entryPtr); extern void Tcl_DeleteHashTable ( Tcl_HashTable * tablePtr); extern void Tcl_DeleteInterp (Tcl_Interp * interp); extern void Tcl_DetachPids (int numPids, Tcl_Pid * pidPtr); # 391 "/usr/local/include/tclDecls.h" 3 extern void Tcl_DeleteTimerHandler ( Tcl_TimerToken token); extern void Tcl_DeleteTrace (Tcl_Interp * interp, Tcl_Trace trace); extern void Tcl_DontCallWhenDeleted ( Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData); extern int Tcl_DoOneEvent (int flags); extern void Tcl_DoWhenIdle (Tcl_IdleProc * proc, ClientData clientData); extern char * Tcl_DStringAppend (Tcl_DString * dsPtr, const char * str, int length); extern char * Tcl_DStringAppendElement ( Tcl_DString * dsPtr, const char * string); extern void Tcl_DStringEndSublist ( Tcl_DString * dsPtr); extern void Tcl_DStringFree (Tcl_DString * dsPtr); extern void Tcl_DStringGetResult ( Tcl_Interp * interp, Tcl_DString * dsPtr); extern void Tcl_DStringInit (Tcl_DString * dsPtr); extern void Tcl_DStringResult (Tcl_Interp * interp, Tcl_DString * dsPtr); extern void Tcl_DStringSetLength ( Tcl_DString * dsPtr, int length); extern void Tcl_DStringStartSublist ( Tcl_DString * dsPtr); extern int Tcl_Eof (Tcl_Channel chan); extern const char * Tcl_ErrnoId (void); extern const char * Tcl_ErrnoMsg (int err); extern int Tcl_Eval (Tcl_Interp * interp, const char * string); extern int Tcl_EvalFile (Tcl_Interp * interp, const char * fileName); extern int Tcl_EvalObj (Tcl_Interp * interp, Tcl_Obj * objPtr); extern void Tcl_EventuallyFree ( ClientData clientData, Tcl_FreeProc * freeProc); extern void Tcl_Exit (int status); extern int Tcl_ExposeCommand (Tcl_Interp * interp, const char * hiddenCmdToken, const char * cmdName); extern int Tcl_ExprBoolean (Tcl_Interp * interp, const char * str, int * ptr); extern int Tcl_ExprBooleanObj (Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr); extern int Tcl_ExprDouble (Tcl_Interp * interp, const char * str, double * ptr); extern int Tcl_ExprDoubleObj (Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr); extern int Tcl_ExprLong (Tcl_Interp * interp, const char * str, long * ptr); extern int Tcl_ExprLongObj (Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr); extern int Tcl_ExprObj (Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr); extern int Tcl_ExprString (Tcl_Interp * interp, const char * string); extern void Tcl_Finalize (void); extern void Tcl_FindExecutable (const char * argv0); extern Tcl_HashEntry * Tcl_FirstHashEntry ( Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr); extern int Tcl_Flush (Tcl_Channel chan); extern void Tcl_FreeResult (Tcl_Interp * interp); extern int Tcl_GetAlias (Tcl_Interp * interp, const char * slaveCmd, Tcl_Interp ** targetInterpPtr, const char ** targetCmdPtr, int * argcPtr, const char *** argvPtr); extern int Tcl_GetAliasObj (Tcl_Interp * interp, const char * slaveCmd, Tcl_Interp ** targetInterpPtr, const char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv); extern ClientData Tcl_GetAssocData (Tcl_Interp * interp, const char * name, Tcl_InterpDeleteProc ** procPtr); extern Tcl_Channel Tcl_GetChannel (Tcl_Interp * interp, const char * chanName, int * modePtr); extern int Tcl_GetChannelBufferSize ( Tcl_Channel chan); extern int Tcl_GetChannelHandle (Tcl_Channel chan, int direction, ClientData * handlePtr); extern ClientData Tcl_GetChannelInstanceData ( Tcl_Channel chan); extern int Tcl_GetChannelMode (Tcl_Channel chan); extern const char * Tcl_GetChannelName ( Tcl_Channel chan); extern int Tcl_GetChannelOption ( Tcl_Interp * interp, Tcl_Channel chan, const char * optionName, Tcl_DString * dsPtr); extern Tcl_ChannelType * Tcl_GetChannelType (Tcl_Channel chan); extern int Tcl_GetCommandInfo (Tcl_Interp * interp, const char * cmdName, Tcl_CmdInfo * infoPtr); extern const char * Tcl_GetCommandName ( Tcl_Interp * interp, Tcl_Command command); extern int Tcl_GetErrno (void); extern const char * Tcl_GetHostName (void); extern int Tcl_GetInterpPath ( Tcl_Interp * askInterp, Tcl_Interp * slaveInterp); extern Tcl_Interp * Tcl_GetMaster (Tcl_Interp * interp); extern const char * Tcl_GetNameOfExecutable (void); extern Tcl_Obj * Tcl_GetObjResult (Tcl_Interp * interp); extern int Tcl_GetOpenFile (Tcl_Interp * interp, const char * str, int forWriting, int checkUsage, ClientData * filePtr); extern Tcl_PathType Tcl_GetPathType (const char * path); extern int Tcl_Gets (Tcl_Channel chan, Tcl_DString * dsPtr); extern int Tcl_GetsObj (Tcl_Channel chan, Tcl_Obj * objPtr); extern int Tcl_GetServiceMode (void); extern Tcl_Interp * Tcl_GetSlave (Tcl_Interp * interp, const char * slaveName); extern Tcl_Channel Tcl_GetStdChannel (int type); extern const char * Tcl_GetStringResult ( Tcl_Interp * interp); extern const char * Tcl_GetVar (Tcl_Interp * interp, const char * varName, int flags); extern const char * Tcl_GetVar2 (Tcl_Interp * interp, const char * part1, const char * part2, int flags); extern int Tcl_GlobalEval (Tcl_Interp * interp, const char * command); extern int Tcl_GlobalEvalObj (Tcl_Interp * interp, Tcl_Obj * objPtr); extern int Tcl_HideCommand (Tcl_Interp * interp, const char * cmdName, const char * hiddenCmdToken); extern int Tcl_Init (Tcl_Interp * interp); extern void Tcl_InitHashTable ( Tcl_HashTable * tablePtr, int keyType); extern int Tcl_InputBlocked (Tcl_Channel chan); extern int Tcl_InputBuffered (Tcl_Channel chan); extern int Tcl_InterpDeleted (Tcl_Interp * interp); extern int Tcl_IsSafe (Tcl_Interp * interp); extern char * Tcl_JoinPath (int argc, const char * const * argv, Tcl_DString * resultPtr); extern int Tcl_LinkVar (Tcl_Interp * interp, const char * varName, char * addr, int type); extern Tcl_Channel Tcl_MakeFileChannel (ClientData handle, int mode); extern int Tcl_MakeSafe (Tcl_Interp * interp); extern Tcl_Channel Tcl_MakeTcpClientChannel ( ClientData tcpSocket); extern char * Tcl_Merge (int argc, const char * const * argv); extern Tcl_HashEntry * Tcl_NextHashEntry ( Tcl_HashSearch * searchPtr); extern void Tcl_NotifyChannel (Tcl_Channel channel, int mask); extern Tcl_Obj * Tcl_ObjGetVar2 (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags); extern Tcl_Obj * Tcl_ObjSetVar2 (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags); extern Tcl_Channel Tcl_OpenCommandChannel ( Tcl_Interp * interp, int argc, const char ** argv, int flags); # 651 "/usr/local/include/tclDecls.h" 3 extern Tcl_Channel Tcl_OpenFileChannel (Tcl_Interp * interp, const char * fileName, const char * modeString, int permissions); extern Tcl_Channel Tcl_OpenTcpClient (Tcl_Interp * interp, int port, const char * address, const char * myaddr, int myport, int async); extern Tcl_Channel Tcl_OpenTcpServer (Tcl_Interp * interp, int port, const char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData); extern void Tcl_Preserve (ClientData data); extern void Tcl_PrintDouble (Tcl_Interp * interp, double value, char * dst); extern int Tcl_PutEnv (const char * string); extern const char * Tcl_PosixError (Tcl_Interp * interp); extern void Tcl_QueueEvent (Tcl_Event * evPtr, Tcl_QueuePosition position); extern int Tcl_Read (Tcl_Channel chan, char * bufPtr, int toRead); extern void Tcl_ReapDetachedProcs (void); extern int Tcl_RecordAndEval (Tcl_Interp * interp, const char * cmd, int flags); extern int Tcl_RecordAndEvalObj ( Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags); extern void Tcl_RegisterChannel (Tcl_Interp * interp, Tcl_Channel chan); extern void Tcl_RegisterObjType ( Tcl_ObjType * typePtr); extern Tcl_RegExp Tcl_RegExpCompile (Tcl_Interp * interp, const char * string); extern int Tcl_RegExpExec (Tcl_Interp * interp, Tcl_RegExp regexp, const char * str, const char * start); extern int Tcl_RegExpMatch (Tcl_Interp * interp, const char * str, const char * pattern); extern void Tcl_RegExpRange (Tcl_RegExp regexp, int index, const char ** startPtr, const char ** endPtr); extern void Tcl_Release (ClientData clientData); extern void Tcl_ResetResult (Tcl_Interp * interp); extern int Tcl_ScanElement (const char * str, int * flagPtr); extern int Tcl_ScanCountedElement (const char * str, int length, int * flagPtr); extern int Tcl_SeekOld (Tcl_Channel chan, int offset, int mode); extern int Tcl_ServiceAll (void); extern int Tcl_ServiceEvent (int flags); extern void Tcl_SetAssocData (Tcl_Interp * interp, const char * name, Tcl_InterpDeleteProc * proc, ClientData clientData); extern void Tcl_SetChannelBufferSize ( Tcl_Channel chan, int sz); extern int Tcl_SetChannelOption ( Tcl_Interp * interp, Tcl_Channel chan, const char * optionName, const char * newValue); extern int Tcl_SetCommandInfo (Tcl_Interp * interp, const char * cmdName, const Tcl_CmdInfo * infoPtr); extern void Tcl_SetErrno (int err); extern void Tcl_SetErrorCode (Tcl_Interp * interp, ...); extern void Tcl_SetMaxBlockTime (Tcl_Time * timePtr); extern void Tcl_SetPanicProc ( Tcl_PanicProc * panicProc); extern int Tcl_SetRecursionLimit ( Tcl_Interp * interp, int depth); extern void Tcl_SetResult (Tcl_Interp * interp, char * str, Tcl_FreeProc * freeProc); extern int Tcl_SetServiceMode (int mode); extern void Tcl_SetObjErrorCode (Tcl_Interp * interp, Tcl_Obj * errorObjPtr); extern void Tcl_SetObjResult (Tcl_Interp * interp, Tcl_Obj * resultObjPtr); extern void Tcl_SetStdChannel (Tcl_Channel channel, int type); extern const char * Tcl_SetVar (Tcl_Interp * interp, const char * varName, const char * newValue, int flags); extern const char * Tcl_SetVar2 (Tcl_Interp * interp, const char * part1, const char * part2, const char * newValue, int flags); extern const char * Tcl_SignalId (int sig); extern const char * Tcl_SignalMsg (int sig); extern void Tcl_SourceRCFile (Tcl_Interp * interp); extern int Tcl_SplitList (Tcl_Interp * interp, const char * listStr, int * argcPtr, const char *** argvPtr); extern void Tcl_SplitPath (const char * path, int * argcPtr, const char *** argvPtr); extern void Tcl_StaticPackage (Tcl_Interp * interp, const char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc); extern int Tcl_StringMatch (const char * str, const char * pattern); extern int Tcl_TellOld (Tcl_Channel chan); extern int Tcl_TraceVar (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData); extern int Tcl_TraceVar2 (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData); extern char * Tcl_TranslateFileName ( Tcl_Interp * interp, const char * name, Tcl_DString * bufferPtr); extern int Tcl_Ungets (Tcl_Channel chan, const char * str, int len, int atHead); extern void Tcl_UnlinkVar (Tcl_Interp * interp, const char * varName); extern int Tcl_UnregisterChannel ( Tcl_Interp * interp, Tcl_Channel chan); extern int Tcl_UnsetVar (Tcl_Interp * interp, const char * varName, int flags); extern int Tcl_UnsetVar2 (Tcl_Interp * interp, const char * part1, const char * part2, int flags); extern void Tcl_UntraceVar (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData); extern void Tcl_UntraceVar2 (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData); extern void Tcl_UpdateLinkedVar (Tcl_Interp * interp, const char * varName); extern int Tcl_UpVar (Tcl_Interp * interp, const char * frameName, const char * varName, const char * localName, int flags); extern int Tcl_UpVar2 (Tcl_Interp * interp, const char * frameName, const char * part1, const char * part2, const char * localName, int flags); extern int Tcl_VarEval (Tcl_Interp * interp, ...); extern ClientData Tcl_VarTraceInfo (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData); extern ClientData Tcl_VarTraceInfo2 (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData); extern int Tcl_Write (Tcl_Channel chan, const char * s, int slen); extern void Tcl_WrongNumArgs (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], const char * message); extern int Tcl_DumpActiveMemory ( const char * fileName); extern void Tcl_ValidateAllMemory (const char * file, int line); extern void Tcl_AppendResultVA (Tcl_Interp * interp, va_list argList); extern void Tcl_AppendStringsToObjVA ( Tcl_Obj * objPtr, va_list argList); extern const char * Tcl_HashStats ( Tcl_HashTable * tablePtr); extern const char * Tcl_ParseVar (Tcl_Interp * interp, const char * str, const char ** termPtr); extern const char * Tcl_PkgPresent (Tcl_Interp * interp, const char * name, const char * version, int exact); extern const char * Tcl_PkgPresentEx ( Tcl_Interp * interp, const char * name, const char * version, int exact, ClientData * clientDataPtr); extern int Tcl_PkgProvide (Tcl_Interp * interp, const char * name, const char * version); extern const char * Tcl_PkgRequire (Tcl_Interp * interp, const char * name, const char * version, int exact); extern void Tcl_SetErrorCodeVA (Tcl_Interp * interp, va_list argList); extern int Tcl_VarEvalVA (Tcl_Interp * interp, va_list argList); extern Tcl_Pid Tcl_WaitPid (Tcl_Pid pid, int * statPtr, int options); extern void Tcl_PanicVA (const char * format, va_list argList); extern void Tcl_GetVersion (int * major, int * minor, int * patchLevel, int * type); extern void Tcl_InitMemory (Tcl_Interp * interp); extern Tcl_Channel Tcl_StackChannel (Tcl_Interp * interp, Tcl_ChannelType * typePtr, ClientData instanceData, int mask, Tcl_Channel prevChan); extern int Tcl_UnstackChannel (Tcl_Interp * interp, Tcl_Channel chan); extern Tcl_Channel Tcl_GetStackedChannel (Tcl_Channel chan); extern void Tcl_SetMainLoop (Tcl_MainLoopProc * proc); extern void Tcl_AppendObjToObj (Tcl_Obj * objPtr, Tcl_Obj * appendObjPtr); extern Tcl_Encoding Tcl_CreateEncoding ( Tcl_EncodingType * typePtr); extern void Tcl_CreateThreadExitHandler ( Tcl_ExitProc * proc, ClientData clientData); extern void Tcl_DeleteThreadExitHandler ( Tcl_ExitProc * proc, ClientData clientData); extern void Tcl_DiscardResult ( Tcl_SavedResult * statePtr); extern int Tcl_EvalEx (Tcl_Interp * interp, const char * script, int numBytes, int flags); extern int Tcl_EvalObjv (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); extern int Tcl_EvalObjEx (Tcl_Interp * interp, Tcl_Obj * objPtr, int flags); extern void Tcl_ExitThread (int status); extern int Tcl_ExternalToUtf (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); extern char * Tcl_ExternalToUtfDString ( Tcl_Encoding encoding, const char * src, int srcLen, Tcl_DString * dsPtr); extern void Tcl_FinalizeThread (void); extern void Tcl_FinalizeNotifier ( ClientData clientData); extern void Tcl_FreeEncoding (Tcl_Encoding encoding); extern Tcl_ThreadId Tcl_GetCurrentThread (void); extern Tcl_Encoding Tcl_GetEncoding (Tcl_Interp * interp, const char * name); extern const char * Tcl_GetEncodingName ( Tcl_Encoding encoding); extern void Tcl_GetEncodingNames ( Tcl_Interp * interp); extern int Tcl_GetIndexFromObjStruct ( Tcl_Interp * interp, Tcl_Obj * objPtr, const void * tablePtr, int offset, const char * msg, int flags, int * indexPtr); extern void * Tcl_GetThreadData ( Tcl_ThreadDataKey * keyPtr, int size); extern Tcl_Obj * Tcl_GetVar2Ex (Tcl_Interp * interp, const char * part1, const char * part2, int flags); extern ClientData Tcl_InitNotifier (void); extern void Tcl_MutexLock (Tcl_Mutex * mutexPtr); extern void Tcl_MutexUnlock (Tcl_Mutex * mutexPtr); extern void Tcl_ConditionNotify ( Tcl_Condition * condPtr); extern void Tcl_ConditionWait ( Tcl_Condition * condPtr, Tcl_Mutex * mutexPtr, Tcl_Time * timePtr); extern int Tcl_NumUtfChars (const char * src, int len); extern int Tcl_ReadChars (Tcl_Channel channel, Tcl_Obj * objPtr, int charsToRead, int appendFlag); extern void Tcl_RestoreResult (Tcl_Interp * interp, Tcl_SavedResult * statePtr); extern void Tcl_SaveResult (Tcl_Interp * interp, Tcl_SavedResult * statePtr); extern int Tcl_SetSystemEncoding ( Tcl_Interp * interp, const char * name); extern Tcl_Obj * Tcl_SetVar2Ex (Tcl_Interp * interp, const char * part1, const char * part2, Tcl_Obj * newValuePtr, int flags); extern void Tcl_ThreadAlert (Tcl_ThreadId threadId); extern void Tcl_ThreadQueueEvent ( Tcl_ThreadId threadId, Tcl_Event* evPtr, Tcl_QueuePosition position); extern Tcl_UniChar Tcl_UniCharAtIndex (const char * src, int index); extern Tcl_UniChar Tcl_UniCharToLower (int ch); extern Tcl_UniChar Tcl_UniCharToTitle (int ch); extern Tcl_UniChar Tcl_UniCharToUpper (int ch); extern int Tcl_UniCharToUtf (int ch, char * buf); extern const char * Tcl_UtfAtIndex (const char * src, int index); extern int Tcl_UtfCharComplete (const char * src, int len); extern int Tcl_UtfBackslash (const char * src, int * readPtr, char * dst); extern const char * Tcl_UtfFindFirst (const char * src, int ch); extern const char * Tcl_UtfFindLast (const char * src, int ch); extern const char * Tcl_UtfNext (const char * src); extern const char * Tcl_UtfPrev (const char * src, const char * start); extern int Tcl_UtfToExternal (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); extern char * Tcl_UtfToExternalDString ( Tcl_Encoding encoding, const char * src, int srcLen, Tcl_DString * dsPtr); extern int Tcl_UtfToLower (char * src); extern int Tcl_UtfToTitle (char * src); extern int Tcl_UtfToUniChar (const char * src, Tcl_UniChar * chPtr); extern int Tcl_UtfToUpper (char * src); extern int Tcl_WriteChars (Tcl_Channel chan, const char * src, int srcLen); extern int Tcl_WriteObj (Tcl_Channel chan, Tcl_Obj * objPtr); extern char * Tcl_GetString (Tcl_Obj * objPtr); extern const char * Tcl_GetDefaultEncodingDir (void); extern void Tcl_SetDefaultEncodingDir ( const char * path); extern void Tcl_AlertNotifier (ClientData clientData); extern void Tcl_ServiceModeHook (int mode); extern int Tcl_UniCharIsAlnum (int ch); extern int Tcl_UniCharIsAlpha (int ch); extern int Tcl_UniCharIsDigit (int ch); extern int Tcl_UniCharIsLower (int ch); extern int Tcl_UniCharIsSpace (int ch); extern int Tcl_UniCharIsUpper (int ch); extern int Tcl_UniCharIsWordChar (int ch); extern int Tcl_UniCharLen (const Tcl_UniChar * str); extern int Tcl_UniCharNcmp (const Tcl_UniChar * cs, const Tcl_UniChar * ct, unsigned long n); extern char * Tcl_UniCharToUtfDString ( const Tcl_UniChar * string, int numChars, Tcl_DString * dsPtr); extern Tcl_UniChar * Tcl_UtfToUniCharDString ( const char * string, int length, Tcl_DString * dsPtr); extern Tcl_RegExp Tcl_GetRegExpFromObj ( Tcl_Interp * interp, Tcl_Obj * patObj, int flags); extern Tcl_Obj * Tcl_EvalTokens (Tcl_Interp * interp, Tcl_Token * tokenPtr, int count); extern void Tcl_FreeParse (Tcl_Parse * parsePtr); extern void Tcl_LogCommandInfo (Tcl_Interp * interp, const char * script, const char * command, int length); extern int Tcl_ParseBraces (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append, const char ** termPtr); extern int Tcl_ParseCommand (Tcl_Interp * interp, const char * string, int numBytes, int nested, Tcl_Parse * parsePtr); extern int Tcl_ParseExpr (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr); extern int Tcl_ParseQuotedString ( Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append, const char ** termPtr); extern int Tcl_ParseVarName (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append); extern char * Tcl_GetCwd (Tcl_Interp * interp, Tcl_DString * cwdPtr); extern int Tcl_Chdir (const char * dirName); extern int Tcl_Access (const char * path, int mode); extern int Tcl_Stat (const char * path, struct stat * bufPtr); extern int Tcl_UtfNcmp (const char * s1, const char * s2, unsigned long n); extern int Tcl_UtfNcasecmp (const char * s1, const char * s2, unsigned long n); extern int Tcl_StringCaseMatch (const char * str, const char * pattern, int nocase); extern int Tcl_UniCharIsControl (int ch); extern int Tcl_UniCharIsGraph (int ch); extern int Tcl_UniCharIsPrint (int ch); extern int Tcl_UniCharIsPunct (int ch); extern int Tcl_RegExpExecObj (Tcl_Interp * interp, Tcl_RegExp regexp, Tcl_Obj * objPtr, int offset, int nmatches, int flags); extern void Tcl_RegExpGetInfo (Tcl_RegExp regexp, Tcl_RegExpInfo * infoPtr); extern Tcl_Obj * Tcl_NewUnicodeObj ( const Tcl_UniChar * unicode, int numChars); extern void Tcl_SetUnicodeObj (Tcl_Obj * objPtr, const Tcl_UniChar * unicode, int numChars); extern int Tcl_GetCharLength (Tcl_Obj * objPtr); extern Tcl_UniChar Tcl_GetUniChar (Tcl_Obj * objPtr, int index); extern Tcl_UniChar * Tcl_GetUnicode (Tcl_Obj * objPtr); extern Tcl_Obj * Tcl_GetRange (Tcl_Obj * objPtr, int first, int last); extern void Tcl_AppendUnicodeToObj (Tcl_Obj * objPtr, const Tcl_UniChar * unicode, int length); extern int Tcl_RegExpMatchObj (Tcl_Interp * interp, Tcl_Obj * stringObj, Tcl_Obj * patternObj); extern void Tcl_SetNotifier ( Tcl_NotifierProcs * notifierProcPtr); extern Tcl_Mutex * Tcl_GetAllocMutex (void); extern int Tcl_GetChannelNames (Tcl_Interp * interp); extern int Tcl_GetChannelNamesEx ( Tcl_Interp * interp, const char * pattern); extern int Tcl_ProcObjCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern void Tcl_ConditionFinalize ( Tcl_Condition * condPtr); extern void Tcl_MutexFinalize (Tcl_Mutex * mutex); extern int Tcl_CreateThread (Tcl_ThreadId * idPtr, Tcl_ThreadCreateProc proc, ClientData clientData, int stackSize, int flags); extern int Tcl_ReadRaw (Tcl_Channel chan, char * dst, int bytesToRead); extern int Tcl_WriteRaw (Tcl_Channel chan, const char * src, int srcLen); extern Tcl_Channel Tcl_GetTopChannel (Tcl_Channel chan); extern int Tcl_ChannelBuffered (Tcl_Channel chan); extern const char * Tcl_ChannelName ( Tcl_ChannelType * chanTypePtr); extern Tcl_ChannelTypeVersion Tcl_ChannelVersion ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverBlockModeProc * Tcl_ChannelBlockModeProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverCloseProc * Tcl_ChannelCloseProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverClose2Proc * Tcl_ChannelClose2Proc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverInputProc * Tcl_ChannelInputProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverOutputProc * Tcl_ChannelOutputProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverSeekProc * Tcl_ChannelSeekProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverSetOptionProc * Tcl_ChannelSetOptionProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverGetOptionProc * Tcl_ChannelGetOptionProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverWatchProc * Tcl_ChannelWatchProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverGetHandleProc * Tcl_ChannelGetHandleProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverFlushProc * Tcl_ChannelFlushProc ( Tcl_ChannelType * chanTypePtr); extern Tcl_DriverHandlerProc * Tcl_ChannelHandlerProc ( Tcl_ChannelType * chanTypePtr); extern int Tcl_JoinThread (Tcl_ThreadId id, int* result); extern int Tcl_IsChannelShared (Tcl_Channel channel); extern int Tcl_IsChannelRegistered ( Tcl_Interp* interp, Tcl_Channel channel); extern void Tcl_CutChannel (Tcl_Channel channel); extern void Tcl_SpliceChannel (Tcl_Channel channel); extern void Tcl_ClearChannelHandlers ( Tcl_Channel channel); extern int Tcl_IsChannelExisting ( const char* channelName); extern int Tcl_UniCharNcasecmp ( const Tcl_UniChar * cs, const Tcl_UniChar * ct, unsigned long n); extern int Tcl_UniCharCaseMatch ( const Tcl_UniChar * ustr, const Tcl_UniChar * pattern, int nocase); extern Tcl_HashEntry * Tcl_FindHashEntry ( Tcl_HashTable * tablePtr, const char * key); extern Tcl_HashEntry * Tcl_CreateHashEntry ( Tcl_HashTable * tablePtr, const char * key, int * newPtr); extern void Tcl_InitCustomHashTable ( Tcl_HashTable * tablePtr, int keyType, Tcl_HashKeyType * typePtr); extern void Tcl_InitObjHashTable ( Tcl_HashTable * tablePtr); extern ClientData Tcl_CommandTraceInfo ( Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData); extern int Tcl_TraceCommand (Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData); extern void Tcl_UntraceCommand (Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData); extern char * Tcl_AttemptAlloc (unsigned int size); extern char * Tcl_AttemptDbCkalloc (unsigned int size, const char * file, int line); extern char * Tcl_AttemptRealloc (char * ptr, unsigned int size); extern char * Tcl_AttemptDbCkrealloc (char * ptr, unsigned int size, const char * file, int line); extern int Tcl_AttemptSetObjLength ( Tcl_Obj * objPtr, int length); extern Tcl_ThreadId Tcl_GetChannelThread ( Tcl_Channel channel); extern Tcl_UniChar * Tcl_GetUnicodeFromObj (Tcl_Obj * objPtr, int * lengthPtr); extern int Tcl_GetMathFuncInfo (Tcl_Interp * interp, const char * name, int * numArgsPtr, Tcl_ValueType ** argTypesPtr, Tcl_MathProc ** procPtr, ClientData * clientDataPtr); extern Tcl_Obj * Tcl_ListMathFuncs (Tcl_Interp * interp, const char * pattern); extern Tcl_Obj * Tcl_SubstObj (Tcl_Interp * interp, Tcl_Obj * objPtr, int flags); extern int Tcl_DetachChannel (Tcl_Interp* interp, Tcl_Channel channel); extern int Tcl_IsStandardChannel ( Tcl_Channel channel); extern int Tcl_FSCopyFile (Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr); extern int Tcl_FSCopyDirectory ( Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr, Tcl_Obj ** errorPtr); extern int Tcl_FSCreateDirectory (Tcl_Obj * pathPtr); extern int Tcl_FSDeleteFile (Tcl_Obj * pathPtr); extern int Tcl_FSLoadFile (Tcl_Interp * interp, Tcl_Obj * pathPtr, const char * sym1, const char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, Tcl_LoadHandle * handlePtr, Tcl_FSUnloadFileProc ** unloadProcPtr); extern int Tcl_FSMatchInDirectory ( Tcl_Interp * interp, Tcl_Obj * result, Tcl_Obj * pathPtr, const char * pattern, Tcl_GlobTypeData * types); extern Tcl_Obj * Tcl_FSLink (Tcl_Obj * pathPtr, Tcl_Obj * toPtr, int linkAction); extern int Tcl_FSRemoveDirectory (Tcl_Obj * pathPtr, int recursive, Tcl_Obj ** errorPtr); extern int Tcl_FSRenameFile (Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr); extern int Tcl_FSLstat (Tcl_Obj * pathPtr, Tcl_StatBuf * buf); extern int Tcl_FSUtime (Tcl_Obj * pathPtr, struct utimbuf * tval); extern int Tcl_FSFileAttrsGet (Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef); extern int Tcl_FSFileAttrsSet (Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj * objPtr); extern const char ** Tcl_FSFileAttrStrings (Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef); extern int Tcl_FSStat (Tcl_Obj * pathPtr, Tcl_StatBuf * buf); extern int Tcl_FSAccess (Tcl_Obj * pathPtr, int mode); extern Tcl_Channel Tcl_FSOpenFileChannel ( Tcl_Interp * interp, Tcl_Obj * pathPtr, const char * modeString, int permissions); extern Tcl_Obj* Tcl_FSGetCwd (Tcl_Interp * interp); extern int Tcl_FSChdir (Tcl_Obj * pathPtr); extern int Tcl_FSConvertToPathType ( Tcl_Interp * interp, Tcl_Obj * pathPtr); extern Tcl_Obj* Tcl_FSJoinPath (Tcl_Obj * listObj, int elements); extern Tcl_Obj* Tcl_FSSplitPath (Tcl_Obj* pathPtr, int * lenPtr); extern int Tcl_FSEqualPaths (Tcl_Obj* firstPtr, Tcl_Obj* secondPtr); extern Tcl_Obj* Tcl_FSGetNormalizedPath ( Tcl_Interp * interp, Tcl_Obj* pathObjPtr); extern Tcl_Obj* Tcl_FSJoinToPath (Tcl_Obj * basePtr, int objc, Tcl_Obj *const objv[]); extern ClientData Tcl_FSGetInternalRep ( Tcl_Obj* pathObjPtr, Tcl_Filesystem * fsPtr); extern Tcl_Obj* Tcl_FSGetTranslatedPath ( Tcl_Interp * interp, Tcl_Obj* pathPtr); extern int Tcl_FSEvalFile (Tcl_Interp * interp, Tcl_Obj * fileName); extern Tcl_Obj* Tcl_FSNewNativePath ( Tcl_Filesystem* fromFilesystem, ClientData clientData); extern const char* Tcl_FSGetNativePath (Tcl_Obj* pathObjPtr); extern Tcl_Obj* Tcl_FSFileSystemInfo ( Tcl_Obj* pathObjPtr); extern Tcl_Obj* Tcl_FSPathSeparator (Tcl_Obj* pathObjPtr); extern Tcl_Obj* Tcl_FSListVolumes (void); extern int Tcl_FSRegister (ClientData clientData, Tcl_Filesystem * fsPtr); extern int Tcl_FSUnregister (Tcl_Filesystem * fsPtr); extern ClientData Tcl_FSData (Tcl_Filesystem * fsPtr); extern const char* Tcl_FSGetTranslatedStringPath ( Tcl_Interp * interp, Tcl_Obj* pathPtr); extern Tcl_Filesystem* Tcl_FSGetFileSystemForPath ( Tcl_Obj* pathObjPtr); extern Tcl_PathType Tcl_FSGetPathType (Tcl_Obj * pathObjPtr); extern int Tcl_OutputBuffered (Tcl_Channel chan); extern void Tcl_FSMountsChanged ( Tcl_Filesystem * fsPtr); extern int Tcl_EvalTokensStandard ( Tcl_Interp * interp, Tcl_Token * tokenPtr, int count); extern void Tcl_GetTime (Tcl_Time* timeBuf); extern Tcl_Trace Tcl_CreateObjTrace (Tcl_Interp* interp, int level, int flags, Tcl_CmdObjTraceProc* objProc, ClientData clientData, Tcl_CmdObjTraceDeleteProc* delProc); extern int Tcl_GetCommandInfoFromToken ( Tcl_Command token, Tcl_CmdInfo* infoPtr); extern int Tcl_SetCommandInfoFromToken ( Tcl_Command token, const Tcl_CmdInfo* infoPtr); extern Tcl_Obj * Tcl_DbNewWideIntObj ( Tcl_WideInt wideValue, const char * file, int line); extern int Tcl_GetWideIntFromObj ( Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_WideInt * widePtr); extern Tcl_Obj * Tcl_NewWideIntObj (Tcl_WideInt wideValue); extern void Tcl_SetWideIntObj (Tcl_Obj * objPtr, Tcl_WideInt wideValue); extern Tcl_StatBuf * Tcl_AllocStatBuf (void); extern Tcl_WideInt Tcl_Seek (Tcl_Channel chan, Tcl_WideInt offset, int mode); extern Tcl_WideInt Tcl_Tell (Tcl_Channel chan); extern Tcl_DriverWideSeekProc * Tcl_ChannelWideSeekProc ( Tcl_ChannelType * chanTypePtr); typedef struct TclStubHooks { struct TclPlatStubs *tclPlatStubs; struct TclIntStubs *tclIntStubs; struct TclIntPlatStubs *tclIntPlatStubs; } TclStubHooks; typedef struct TclStubs { int magic; struct TclStubHooks *hooks; int (*tcl_PkgProvideEx) (Tcl_Interp* interp, const char* name, const char* version, ClientData clientData); const char * (*tcl_PkgRequireEx) (Tcl_Interp * interp, const char * name, const char * version, int exact, ClientData * clientDataPtr); void (*tcl_Panic) (const char * format, ...); char * (*tcl_Alloc) (unsigned int size); void (*tcl_Free) (char * ptr); char * (*tcl_Realloc) (char * ptr, unsigned int size); char * (*tcl_DbCkalloc) (unsigned int size, const char * file, int line); int (*tcl_DbCkfree) (char * ptr, const char * file, int line); char * (*tcl_DbCkrealloc) (char * ptr, unsigned int size, const char * file, int line); void (*tcl_CreateFileHandler) (int fd, int mask, Tcl_FileProc * proc, ClientData clientData); # 1597 "/usr/local/include/tclDecls.h" 3 void (*tcl_DeleteFileHandler) (int fd); void (*tcl_SetTimer) (Tcl_Time * timePtr); void (*tcl_Sleep) (int ms); int (*tcl_WaitForEvent) (Tcl_Time * timePtr); int (*tcl_AppendAllObjTypes) (Tcl_Interp * interp, Tcl_Obj * objPtr); void (*tcl_AppendStringsToObj) (Tcl_Obj * objPtr, ...); void (*tcl_AppendToObj) (Tcl_Obj* objPtr, const char* bytes, int length); Tcl_Obj * (*tcl_ConcatObj) (int objc, Tcl_Obj *const objv[]); int (*tcl_ConvertToType) (Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr); void (*tcl_DbDecrRefCount) (Tcl_Obj * objPtr, const char * file, int line); void (*tcl_DbIncrRefCount) (Tcl_Obj * objPtr, const char * file, int line); int (*tcl_DbIsShared) (Tcl_Obj * objPtr, const char * file, int line); Tcl_Obj * (*tcl_DbNewBooleanObj) (int boolValue, const char * file, int line); Tcl_Obj * (*tcl_DbNewByteArrayObj) (const unsigned char * bytes, int length, const char * file, int line); Tcl_Obj * (*tcl_DbNewDoubleObj) (double doubleValue, const char * file, int line); Tcl_Obj * (*tcl_DbNewListObj) (int objc, Tcl_Obj *const * objv, const char * file, int line); Tcl_Obj * (*tcl_DbNewLongObj) (long longValue, const char * file, int line); Tcl_Obj * (*tcl_DbNewObj) (const char * file, int line); Tcl_Obj * (*tcl_DbNewStringObj) (const char * bytes, int length, const char * file, int line); Tcl_Obj * (*tcl_DuplicateObj) (Tcl_Obj * objPtr); void (*tclFreeObj) (Tcl_Obj * objPtr); int (*tcl_GetBoolean) (Tcl_Interp * interp, const char * str, int * boolPtr); int (*tcl_GetBooleanFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr); unsigned char * (*tcl_GetByteArrayFromObj) (Tcl_Obj * objPtr, int * lengthPtr); int (*tcl_GetDouble) (Tcl_Interp * interp, const char * str, double * doublePtr); int (*tcl_GetDoubleFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr); int (*tcl_GetIndexFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, const char ** tablePtr, const char * msg, int flags, int * indexPtr); int (*tcl_GetInt) (Tcl_Interp * interp, const char * str, int * intPtr); int (*tcl_GetIntFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr); int (*tcl_GetLongFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr); Tcl_ObjType * (*tcl_GetObjType) (const char * typeName); char * (*tcl_GetStringFromObj) (Tcl_Obj * objPtr, int * lengthPtr); void (*tcl_InvalidateStringRep) (Tcl_Obj * objPtr); int (*tcl_ListObjAppendList) (Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr); int (*tcl_ListObjAppendElement) (Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr); int (*tcl_ListObjGetElements) (Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr); int (*tcl_ListObjIndex) (Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr); int (*tcl_ListObjLength) (Tcl_Interp * interp, Tcl_Obj * listPtr, int * lengthPtr); int (*tcl_ListObjReplace) (Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *const objv[]); Tcl_Obj * (*tcl_NewBooleanObj) (int boolValue); Tcl_Obj * (*tcl_NewByteArrayObj) (const unsigned char* bytes, int length); Tcl_Obj * (*tcl_NewDoubleObj) (double doubleValue); Tcl_Obj * (*tcl_NewIntObj) (int intValue); Tcl_Obj * (*tcl_NewListObj) (int objc, Tcl_Obj *const objv[]); Tcl_Obj * (*tcl_NewLongObj) (long longValue); Tcl_Obj * (*tcl_NewObj) (void); Tcl_Obj * (*tcl_NewStringObj) (const char * bytes, int length); void (*tcl_SetBooleanObj) (Tcl_Obj * objPtr, int boolValue); unsigned char * (*tcl_SetByteArrayLength) (Tcl_Obj * objPtr, int length); void (*tcl_SetByteArrayObj) (Tcl_Obj * objPtr, const unsigned char * bytes, int length); void (*tcl_SetDoubleObj) (Tcl_Obj * objPtr, double doubleValue); void (*tcl_SetIntObj) (Tcl_Obj * objPtr, int intValue); void (*tcl_SetListObj) (Tcl_Obj * objPtr, int objc, Tcl_Obj *const objv[]); void (*tcl_SetLongObj) (Tcl_Obj * objPtr, long longValue); void (*tcl_SetObjLength) (Tcl_Obj * objPtr, int length); void (*tcl_SetStringObj) (Tcl_Obj* objPtr, const char* bytes, int length); void (*tcl_AddErrorInfo) (Tcl_Interp * interp, const char * message); void (*tcl_AddObjErrorInfo) (Tcl_Interp * interp, const char * message, int length); void (*tcl_AllowExceptions) (Tcl_Interp * interp); void (*tcl_AppendElement) (Tcl_Interp * interp, const char * string); void (*tcl_AppendResult) (Tcl_Interp * interp, ...); Tcl_AsyncHandler (*tcl_AsyncCreate) (Tcl_AsyncProc * proc, ClientData clientData); void (*tcl_AsyncDelete) (Tcl_AsyncHandler async); int (*tcl_AsyncInvoke) (Tcl_Interp * interp, int code); void (*tcl_AsyncMark) (Tcl_AsyncHandler async); int (*tcl_AsyncReady) (void); void (*tcl_BackgroundError) (Tcl_Interp * interp); char (*tcl_Backslash) (const char * src, int * readPtr); int (*tcl_BadChannelOption) (Tcl_Interp * interp, const char * optionName, const char * optionList); void (*tcl_CallWhenDeleted) (Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData); void (*tcl_CancelIdleCall) (Tcl_IdleProc * idleProc, ClientData clientData); int (*tcl_Close) (Tcl_Interp * interp, Tcl_Channel chan); int (*tcl_CommandComplete) (const char * cmd); char * (*tcl_Concat) (int argc, const char * const * argv); int (*tcl_ConvertElement) (const char * src, char * dst, int flags); int (*tcl_ConvertCountedElement) (const char * src, int length, char * dst, int flags); int (*tcl_CreateAlias) (Tcl_Interp * slave, const char * slaveCmd, Tcl_Interp * target, const char * targetCmd, int argc, const char * const * argv); int (*tcl_CreateAliasObj) (Tcl_Interp * slave, const char * slaveCmd, Tcl_Interp * target, const char * targetCmd, int objc, Tcl_Obj *const objv[]); Tcl_Channel (*tcl_CreateChannel) (Tcl_ChannelType * typePtr, const char * chanName, ClientData instanceData, int mask); void (*tcl_CreateChannelHandler) (Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData); void (*tcl_CreateCloseHandler) (Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData); Tcl_Command (*tcl_CreateCommand) (Tcl_Interp * interp, const char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); void (*tcl_CreateEventSource) (Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData); void (*tcl_CreateExitHandler) (Tcl_ExitProc * proc, ClientData clientData); Tcl_Interp * (*tcl_CreateInterp) (void); void (*tcl_CreateMathFunc) (Tcl_Interp * interp, const char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData); Tcl_Command (*tcl_CreateObjCommand) (Tcl_Interp * interp, const char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); Tcl_Interp * (*tcl_CreateSlave) (Tcl_Interp * interp, const char * slaveName, int isSafe); Tcl_TimerToken (*tcl_CreateTimerHandler) (int milliseconds, Tcl_TimerProc * proc, ClientData clientData); Tcl_Trace (*tcl_CreateTrace) (Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData); void (*tcl_DeleteAssocData) (Tcl_Interp * interp, const char * name); void (*tcl_DeleteChannelHandler) (Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData); void (*tcl_DeleteCloseHandler) (Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData); int (*tcl_DeleteCommand) (Tcl_Interp * interp, const char * cmdName); int (*tcl_DeleteCommandFromToken) (Tcl_Interp * interp, Tcl_Command command); void (*tcl_DeleteEvents) (Tcl_EventDeleteProc * proc, ClientData clientData); void (*tcl_DeleteEventSource) (Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData); void (*tcl_DeleteExitHandler) (Tcl_ExitProc * proc, ClientData clientData); void (*tcl_DeleteHashEntry) (Tcl_HashEntry * entryPtr); void (*tcl_DeleteHashTable) (Tcl_HashTable * tablePtr); void (*tcl_DeleteInterp) (Tcl_Interp * interp); void (*tcl_DetachPids) (int numPids, Tcl_Pid * pidPtr); void (*tcl_DeleteTimerHandler) (Tcl_TimerToken token); void (*tcl_DeleteTrace) (Tcl_Interp * interp, Tcl_Trace trace); void (*tcl_DontCallWhenDeleted) (Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData); int (*tcl_DoOneEvent) (int flags); void (*tcl_DoWhenIdle) (Tcl_IdleProc * proc, ClientData clientData); char * (*tcl_DStringAppend) (Tcl_DString * dsPtr, const char * str, int length); char * (*tcl_DStringAppendElement) (Tcl_DString * dsPtr, const char * string); void (*tcl_DStringEndSublist) (Tcl_DString * dsPtr); void (*tcl_DStringFree) (Tcl_DString * dsPtr); void (*tcl_DStringGetResult) (Tcl_Interp * interp, Tcl_DString * dsPtr); void (*tcl_DStringInit) (Tcl_DString * dsPtr); void (*tcl_DStringResult) (Tcl_Interp * interp, Tcl_DString * dsPtr); void (*tcl_DStringSetLength) (Tcl_DString * dsPtr, int length); void (*tcl_DStringStartSublist) (Tcl_DString * dsPtr); int (*tcl_Eof) (Tcl_Channel chan); const char * (*tcl_ErrnoId) (void); const char * (*tcl_ErrnoMsg) (int err); int (*tcl_Eval) (Tcl_Interp * interp, const char * string); int (*tcl_EvalFile) (Tcl_Interp * interp, const char * fileName); int (*tcl_EvalObj) (Tcl_Interp * interp, Tcl_Obj * objPtr); void (*tcl_EventuallyFree) (ClientData clientData, Tcl_FreeProc * freeProc); void (*tcl_Exit) (int status); int (*tcl_ExposeCommand) (Tcl_Interp * interp, const char * hiddenCmdToken, const char * cmdName); int (*tcl_ExprBoolean) (Tcl_Interp * interp, const char * str, int * ptr); int (*tcl_ExprBooleanObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr); int (*tcl_ExprDouble) (Tcl_Interp * interp, const char * str, double * ptr); int (*tcl_ExprDoubleObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr); int (*tcl_ExprLong) (Tcl_Interp * interp, const char * str, long * ptr); int (*tcl_ExprLongObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr); int (*tcl_ExprObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr); int (*tcl_ExprString) (Tcl_Interp * interp, const char * string); void (*tcl_Finalize) (void); void (*tcl_FindExecutable) (const char * argv0); Tcl_HashEntry * (*tcl_FirstHashEntry) (Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr); int (*tcl_Flush) (Tcl_Channel chan); void (*tcl_FreeResult) (Tcl_Interp * interp); int (*tcl_GetAlias) (Tcl_Interp * interp, const char * slaveCmd, Tcl_Interp ** targetInterpPtr, const char ** targetCmdPtr, int * argcPtr, const char *** argvPtr); int (*tcl_GetAliasObj) (Tcl_Interp * interp, const char * slaveCmd, Tcl_Interp ** targetInterpPtr, const char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv); ClientData (*tcl_GetAssocData) (Tcl_Interp * interp, const char * name, Tcl_InterpDeleteProc ** procPtr); Tcl_Channel (*tcl_GetChannel) (Tcl_Interp * interp, const char * chanName, int * modePtr); int (*tcl_GetChannelBufferSize) (Tcl_Channel chan); int (*tcl_GetChannelHandle) (Tcl_Channel chan, int direction, ClientData * handlePtr); ClientData (*tcl_GetChannelInstanceData) (Tcl_Channel chan); int (*tcl_GetChannelMode) (Tcl_Channel chan); const char * (*tcl_GetChannelName) (Tcl_Channel chan); int (*tcl_GetChannelOption) (Tcl_Interp * interp, Tcl_Channel chan, const char * optionName, Tcl_DString * dsPtr); Tcl_ChannelType * (*tcl_GetChannelType) (Tcl_Channel chan); int (*tcl_GetCommandInfo) (Tcl_Interp * interp, const char * cmdName, Tcl_CmdInfo * infoPtr); const char * (*tcl_GetCommandName) (Tcl_Interp * interp, Tcl_Command command); int (*tcl_GetErrno) (void); const char * (*tcl_GetHostName) (void); int (*tcl_GetInterpPath) (Tcl_Interp * askInterp, Tcl_Interp * slaveInterp); Tcl_Interp * (*tcl_GetMaster) (Tcl_Interp * interp); const char * (*tcl_GetNameOfExecutable) (void); Tcl_Obj * (*tcl_GetObjResult) (Tcl_Interp * interp); int (*tcl_GetOpenFile) (Tcl_Interp * interp, const char * str, int forWriting, int checkUsage, ClientData * filePtr); Tcl_PathType (*tcl_GetPathType) (const char * path); int (*tcl_Gets) (Tcl_Channel chan, Tcl_DString * dsPtr); int (*tcl_GetsObj) (Tcl_Channel chan, Tcl_Obj * objPtr); int (*tcl_GetServiceMode) (void); Tcl_Interp * (*tcl_GetSlave) (Tcl_Interp * interp, const char * slaveName); Tcl_Channel (*tcl_GetStdChannel) (int type); const char * (*tcl_GetStringResult) (Tcl_Interp * interp); const char * (*tcl_GetVar) (Tcl_Interp * interp, const char * varName, int flags); const char * (*tcl_GetVar2) (Tcl_Interp * interp, const char * part1, const char * part2, int flags); int (*tcl_GlobalEval) (Tcl_Interp * interp, const char * command); int (*tcl_GlobalEvalObj) (Tcl_Interp * interp, Tcl_Obj * objPtr); int (*tcl_HideCommand) (Tcl_Interp * interp, const char * cmdName, const char * hiddenCmdToken); int (*tcl_Init) (Tcl_Interp * interp); void (*tcl_InitHashTable) (Tcl_HashTable * tablePtr, int keyType); int (*tcl_InputBlocked) (Tcl_Channel chan); int (*tcl_InputBuffered) (Tcl_Channel chan); int (*tcl_InterpDeleted) (Tcl_Interp * interp); int (*tcl_IsSafe) (Tcl_Interp * interp); char * (*tcl_JoinPath) (int argc, const char * const * argv, Tcl_DString * resultPtr); int (*tcl_LinkVar) (Tcl_Interp * interp, const char * varName, char * addr, int type); void *reserved188; Tcl_Channel (*tcl_MakeFileChannel) (ClientData handle, int mode); int (*tcl_MakeSafe) (Tcl_Interp * interp); Tcl_Channel (*tcl_MakeTcpClientChannel) (ClientData tcpSocket); char * (*tcl_Merge) (int argc, const char * const * argv); Tcl_HashEntry * (*tcl_NextHashEntry) (Tcl_HashSearch * searchPtr); void (*tcl_NotifyChannel) (Tcl_Channel channel, int mask); Tcl_Obj * (*tcl_ObjGetVar2) (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags); Tcl_Obj * (*tcl_ObjSetVar2) (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags); Tcl_Channel (*tcl_OpenCommandChannel) (Tcl_Interp * interp, int argc, const char ** argv, int flags); Tcl_Channel (*tcl_OpenFileChannel) (Tcl_Interp * interp, const char * fileName, const char * modeString, int permissions); Tcl_Channel (*tcl_OpenTcpClient) (Tcl_Interp * interp, int port, const char * address, const char * myaddr, int myport, int async); Tcl_Channel (*tcl_OpenTcpServer) (Tcl_Interp * interp, int port, const char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData); void (*tcl_Preserve) (ClientData data); void (*tcl_PrintDouble) (Tcl_Interp * interp, double value, char * dst); int (*tcl_PutEnv) (const char * string); const char * (*tcl_PosixError) (Tcl_Interp * interp); void (*tcl_QueueEvent) (Tcl_Event * evPtr, Tcl_QueuePosition position); int (*tcl_Read) (Tcl_Channel chan, char * bufPtr, int toRead); void (*tcl_ReapDetachedProcs) (void); int (*tcl_RecordAndEval) (Tcl_Interp * interp, const char * cmd, int flags); int (*tcl_RecordAndEvalObj) (Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags); void (*tcl_RegisterChannel) (Tcl_Interp * interp, Tcl_Channel chan); void (*tcl_RegisterObjType) (Tcl_ObjType * typePtr); Tcl_RegExp (*tcl_RegExpCompile) (Tcl_Interp * interp, const char * string); int (*tcl_RegExpExec) (Tcl_Interp * interp, Tcl_RegExp regexp, const char * str, const char * start); int (*tcl_RegExpMatch) (Tcl_Interp * interp, const char * str, const char * pattern); void (*tcl_RegExpRange) (Tcl_RegExp regexp, int index, const char ** startPtr, const char ** endPtr); void (*tcl_Release) (ClientData clientData); void (*tcl_ResetResult) (Tcl_Interp * interp); int (*tcl_ScanElement) (const char * str, int * flagPtr); int (*tcl_ScanCountedElement) (const char * str, int length, int * flagPtr); int (*tcl_SeekOld) (Tcl_Channel chan, int offset, int mode); int (*tcl_ServiceAll) (void); int (*tcl_ServiceEvent) (int flags); void (*tcl_SetAssocData) (Tcl_Interp * interp, const char * name, Tcl_InterpDeleteProc * proc, ClientData clientData); void (*tcl_SetChannelBufferSize) (Tcl_Channel chan, int sz); int (*tcl_SetChannelOption) (Tcl_Interp * interp, Tcl_Channel chan, const char * optionName, const char * newValue); int (*tcl_SetCommandInfo) (Tcl_Interp * interp, const char * cmdName, const Tcl_CmdInfo * infoPtr); void (*tcl_SetErrno) (int err); void (*tcl_SetErrorCode) (Tcl_Interp * interp, ...); void (*tcl_SetMaxBlockTime) (Tcl_Time * timePtr); void (*tcl_SetPanicProc) (Tcl_PanicProc * panicProc); int (*tcl_SetRecursionLimit) (Tcl_Interp * interp, int depth); void (*tcl_SetResult) (Tcl_Interp * interp, char * str, Tcl_FreeProc * freeProc); int (*tcl_SetServiceMode) (int mode); void (*tcl_SetObjErrorCode) (Tcl_Interp * interp, Tcl_Obj * errorObjPtr); void (*tcl_SetObjResult) (Tcl_Interp * interp, Tcl_Obj * resultObjPtr); void (*tcl_SetStdChannel) (Tcl_Channel channel, int type); const char * (*tcl_SetVar) (Tcl_Interp * interp, const char * varName, const char * newValue, int flags); const char * (*tcl_SetVar2) (Tcl_Interp * interp, const char * part1, const char * part2, const char * newValue, int flags); const char * (*tcl_SignalId) (int sig); const char * (*tcl_SignalMsg) (int sig); void (*tcl_SourceRCFile) (Tcl_Interp * interp); int (*tcl_SplitList) (Tcl_Interp * interp, const char * listStr, int * argcPtr, const char *** argvPtr); void (*tcl_SplitPath) (const char * path, int * argcPtr, const char *** argvPtr); void (*tcl_StaticPackage) (Tcl_Interp * interp, const char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc); int (*tcl_StringMatch) (const char * str, const char * pattern); int (*tcl_TellOld) (Tcl_Channel chan); int (*tcl_TraceVar) (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData); int (*tcl_TraceVar2) (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData); char * (*tcl_TranslateFileName) (Tcl_Interp * interp, const char * name, Tcl_DString * bufferPtr); int (*tcl_Ungets) (Tcl_Channel chan, const char * str, int len, int atHead); void (*tcl_UnlinkVar) (Tcl_Interp * interp, const char * varName); int (*tcl_UnregisterChannel) (Tcl_Interp * interp, Tcl_Channel chan); int (*tcl_UnsetVar) (Tcl_Interp * interp, const char * varName, int flags); int (*tcl_UnsetVar2) (Tcl_Interp * interp, const char * part1, const char * part2, int flags); void (*tcl_UntraceVar) (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData); void (*tcl_UntraceVar2) (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData); void (*tcl_UpdateLinkedVar) (Tcl_Interp * interp, const char * varName); int (*tcl_UpVar) (Tcl_Interp * interp, const char * frameName, const char * varName, const char * localName, int flags); int (*tcl_UpVar2) (Tcl_Interp * interp, const char * frameName, const char * part1, const char * part2, const char * localName, int flags); int (*tcl_VarEval) (Tcl_Interp * interp, ...); ClientData (*tcl_VarTraceInfo) (Tcl_Interp * interp, const char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData); ClientData (*tcl_VarTraceInfo2) (Tcl_Interp * interp, const char * part1, const char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData); int (*tcl_Write) (Tcl_Channel chan, const char * s, int slen); void (*tcl_WrongNumArgs) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], const char * message); int (*tcl_DumpActiveMemory) (const char * fileName); void (*tcl_ValidateAllMemory) (const char * file, int line); void (*tcl_AppendResultVA) (Tcl_Interp * interp, va_list argList); void (*tcl_AppendStringsToObjVA) (Tcl_Obj * objPtr, va_list argList); const char * (*tcl_HashStats) (Tcl_HashTable * tablePtr); const char * (*tcl_ParseVar) (Tcl_Interp * interp, const char * str, const char ** termPtr); const char * (*tcl_PkgPresent) (Tcl_Interp * interp, const char * name, const char * version, int exact); const char * (*tcl_PkgPresentEx) (Tcl_Interp * interp, const char * name, const char * version, int exact, ClientData * clientDataPtr); int (*tcl_PkgProvide) (Tcl_Interp * interp, const char * name, const char * version); const char * (*tcl_PkgRequire) (Tcl_Interp * interp, const char * name, const char * version, int exact); void (*tcl_SetErrorCodeVA) (Tcl_Interp * interp, va_list argList); int (*tcl_VarEvalVA) (Tcl_Interp * interp, va_list argList); Tcl_Pid (*tcl_WaitPid) (Tcl_Pid pid, int * statPtr, int options); void (*tcl_PanicVA) (const char * format, va_list argList); void (*tcl_GetVersion) (int * major, int * minor, int * patchLevel, int * type); void (*tcl_InitMemory) (Tcl_Interp * interp); Tcl_Channel (*tcl_StackChannel) (Tcl_Interp * interp, Tcl_ChannelType * typePtr, ClientData instanceData, int mask, Tcl_Channel prevChan); int (*tcl_UnstackChannel) (Tcl_Interp * interp, Tcl_Channel chan); Tcl_Channel (*tcl_GetStackedChannel) (Tcl_Channel chan); void (*tcl_SetMainLoop) (Tcl_MainLoopProc * proc); void *reserved285; void (*tcl_AppendObjToObj) (Tcl_Obj * objPtr, Tcl_Obj * appendObjPtr); Tcl_Encoding (*tcl_CreateEncoding) (Tcl_EncodingType * typePtr); void (*tcl_CreateThreadExitHandler) (Tcl_ExitProc * proc, ClientData clientData); void (*tcl_DeleteThreadExitHandler) (Tcl_ExitProc * proc, ClientData clientData); void (*tcl_DiscardResult) (Tcl_SavedResult * statePtr); int (*tcl_EvalEx) (Tcl_Interp * interp, const char * script, int numBytes, int flags); int (*tcl_EvalObjv) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); int (*tcl_EvalObjEx) (Tcl_Interp * interp, Tcl_Obj * objPtr, int flags); void (*tcl_ExitThread) (int status); int (*tcl_ExternalToUtf) (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); char * (*tcl_ExternalToUtfDString) (Tcl_Encoding encoding, const char * src, int srcLen, Tcl_DString * dsPtr); void (*tcl_FinalizeThread) (void); void (*tcl_FinalizeNotifier) (ClientData clientData); void (*tcl_FreeEncoding) (Tcl_Encoding encoding); Tcl_ThreadId (*tcl_GetCurrentThread) (void); Tcl_Encoding (*tcl_GetEncoding) (Tcl_Interp * interp, const char * name); const char * (*tcl_GetEncodingName) (Tcl_Encoding encoding); void (*tcl_GetEncodingNames) (Tcl_Interp * interp); int (*tcl_GetIndexFromObjStruct) (Tcl_Interp * interp, Tcl_Obj * objPtr, const void * tablePtr, int offset, const char * msg, int flags, int * indexPtr); void * (*tcl_GetThreadData) (Tcl_ThreadDataKey * keyPtr, int size); Tcl_Obj * (*tcl_GetVar2Ex) (Tcl_Interp * interp, const char * part1, const char * part2, int flags); ClientData (*tcl_InitNotifier) (void); void (*tcl_MutexLock) (Tcl_Mutex * mutexPtr); void (*tcl_MutexUnlock) (Tcl_Mutex * mutexPtr); void (*tcl_ConditionNotify) (Tcl_Condition * condPtr); void (*tcl_ConditionWait) (Tcl_Condition * condPtr, Tcl_Mutex * mutexPtr, Tcl_Time * timePtr); int (*tcl_NumUtfChars) (const char * src, int len); int (*tcl_ReadChars) (Tcl_Channel channel, Tcl_Obj * objPtr, int charsToRead, int appendFlag); void (*tcl_RestoreResult) (Tcl_Interp * interp, Tcl_SavedResult * statePtr); void (*tcl_SaveResult) (Tcl_Interp * interp, Tcl_SavedResult * statePtr); int (*tcl_SetSystemEncoding) (Tcl_Interp * interp, const char * name); Tcl_Obj * (*tcl_SetVar2Ex) (Tcl_Interp * interp, const char * part1, const char * part2, Tcl_Obj * newValuePtr, int flags); void (*tcl_ThreadAlert) (Tcl_ThreadId threadId); void (*tcl_ThreadQueueEvent) (Tcl_ThreadId threadId, Tcl_Event* evPtr, Tcl_QueuePosition position); Tcl_UniChar (*tcl_UniCharAtIndex) (const char * src, int index); Tcl_UniChar (*tcl_UniCharToLower) (int ch); Tcl_UniChar (*tcl_UniCharToTitle) (int ch); Tcl_UniChar (*tcl_UniCharToUpper) (int ch); int (*tcl_UniCharToUtf) (int ch, char * buf); const char * (*tcl_UtfAtIndex) (const char * src, int index); int (*tcl_UtfCharComplete) (const char * src, int len); int (*tcl_UtfBackslash) (const char * src, int * readPtr, char * dst); const char * (*tcl_UtfFindFirst) (const char * src, int ch); const char * (*tcl_UtfFindLast) (const char * src, int ch); const char * (*tcl_UtfNext) (const char * src); const char * (*tcl_UtfPrev) (const char * src, const char * start); int (*tcl_UtfToExternal) (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); char * (*tcl_UtfToExternalDString) (Tcl_Encoding encoding, const char * src, int srcLen, Tcl_DString * dsPtr); int (*tcl_UtfToLower) (char * src); int (*tcl_UtfToTitle) (char * src); int (*tcl_UtfToUniChar) (const char * src, Tcl_UniChar * chPtr); int (*tcl_UtfToUpper) (char * src); int (*tcl_WriteChars) (Tcl_Channel chan, const char * src, int srcLen); int (*tcl_WriteObj) (Tcl_Channel chan, Tcl_Obj * objPtr); char * (*tcl_GetString) (Tcl_Obj * objPtr); const char * (*tcl_GetDefaultEncodingDir) (void); void (*tcl_SetDefaultEncodingDir) (const char * path); void (*tcl_AlertNotifier) (ClientData clientData); void (*tcl_ServiceModeHook) (int mode); int (*tcl_UniCharIsAlnum) (int ch); int (*tcl_UniCharIsAlpha) (int ch); int (*tcl_UniCharIsDigit) (int ch); int (*tcl_UniCharIsLower) (int ch); int (*tcl_UniCharIsSpace) (int ch); int (*tcl_UniCharIsUpper) (int ch); int (*tcl_UniCharIsWordChar) (int ch); int (*tcl_UniCharLen) (const Tcl_UniChar * str); int (*tcl_UniCharNcmp) (const Tcl_UniChar * cs, const Tcl_UniChar * ct, unsigned long n); char * (*tcl_UniCharToUtfDString) (const Tcl_UniChar * string, int numChars, Tcl_DString * dsPtr); Tcl_UniChar * (*tcl_UtfToUniCharDString) (const char * string, int length, Tcl_DString * dsPtr); Tcl_RegExp (*tcl_GetRegExpFromObj) (Tcl_Interp * interp, Tcl_Obj * patObj, int flags); Tcl_Obj * (*tcl_EvalTokens) (Tcl_Interp * interp, Tcl_Token * tokenPtr, int count); void (*tcl_FreeParse) (Tcl_Parse * parsePtr); void (*tcl_LogCommandInfo) (Tcl_Interp * interp, const char * script, const char * command, int length); int (*tcl_ParseBraces) (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append, const char ** termPtr); int (*tcl_ParseCommand) (Tcl_Interp * interp, const char * string, int numBytes, int nested, Tcl_Parse * parsePtr); int (*tcl_ParseExpr) (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr); int (*tcl_ParseQuotedString) (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append, const char ** termPtr); int (*tcl_ParseVarName) (Tcl_Interp * interp, const char * string, int numBytes, Tcl_Parse * parsePtr, int append); char * (*tcl_GetCwd) (Tcl_Interp * interp, Tcl_DString * cwdPtr); int (*tcl_Chdir) (const char * dirName); int (*tcl_Access) (const char * path, int mode); int (*tcl_Stat) (const char * path, struct stat * bufPtr); int (*tcl_UtfNcmp) (const char * s1, const char * s2, unsigned long n); int (*tcl_UtfNcasecmp) (const char * s1, const char * s2, unsigned long n); int (*tcl_StringCaseMatch) (const char * str, const char * pattern, int nocase); int (*tcl_UniCharIsControl) (int ch); int (*tcl_UniCharIsGraph) (int ch); int (*tcl_UniCharIsPrint) (int ch); int (*tcl_UniCharIsPunct) (int ch); int (*tcl_RegExpExecObj) (Tcl_Interp * interp, Tcl_RegExp regexp, Tcl_Obj * objPtr, int offset, int nmatches, int flags); void (*tcl_RegExpGetInfo) (Tcl_RegExp regexp, Tcl_RegExpInfo * infoPtr); Tcl_Obj * (*tcl_NewUnicodeObj) (const Tcl_UniChar * unicode, int numChars); void (*tcl_SetUnicodeObj) (Tcl_Obj * objPtr, const Tcl_UniChar * unicode, int numChars); int (*tcl_GetCharLength) (Tcl_Obj * objPtr); Tcl_UniChar (*tcl_GetUniChar) (Tcl_Obj * objPtr, int index); Tcl_UniChar * (*tcl_GetUnicode) (Tcl_Obj * objPtr); Tcl_Obj * (*tcl_GetRange) (Tcl_Obj * objPtr, int first, int last); void (*tcl_AppendUnicodeToObj) (Tcl_Obj * objPtr, const Tcl_UniChar * unicode, int length); int (*tcl_RegExpMatchObj) (Tcl_Interp * interp, Tcl_Obj * stringObj, Tcl_Obj * patternObj); void (*tcl_SetNotifier) (Tcl_NotifierProcs * notifierProcPtr); Tcl_Mutex * (*tcl_GetAllocMutex) (void); int (*tcl_GetChannelNames) (Tcl_Interp * interp); int (*tcl_GetChannelNamesEx) (Tcl_Interp * interp, const char * pattern); int (*tcl_ProcObjCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); void (*tcl_ConditionFinalize) (Tcl_Condition * condPtr); void (*tcl_MutexFinalize) (Tcl_Mutex * mutex); int (*tcl_CreateThread) (Tcl_ThreadId * idPtr, Tcl_ThreadCreateProc proc, ClientData clientData, int stackSize, int flags); int (*tcl_ReadRaw) (Tcl_Channel chan, char * dst, int bytesToRead); int (*tcl_WriteRaw) (Tcl_Channel chan, const char * src, int srcLen); Tcl_Channel (*tcl_GetTopChannel) (Tcl_Channel chan); int (*tcl_ChannelBuffered) (Tcl_Channel chan); const char * (*tcl_ChannelName) (Tcl_ChannelType * chanTypePtr); Tcl_ChannelTypeVersion (*tcl_ChannelVersion) (Tcl_ChannelType * chanTypePtr); Tcl_DriverBlockModeProc * (*tcl_ChannelBlockModeProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverCloseProc * (*tcl_ChannelCloseProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverClose2Proc * (*tcl_ChannelClose2Proc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverInputProc * (*tcl_ChannelInputProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverOutputProc * (*tcl_ChannelOutputProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverSeekProc * (*tcl_ChannelSeekProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverSetOptionProc * (*tcl_ChannelSetOptionProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverGetOptionProc * (*tcl_ChannelGetOptionProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverWatchProc * (*tcl_ChannelWatchProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverGetHandleProc * (*tcl_ChannelGetHandleProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverFlushProc * (*tcl_ChannelFlushProc) (Tcl_ChannelType * chanTypePtr); Tcl_DriverHandlerProc * (*tcl_ChannelHandlerProc) (Tcl_ChannelType * chanTypePtr); int (*tcl_JoinThread) (Tcl_ThreadId id, int* result); int (*tcl_IsChannelShared) (Tcl_Channel channel); int (*tcl_IsChannelRegistered) (Tcl_Interp* interp, Tcl_Channel channel); void (*tcl_CutChannel) (Tcl_Channel channel); void (*tcl_SpliceChannel) (Tcl_Channel channel); void (*tcl_ClearChannelHandlers) (Tcl_Channel channel); int (*tcl_IsChannelExisting) (const char* channelName); int (*tcl_UniCharNcasecmp) (const Tcl_UniChar * cs, const Tcl_UniChar * ct, unsigned long n); int (*tcl_UniCharCaseMatch) (const Tcl_UniChar * ustr, const Tcl_UniChar * pattern, int nocase); Tcl_HashEntry * (*tcl_FindHashEntry) (Tcl_HashTable * tablePtr, const char * key); Tcl_HashEntry * (*tcl_CreateHashEntry) (Tcl_HashTable * tablePtr, const char * key, int * newPtr); void (*tcl_InitCustomHashTable) (Tcl_HashTable * tablePtr, int keyType, Tcl_HashKeyType * typePtr); void (*tcl_InitObjHashTable) (Tcl_HashTable * tablePtr); ClientData (*tcl_CommandTraceInfo) (Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData); int (*tcl_TraceCommand) (Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData); void (*tcl_UntraceCommand) (Tcl_Interp * interp, const char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData); char * (*tcl_AttemptAlloc) (unsigned int size); char * (*tcl_AttemptDbCkalloc) (unsigned int size, const char * file, int line); char * (*tcl_AttemptRealloc) (char * ptr, unsigned int size); char * (*tcl_AttemptDbCkrealloc) (char * ptr, unsigned int size, const char * file, int line); int (*tcl_AttemptSetObjLength) (Tcl_Obj * objPtr, int length); Tcl_ThreadId (*tcl_GetChannelThread) (Tcl_Channel channel); Tcl_UniChar * (*tcl_GetUnicodeFromObj) (Tcl_Obj * objPtr, int * lengthPtr); int (*tcl_GetMathFuncInfo) (Tcl_Interp * interp, const char * name, int * numArgsPtr, Tcl_ValueType ** argTypesPtr, Tcl_MathProc ** procPtr, ClientData * clientDataPtr); Tcl_Obj * (*tcl_ListMathFuncs) (Tcl_Interp * interp, const char * pattern); Tcl_Obj * (*tcl_SubstObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, int flags); int (*tcl_DetachChannel) (Tcl_Interp* interp, Tcl_Channel channel); int (*tcl_IsStandardChannel) (Tcl_Channel channel); int (*tcl_FSCopyFile) (Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr); int (*tcl_FSCopyDirectory) (Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr, Tcl_Obj ** errorPtr); int (*tcl_FSCreateDirectory) (Tcl_Obj * pathPtr); int (*tcl_FSDeleteFile) (Tcl_Obj * pathPtr); int (*tcl_FSLoadFile) (Tcl_Interp * interp, Tcl_Obj * pathPtr, const char * sym1, const char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, Tcl_LoadHandle * handlePtr, Tcl_FSUnloadFileProc ** unloadProcPtr); int (*tcl_FSMatchInDirectory) (Tcl_Interp * interp, Tcl_Obj * result, Tcl_Obj * pathPtr, const char * pattern, Tcl_GlobTypeData * types); Tcl_Obj * (*tcl_FSLink) (Tcl_Obj * pathPtr, Tcl_Obj * toPtr, int linkAction); int (*tcl_FSRemoveDirectory) (Tcl_Obj * pathPtr, int recursive, Tcl_Obj ** errorPtr); int (*tcl_FSRenameFile) (Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr); int (*tcl_FSLstat) (Tcl_Obj * pathPtr, Tcl_StatBuf * buf); int (*tcl_FSUtime) (Tcl_Obj * pathPtr, struct utimbuf * tval); int (*tcl_FSFileAttrsGet) (Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef); int (*tcl_FSFileAttrsSet) (Tcl_Interp * interp, int index, Tcl_Obj * pathPtr, Tcl_Obj * objPtr); const char ** (*tcl_FSFileAttrStrings) (Tcl_Obj * pathPtr, Tcl_Obj ** objPtrRef); int (*tcl_FSStat) (Tcl_Obj * pathPtr, Tcl_StatBuf * buf); int (*tcl_FSAccess) (Tcl_Obj * pathPtr, int mode); Tcl_Channel (*tcl_FSOpenFileChannel) (Tcl_Interp * interp, Tcl_Obj * pathPtr, const char * modeString, int permissions); Tcl_Obj* (*tcl_FSGetCwd) (Tcl_Interp * interp); int (*tcl_FSChdir) (Tcl_Obj * pathPtr); int (*tcl_FSConvertToPathType) (Tcl_Interp * interp, Tcl_Obj * pathPtr); Tcl_Obj* (*tcl_FSJoinPath) (Tcl_Obj * listObj, int elements); Tcl_Obj* (*tcl_FSSplitPath) (Tcl_Obj* pathPtr, int * lenPtr); int (*tcl_FSEqualPaths) (Tcl_Obj* firstPtr, Tcl_Obj* secondPtr); Tcl_Obj* (*tcl_FSGetNormalizedPath) (Tcl_Interp * interp, Tcl_Obj* pathObjPtr); Tcl_Obj* (*tcl_FSJoinToPath) (Tcl_Obj * basePtr, int objc, Tcl_Obj *const objv[]); ClientData (*tcl_FSGetInternalRep) (Tcl_Obj* pathObjPtr, Tcl_Filesystem * fsPtr); Tcl_Obj* (*tcl_FSGetTranslatedPath) (Tcl_Interp * interp, Tcl_Obj* pathPtr); int (*tcl_FSEvalFile) (Tcl_Interp * interp, Tcl_Obj * fileName); Tcl_Obj* (*tcl_FSNewNativePath) (Tcl_Filesystem* fromFilesystem, ClientData clientData); const char* (*tcl_FSGetNativePath) (Tcl_Obj* pathObjPtr); Tcl_Obj* (*tcl_FSFileSystemInfo) (Tcl_Obj* pathObjPtr); Tcl_Obj* (*tcl_FSPathSeparator) (Tcl_Obj* pathObjPtr); Tcl_Obj* (*tcl_FSListVolumes) (void); int (*tcl_FSRegister) (ClientData clientData, Tcl_Filesystem * fsPtr); int (*tcl_FSUnregister) (Tcl_Filesystem * fsPtr); ClientData (*tcl_FSData) (Tcl_Filesystem * fsPtr); const char* (*tcl_FSGetTranslatedStringPath) (Tcl_Interp * interp, Tcl_Obj* pathPtr); Tcl_Filesystem* (*tcl_FSGetFileSystemForPath) (Tcl_Obj* pathObjPtr); Tcl_PathType (*tcl_FSGetPathType) (Tcl_Obj * pathObjPtr); int (*tcl_OutputBuffered) (Tcl_Channel chan); void (*tcl_FSMountsChanged) (Tcl_Filesystem * fsPtr); int (*tcl_EvalTokensStandard) (Tcl_Interp * interp, Tcl_Token * tokenPtr, int count); void (*tcl_GetTime) (Tcl_Time* timeBuf); Tcl_Trace (*tcl_CreateObjTrace) (Tcl_Interp* interp, int level, int flags, Tcl_CmdObjTraceProc* objProc, ClientData clientData, Tcl_CmdObjTraceDeleteProc* delProc); int (*tcl_GetCommandInfoFromToken) (Tcl_Command token, Tcl_CmdInfo* infoPtr); int (*tcl_SetCommandInfoFromToken) (Tcl_Command token, const Tcl_CmdInfo* infoPtr); Tcl_Obj * (*tcl_DbNewWideIntObj) (Tcl_WideInt wideValue, const char * file, int line); int (*tcl_GetWideIntFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_WideInt * widePtr); Tcl_Obj * (*tcl_NewWideIntObj) (Tcl_WideInt wideValue); void (*tcl_SetWideIntObj) (Tcl_Obj * objPtr, Tcl_WideInt wideValue); Tcl_StatBuf * (*tcl_AllocStatBuf) (void); Tcl_WideInt (*tcl_Seek) (Tcl_Channel chan, Tcl_WideInt offset, int mode); Tcl_WideInt (*tcl_Tell) (Tcl_Channel chan); Tcl_DriverWideSeekProc * (*tcl_ChannelWideSeekProc) (Tcl_ChannelType * chanTypePtr); } TclStubs; extern TclStubs *tclStubsPtr; # 2257 "/usr/local/include/tcl.h" 2 3 # 2275 "/usr/local/include/tcl.h" 3 # 1 "/usr/local/include/tclPlatDecls.h" 1 3 # 87 "/usr/local/include/tclPlatDecls.h" 3 typedef struct TclPlatStubs { int magic; struct TclPlatStubHooks *hooks; # 109 "/usr/local/include/tclPlatDecls.h" 3 } TclPlatStubs; extern TclPlatStubs *tclPlatStubsPtr; # 2276 "/usr/local/include/tcl.h" 2 3 extern void Tcl_Main (int argc, char **argv, Tcl_AppInitProc *appInitProc); # 2293 "/usr/local/include/tcl.h" 3 extern int Tcl_AppInit (Tcl_Interp *interp); # 56 "itcl/generic/itcl.h" 2 # 99 "itcl/generic/itcl.h" typedef struct Itcl_Stack { ClientData *values; int len; int max; ClientData space[5]; } Itcl_Stack; struct Itcl_List; typedef struct Itcl_ListElem { struct Itcl_List* owner; ClientData value; struct Itcl_ListElem *prev; struct Itcl_ListElem *next; } Itcl_ListElem; typedef struct Itcl_List { int validate; int num; struct Itcl_ListElem *head; struct Itcl_ListElem *tail; } Itcl_List; # 136 "itcl/generic/itcl.h" typedef struct Itcl_InterpState_ *Itcl_InterpState; # 1 "itcl/generic/itclDecls.h" 1 # 30 "itcl/generic/itclDecls.h" extern int Itcl_Init (Tcl_Interp * interp); extern int Itcl_SafeInit (Tcl_Interp * interp); extern int Itcl_RegisterC (Tcl_Interp * interp, char * name, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); extern int Itcl_RegisterObjC (Tcl_Interp * interp, char * name, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); extern int Itcl_FindC (Tcl_Interp * interp, char * name, Tcl_CmdProc ** argProcPtr, Tcl_ObjCmdProc ** objProcPtr, ClientData * cDataPtr); extern void Itcl_InitStack (Itcl_Stack * stack); extern void Itcl_DeleteStack (Itcl_Stack * stack); extern void Itcl_PushStack (ClientData cdata, Itcl_Stack * stack); extern ClientData Itcl_PopStack (Itcl_Stack * stack); extern ClientData Itcl_PeekStack (Itcl_Stack * stack); extern ClientData Itcl_GetStackValue (Itcl_Stack * stack, int pos); extern void Itcl_InitList (Itcl_List * listPtr); extern void Itcl_DeleteList (Itcl_List * listPtr); extern Itcl_ListElem* Itcl_CreateListElem (Itcl_List * listPtr); extern Itcl_ListElem* Itcl_DeleteListElem ( Itcl_ListElem * elemPtr); extern Itcl_ListElem* Itcl_InsertList (Itcl_List * listPtr, ClientData val); extern Itcl_ListElem* Itcl_InsertListElem (Itcl_ListElem * pos, ClientData val); extern Itcl_ListElem* Itcl_AppendList (Itcl_List * listPtr, ClientData val); extern Itcl_ListElem* Itcl_AppendListElem (Itcl_ListElem * pos, ClientData val); extern void Itcl_SetListValue ( Itcl_ListElem * elemPtr, ClientData val); extern void Itcl_EventuallyFree (ClientData cdata, Tcl_FreeProc * fproc); extern void Itcl_PreserveData (ClientData cdata); extern void Itcl_ReleaseData (ClientData cdata); extern Itcl_InterpState Itcl_SaveInterpState ( Tcl_Interp* interp, int status); extern int Itcl_RestoreInterpState ( Tcl_Interp* interp, Itcl_InterpState state); extern void Itcl_DiscardInterpState ( Itcl_InterpState state); typedef struct ItclStubHooks { struct ItclIntStubs *itclIntStubs; } ItclStubHooks; typedef struct ItclStubs { int magic; struct ItclStubHooks *hooks; int (*itcl_Init) (Tcl_Interp * interp); int (*itcl_SafeInit) (Tcl_Interp * interp); int (*itcl_RegisterC) (Tcl_Interp * interp, char * name, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); int (*itcl_RegisterObjC) (Tcl_Interp * interp, char * name, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); int (*itcl_FindC) (Tcl_Interp * interp, char * name, Tcl_CmdProc ** argProcPtr, Tcl_ObjCmdProc ** objProcPtr, ClientData * cDataPtr); void (*itcl_InitStack) (Itcl_Stack * stack); void (*itcl_DeleteStack) (Itcl_Stack * stack); void (*itcl_PushStack) (ClientData cdata, Itcl_Stack * stack); ClientData (*itcl_PopStack) (Itcl_Stack * stack); ClientData (*itcl_PeekStack) (Itcl_Stack * stack); ClientData (*itcl_GetStackValue) (Itcl_Stack * stack, int pos); void (*itcl_InitList) (Itcl_List * listPtr); void (*itcl_DeleteList) (Itcl_List * listPtr); Itcl_ListElem* (*itcl_CreateListElem) (Itcl_List * listPtr); Itcl_ListElem* (*itcl_DeleteListElem) (Itcl_ListElem * elemPtr); Itcl_ListElem* (*itcl_InsertList) (Itcl_List * listPtr, ClientData val); Itcl_ListElem* (*itcl_InsertListElem) (Itcl_ListElem * pos, ClientData val); Itcl_ListElem* (*itcl_AppendList) (Itcl_List * listPtr, ClientData val); Itcl_ListElem* (*itcl_AppendListElem) (Itcl_ListElem * pos, ClientData val); void (*itcl_SetListValue) (Itcl_ListElem * elemPtr, ClientData val); void (*itcl_EventuallyFree) (ClientData cdata, Tcl_FreeProc * fproc); void (*itcl_PreserveData) (ClientData cdata); void (*itcl_ReleaseData) (ClientData cdata); Itcl_InterpState (*itcl_SaveInterpState) (Tcl_Interp* interp, int status); int (*itcl_RestoreInterpState) (Tcl_Interp* interp, Itcl_InterpState state); void (*itcl_DiscardInterpState) (Itcl_InterpState state); } ItclStubs; extern ItclStubs *itclStubsPtr; # 145 "itcl/generic/itcl.h" 2 # 53 "itcl/generic/itclInt.h" 2 # 1 "/usr/lib/tcl8.3/include/generic/tclInt.h" 1 # 36 "/usr/lib/tcl8.3/include/generic/tclInt.h" # 1 "/usr/include/ctype.h" 1 3 # 30 "/usr/include/ctype.h" 3 # 41 "/usr/include/ctype.h" 3 # 1 "/usr/include/endian.h" 1 3 # 37 "/usr/include/endian.h" 3 # 1 "/usr/include/bits/endian.h" 1 3 # 38 "/usr/include/endian.h" 2 3 # 42 "/usr/include/ctype.h" 2 3 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 extern int isalnum (int) ; extern int isalpha (int) ; extern int iscntrl (int) ; extern int isdigit (int) ; extern int islower (int) ; extern int isgraph (int) ; extern int isprint (int) ; extern int ispunct (int) ; extern int isspace (int) ; extern int isupper (int) ; extern int isxdigit (int) ; extern int tolower (int __c) ; extern int toupper (int __c) ; # 142 "/usr/include/ctype.h" 3 extern int isascii (int __c) ; extern int toascii (int __c) ; extern int _toupper (int) ; extern int _tolower (int) ; # 190 "/usr/include/ctype.h" 3 extern __inline int tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 323 "/usr/include/ctype.h" 3 # 37 "/usr/lib/tcl8.3/include/generic/tclInt.h" 2 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/limits.h" 1 3 # 41 "/usr/lib/tcl8.3/include/generic/tclInt.h" 2 # 1 "/usr/include/stdlib.h" 1 3 # 33 "/usr/include/stdlib.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 34 "/usr/include/stdlib.h" 2 3 # 93 "/usr/include/stdlib.h" 3 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 137 "/usr/include/stdlib.h" 3 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; # 174 "/usr/include/stdlib.h" 3 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 264 "/usr/include/stdlib.h" 3 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 343 "/usr/include/stdlib.h" 3 __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 408 "/usr/include/stdlib.h" 3 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 1 "/usr/include/sys/types.h" 1 3 # 29 "/usr/include/sys/types.h" 3 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 62 "/usr/include/sys/types.h" 3 typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; # 100 "/usr/include/sys/types.h" 3 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/sys/types.h" 3 # 1 "/usr/include/time.h" 1 3 # 74 "/usr/include/time.h" 3 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 3 # 147 "/usr/include/sys/types.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 148 "/usr/include/sys/types.h" 2 3 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 191 "/usr/include/sys/types.h" 3 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 216 "/usr/include/sys/types.h" 3 # 1 "/usr/include/sys/select.h" 1 3 # 31 "/usr/include/sys/select.h" 3 # 1 "/usr/include/bits/select.h" 1 3 # 32 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/sigset.h" 1 3 # 23 "/usr/include/bits/sigset.h" 3 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 # 118 "/usr/include/time.h" 3 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/time.h" 1 3 # 69 "/usr/include/bits/time.h" 3 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 # 109 "/usr/include/sys/select.h" 3 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 128 "/usr/include/sys/select.h" 3 # 217 "/usr/include/sys/types.h" 2 3 # 1 "/usr/include/sys/sysmacros.h" 1 3 # 29 "/usr/include/sys/sysmacros.h" 3 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) ; __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) ; __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) ; __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 220 "/usr/include/sys/types.h" 2 3 # 231 "/usr/include/sys/types.h" 3 typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 266 "/usr/include/sys/types.h" 3 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 # 23 "/usr/include/bits/pthreadtypes.h" 3 # 1 "/usr/include/bits/sched.h" 1 3 # 83 "/usr/include/bits/sched.h" 3 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize; } pthread_attr_t; __extension__ typedef long long __pthread_cond_align_t; typedef struct { struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; char __padding[48 - sizeof (struct _pthread_fastlock) - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; __pthread_cond_align_t __align; } pthread_cond_t; typedef struct { int __dummy; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct { int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock; } pthread_mutex_t; typedef struct { int __mutexkind; } pthread_mutexattr_t; typedef int pthread_once_t; # 150 "/usr/include/bits/pthreadtypes.h" 3 typedef unsigned long int pthread_t; # 267 "/usr/include/sys/types.h" 2 3 # 417 "/usr/include/stdlib.h" 2 3 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 # 25 "/usr/include/alloca.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 26 "/usr/include/alloca.h" 2 3 extern void *alloca (size_t __size) ; # 579 "/usr/include/stdlib.h" 2 3 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); # 592 "/usr/include/stdlib.h" 3 extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); # 624 "/usr/include/stdlib.h" 3 extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 663 "/usr/include/stdlib.h" 3 extern char *mktemp (char *__template) ; # 674 "/usr/include/stdlib.h" 3 extern int mkstemp (char *__template); # 693 "/usr/include/stdlib.h" 3 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command); # 720 "/usr/include/stdlib.h" 3 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); # 784 "/usr/include/stdlib.h" 3 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; extern int rpmatch (__const char *__response) ; # 916 "/usr/include/stdlib.h" 3 extern int getloadavg (double __loadavg[], int __nelem) ; # 46 "/usr/lib/tcl8.3/include/generic/tclInt.h" 2 # 1 "/usr/include/string.h" 1 3 # 28 "/usr/include/string.h" 3 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/stddef.h" 1 3 # 34 "/usr/include/string.h" 2 3 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) ; extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); # 80 "/usr/include/string.h" 3 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 126 "/usr/include/string.h" 3 extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); # 160 "/usr/include/string.h" 3 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; # 228 "/usr/include/string.h" 3 extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); # 241 "/usr/include/string.h" 3 extern char *strerror (int __errnum) ; extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; extern void __bzero (void *__s, size_t __n) ; extern void bcopy (__const void *__src, void *__dest, size_t __n) ; extern void bzero (void *__s, size_t __n) ; extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); extern int ffs (int __i) __attribute__ ((__const__)); # 287 "/usr/include/string.h" 3 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); # 309 "/usr/include/string.h" 3 extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ; # 372 "/usr/include/string.h" 3 # 1 "/usr/include/bits/string.h" 1 3 # 373 "/usr/include/string.h" 2 3 # 1 "/usr/include/bits/string2.h" 1 3 # 389 "/usr/include/bits/string2.h" 3 extern void *__rawmemchr (const void *__s, int __c); # 919 "/usr/include/bits/string2.h" 3 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 976 "/usr/include/bits/string2.h" 3 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1033 "/usr/include/bits/string2.h" 3 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1085 "/usr/include/bits/string2.h" 3 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1117 "/usr/include/bits/string2.h" 3 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1135 "/usr/include/bits/string2.h" 3 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1216 "/usr/include/bits/string2.h" 3 extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); # 1235 "/usr/include/bits/string2.h" 3 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 376 "/usr/include/string.h" 2 3 # 51 "/usr/lib/tcl8.3/include/generic/tclInt.h" 2 # 70 "/usr/lib/tcl8.3/include/generic/tclInt.h" struct Tcl_ResolvedVarInfo; typedef Tcl_Var (Tcl_ResolveRuntimeVarProc) ( Tcl_Interp* interp, struct Tcl_ResolvedVarInfo *vinfoPtr); typedef void (Tcl_ResolveVarDeleteProc) ( struct Tcl_ResolvedVarInfo *vinfoPtr); # 85 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct Tcl_ResolvedVarInfo { Tcl_ResolveRuntimeVarProc *fetchProc; Tcl_ResolveVarDeleteProc *deleteProc; } Tcl_ResolvedVarInfo; typedef int (Tcl_ResolveCompiledVarProc) ( Tcl_Interp* interp, char* name, int length, Tcl_Namespace *context, Tcl_ResolvedVarInfo **rPtr); typedef int (Tcl_ResolveVarProc) ( Tcl_Interp* interp, char* name, Tcl_Namespace *context, int flags, Tcl_Var *rPtr); typedef int (Tcl_ResolveCmdProc) (Tcl_Interp* interp, char* name, Tcl_Namespace *context, int flags, Tcl_Command *rPtr); typedef struct Tcl_ResolverInfo { Tcl_ResolveCmdProc *cmdResProc; Tcl_ResolveVarProc *varResProc; Tcl_ResolveCompiledVarProc *compiledVarResProc; } Tcl_ResolverInfo; # 128 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct Namespace { char *name; char *fullName; ClientData clientData; Tcl_NamespaceDeleteProc *deleteProc; struct Namespace *parentPtr; Tcl_HashTable childTable; long nsId; Tcl_Interp *interp; int flags; int activationCount; int refCount; Tcl_HashTable cmdTable; Tcl_HashTable varTable; char **exportArrayPtr; int numExportPatterns; int maxExportPatterns; int cmdRefEpoch; int resolverEpoch; Tcl_ResolveCmdProc *cmdResProc; Tcl_ResolveVarProc *varResProc; Tcl_ResolveCompiledVarProc *compiledVarResProc; } Namespace; # 260 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct VarTrace { Tcl_VarTraceProc *traceProc; ClientData clientData; int flags; struct VarTrace *nextPtr; } VarTrace; # 280 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct ActiveVarTrace { struct Var *varPtr; struct ActiveVarTrace *nextPtr; VarTrace *nextTracePtr; } ActiveVarTrace; typedef struct ArraySearch { int id; struct Var *varPtr; Tcl_HashSearch search; Tcl_HashEntry *nextEntry; struct ArraySearch *nextPtr; } ArraySearch; # 326 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct Var { union { Tcl_Obj *objPtr; Tcl_HashTable *tablePtr; struct Var *linkPtr; } value; char *name; Namespace *nsPtr; Tcl_HashEntry *hPtr; # 359 "/usr/lib/tcl8.3/include/generic/tclInt.h" int refCount; VarTrace *tracePtr; ArraySearch *searchPtr; int flags; } Var; # 528 "/usr/lib/tcl8.3/include/generic/tclInt.h" struct Command; # 543 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct CompiledLocal { struct CompiledLocal *nextPtr; int nameLength; int frameIndex; int flags; Tcl_Obj *defValuePtr; Tcl_ResolvedVarInfo *resolveInfo; char name[4]; } CompiledLocal; typedef struct Proc { struct Interp *iPtr; int refCount; struct Command *cmdPtr; Tcl_Obj *bodyPtr; int numArgs; int numCompiledLocals; CompiledLocal *firstLocalPtr; CompiledLocal *lastLocalPtr; } Proc; typedef struct Trace { int level; Tcl_CmdTraceProc *proc; ClientData clientData; struct Trace *nextPtr; } Trace; # 629 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct AssocData { Tcl_InterpDeleteProc *proc; ClientData clientData; } AssocData; # 648 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct CallFrame { Namespace *nsPtr; int isProcCallFrame; int objc; Tcl_Obj *const *objv; struct CallFrame *callerPtr; struct CallFrame *callerVarPtr; int level; Proc *procPtr; Tcl_HashTable *varTablePtr; int numCompiledLocals; Var* compiledLocals; } CallFrame; # 702 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef void **TclHandle; extern TclHandle TclHandleCreate (void *ptr); extern void TclHandleFree (TclHandle handle); extern TclHandle TclHandlePreserve (TclHandle handle); extern void TclHandleRelease (TclHandle handle); # 721 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct { char *command; int bytesAvl; } HistoryEvent; # 735 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct HistoryRev { int firstIndex; int lastIndex; int newSize; char *newBytes; struct HistoryRev *nextPtr; } HistoryRev; # 760 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct MathFunc { int builtinFuncIndex; int numArgs; Tcl_ValueType argTypes[5]; Tcl_MathProc *proc; ClientData clientData; } MathFunc; extern void *TclThreadDataKeyGet (Tcl_ThreadDataKey *keyPtr); extern void TclThreadDataKeySet (Tcl_ThreadDataKey *keyPtr, void *data); # 807 "/usr/lib/tcl8.3/include/generic/tclInt.h" struct CompileEnv; # 828 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef int (CompileProc) (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *compEnvPtr); typedef int (CompileHookProc) (Tcl_Interp *interp, struct CompileEnv *compEnvPtr, ClientData clientData); # 849 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct ExecEnv { Tcl_Obj **stackPtr; int stackTop; int stackEnd; } ExecEnv; # 873 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct LiteralEntry { struct LiteralEntry *nextPtr; Tcl_Obj *objPtr; int refCount; } LiteralEntry; typedef struct LiteralTable { LiteralEntry **buckets; LiteralEntry *staticBuckets[4]; int numBuckets; int numEntries; int rebuildSize; int mask; } LiteralTable; # 958 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct ImportRef { struct Command *importedCmdPtr; struct ImportRef *nextPtr; } ImportRef; typedef struct ImportedCmdData { struct Command *realCmdPtr; struct Command *selfPtr; } ImportedCmdData; typedef struct Command { Tcl_HashEntry *hPtr; # 1002 "/usr/lib/tcl8.3/include/generic/tclInt.h" Namespace *nsPtr; int refCount; int cmdEpoch; CompileProc *compileProc; Tcl_ObjCmdProc *objProc; ClientData objClientData; Tcl_CmdProc *proc; ClientData clientData; Tcl_CmdDeleteProc *deleteProc; ClientData deleteData; int deleted; ImportRef *importRefPtr; } Command; # 1051 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct ResolverScheme { char *name; Tcl_ResolveCmdProc *cmdResProc; Tcl_ResolveVarProc *varResProc; Tcl_ResolveCompiledVarProc *compiledVarResProc; struct ResolverScheme *nextPtr; } ResolverScheme; # 1078 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct Interp { # 1096 "/usr/lib/tcl8.3/include/generic/tclInt.h" char *result; Tcl_FreeProc *freeProc; int errorLine; struct TclStubs *stubTable; TclHandle handle; Namespace *globalNsPtr; Tcl_HashTable *hiddenCmdTablePtr; ClientData interpInfo; Tcl_HashTable mathFuncTable; # 1140 "/usr/lib/tcl8.3/include/generic/tclInt.h" int numLevels; int maxNestingDepth; CallFrame *framePtr; CallFrame *varFramePtr; ActiveVarTrace *activeTracePtr; int returnCode; char *errorInfo; char *errorCode; char *appendResult; int appendAvl; int appendUsed; Tcl_HashTable packageTable; char *packageUnknown; # 1196 "/usr/lib/tcl8.3/include/generic/tclInt.h" int cmdCount; int evalFlags; int termOffset; LiteralTable literalTable; int compileEpoch; Proc *compiledProcPtr; ResolverScheme *resolverPtr; char *scriptFile; int flags; long randSeed; Trace *tracePtr; Tcl_HashTable *assocData; struct ExecEnv *execEnvPtr; Tcl_Obj *emptyObjPtr; char resultSpace[200 +1]; Tcl_Obj *objResultPtr; Tcl_ThreadId threadId; # 1260 "/usr/lib/tcl8.3/include/generic/tclInt.h" } Interp; # 1337 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct ParseValue { char *buffer; char *next; char *end; void (*expandProc) (struct ParseValue *pvPtr, int needed); ClientData clientData; } ParseValue; # 1386 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef enum { TCL_PLATFORM_UNIX, TCL_PLATFORM_MAC, TCL_PLATFORM_WINDOWS } TclPlatformType; # 1421 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct List { int maxElemCount; int elemCount; Tcl_Obj **elements; } List; # 1436 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef int (TclGetFileAttrProc) (Tcl_Interp *interp, int objIndex, const char *fileName, Tcl_Obj **attrObjPtrPtr); typedef int (TclSetFileAttrProc) (Tcl_Interp *interp, int objIndex, const char *fileName, Tcl_Obj *attrObjPtr); typedef struct TclFileAttrProcs { TclGetFileAttrProc *getProc; TclSetFileAttrProc *setProc; } TclFileAttrProcs; typedef struct TclFile_ *TclFile; # 1460 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef int (TclStatProc_) (const char *path, struct stat *buf); typedef int (TclAccessProc_) (const char *path, int mode); typedef Tcl_Channel (TclOpenFileChannelProc_) (Tcl_Interp *interp, char *fileName, char *modeString, int permissions); typedef int (*TclCmdProcType) (ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]); typedef int (*TclObjCmdProcType) (ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * const objv[]); typedef struct TclpTime_t_ *TclpTime_t; # 1484 "/usr/lib/tcl8.3/include/generic/tclInt.h" typedef struct GlobTypeData { int type; int perm; Tcl_Obj* macType; Tcl_Obj* macCreator; } GlobTypeData; # 1518 "/usr/lib/tcl8.3/include/generic/tclInt.h" extern Tcl_Time tclBlockTime; extern int tclBlockTimeSet; extern char * tclExecutableName; extern char * tclNativeExecutableName; extern char * tclDefaultEncodingDir; extern Tcl_ChannelType tclFileChannelType; extern char * tclMemDumpFileName; extern TclPlatformType tclPlatform; extern char * tclpFileAttrStrings[]; extern const TclFileAttrProcs tclpFileAttrProcs[]; extern Tcl_ObjType tclBooleanType; extern Tcl_ObjType tclByteArrayType; extern Tcl_ObjType tclByteCodeType; extern Tcl_ObjType tclDoubleType; extern Tcl_ObjType tclIntType; extern Tcl_ObjType tclListType; extern Tcl_ObjType tclProcBodyType; extern Tcl_ObjType tclStringType; extern Tcl_Obj * tclFreeObjList; # 1562 "/usr/lib/tcl8.3/include/generic/tclInt.h" extern char * tclEmptyStringRep; # 1571 "/usr/lib/tcl8.3/include/generic/tclInt.h" extern int TclAccess (const char *path, int mode); extern int TclAccessDeleteProc (TclAccessProc_ *proc); extern int TclAccessInsertProc (TclAccessProc_ *proc); extern void TclAllocateFreeObjects (void); extern int TclArraySet (Tcl_Interp *interp, Tcl_Obj *arrayNameObj, Tcl_Obj *arrayElemObj); extern int TclCheckBadOctal (Tcl_Interp *interp, char *value); extern int TclCleanupChildren (Tcl_Interp *interp, int numPids, Tcl_Pid *pidPtr, Tcl_Channel errorChan); extern void TclCleanupCommand (Command *cmdPtr); extern int TclCopyChannel (Tcl_Interp *interp, Tcl_Channel inChan, Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr); extern int TclCreatePipeline (Tcl_Interp *interp, int argc, char **argv, Tcl_Pid **pidArrayPtr, TclFile *inPipePtr, TclFile *outPipePtr, TclFile *errFilePtr); extern int TclCreateProc (Tcl_Interp *interp, Namespace *nsPtr, char *procName, Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, Proc **procPtrPtr); extern void TclDeleteCompiledLocalVars ( Interp *iPtr, CallFrame *framePtr); extern void TclDeleteVars (Interp *iPtr, Tcl_HashTable *tablePtr); extern int TclDoGlob (Tcl_Interp *interp, char *separators, Tcl_DString *headPtr, char *tail, GlobTypeData *types); extern void TclDumpMemoryInfo (FILE *outFile); extern void TclExpandTokenArray ( Tcl_Parse *parsePtr); extern void TclExprFloatError (Tcl_Interp *interp, double value); extern int TclFileAttrsCmd (Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int TclFileCopyCmd (Tcl_Interp *interp, int argc, char **argv) ; extern int TclFileDeleteCmd (Tcl_Interp *interp, int argc, char **argv); extern int TclFileMakeDirsCmd (Tcl_Interp *interp, int argc, char **argv) ; extern int TclFileRenameCmd (Tcl_Interp *interp, int argc, char **argv) ; extern void TclFinalizeAllocSubsystem (void); extern void TclFinalizeCompExecEnv (void); extern void TclFinalizeCompilation (void); extern void TclFinalizeEncodingSubsystem (void); extern void TclFinalizeEnvironment (void); extern void TclFinalizeExecution (void); extern void TclFinalizeIOSubsystem (void); extern void TclFinalizeLoad (void); extern void TclFinalizeMemorySubsystem (void); extern void TclFinalizeNotifier (void); extern void TclFinalizeAsync (void); extern void TclFinalizeSynchronization (void); extern void TclFinalizeThreadData (void); extern void TclFindEncodings (const char *argv0); extern Proc * TclFindProc (Interp *iPtr, char *procName); extern int TclFormatInt (char *buffer, long n); extern void TclFreePackageInfo (Interp *iPtr); extern int TclGetDate (char *p, unsigned long now, long zone, unsigned long *timePtr); extern Tcl_Obj * TclGetElementOfIndexedArray ( Tcl_Interp *interp, int localIndex, Tcl_Obj *elemPtr, int leaveErrorMsg); extern char * TclGetExtension (char *name); extern int TclGetFrame (Tcl_Interp *interp, char *string, CallFrame **framePtrPtr); extern TclCmdProcType TclGetInterpProc (void); extern int TclGetIntForIndex (Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr); extern Tcl_Obj * TclGetIndexedScalar (Tcl_Interp *interp, int localIndex, int leaveErrorMsg); extern int TclGetLong (Tcl_Interp *interp, char *string, long *longPtr); extern int TclGetLoadedPackages ( Tcl_Interp *interp, char *targetName); extern int TclGetNamespaceForQualName ( Tcl_Interp *interp, char *qualName, Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr, char **simpleNamePtr); extern TclObjCmdProcType TclGetObjInterpProc (void); extern int TclGetOpenMode (Tcl_Interp *interp, char *string, int *seekFlagPtr); extern Tcl_Command TclGetOriginalCommand ( Tcl_Command command); extern int TclGlob (Tcl_Interp *interp, char *pattern, char *unquotedPrefix, int globFlags, GlobTypeData* types); extern int TclGlobalInvoke (Tcl_Interp *interp, int argc, char **argv, int flags); extern int TclGuessPackageName (char *fileName, Tcl_DString *bufPtr); extern int TclHideUnsafeCommands ( Tcl_Interp *interp); extern int TclInExit (void); extern Tcl_Obj * TclIncrElementOfIndexedArray ( Tcl_Interp *interp, int localIndex, Tcl_Obj *elemPtr, long incrAmount); extern Tcl_Obj * TclIncrIndexedScalar ( Tcl_Interp *interp, int localIndex, long incrAmount); extern Tcl_Obj * TclIncrVar2 (Tcl_Interp *interp, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, long incrAmount, int flags); extern void TclInitAlloc (void); extern void TclInitCompiledLocals ( Tcl_Interp *interp, CallFrame *framePtr, Namespace *nsPtr); extern void TclInitDbCkalloc (void); extern void TclInitEncodingSubsystem (void); extern void TclInitIOSubsystem (void); extern void TclInitNamespaceSubsystem (void); extern void TclInitNotifier (void); extern void TclInitObjSubsystem (void); extern void TclInitSubsystems (const char *argv0); extern int TclInvoke (Tcl_Interp *interp, int argc, char **argv, int flags); extern int TclInvokeObjectCommand ( ClientData clientData, Tcl_Interp *interp, int argc, char **argv); extern int TclInvokeStringCommand ( ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int TclIsLocalScalar (const char *src, int len); extern Proc * TclIsProc (Command *cmdPtr); extern Var * TclLookupVar (Tcl_Interp *interp, char *part1, char *part2, int flags, char *msg, int createPart1, int createPart2, Var **arrayPtrPtr); extern int TclMathInProgress (void); extern int TclNeedSpace (char *start, char *end); extern Tcl_Obj * TclNewProcBodyObj (Proc *procPtr); extern int TclObjCommandComplete (Tcl_Obj *cmdPtr); extern int TclObjInterpProc (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int TclObjInvoke (Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], int flags); extern int TclObjInvokeGlobal (Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], int flags); extern int TclOpenFileChannelDeleteProc ( TclOpenFileChannelProc_ *proc); extern int TclOpenFileChannelInsertProc ( TclOpenFileChannelProc_ *proc); extern int TclpAccess (const char *filename, int mode); extern char * TclpAlloc (unsigned int size); extern int TclpCheckStackSpace (void); extern int TclpCopyFile (const char *source, const char *dest); extern int TclpCopyDirectory (const char *source, const char *dest, Tcl_DString *errorPtr); extern int TclpCreateDirectory (const char *path); extern int TclpDeleteFile (const char *path); extern void TclpExit (int status); extern void TclpFinalizeCondition ( Tcl_Condition *condPtr); extern void TclpFinalizeMutex (Tcl_Mutex *mutexPtr); extern void TclpFinalizeThreadData ( Tcl_ThreadDataKey *keyPtr); extern void TclpFinalizeThreadDataKey ( Tcl_ThreadDataKey *keyPtr); extern char * TclpFindExecutable ( const char *argv0); extern int TclpFindVariable (const char *name, int *lengthPtr); extern void TclpFree (char *ptr); extern unsigned long TclpGetClicks (void); extern Tcl_Channel TclpGetDefaultStdChannel (int type); extern unsigned long TclpGetSeconds (void); extern void TclpGetTime (Tcl_Time *time); extern int TclpGetTimeZone (unsigned long time); extern char * TclpGetUserHome (const char *name, Tcl_DString *bufferPtr); extern int TclpHasSockets (Tcl_Interp *interp); extern void TclpInitLibraryPath (const char *argv0); extern void TclpInitLock (void); extern void TclpInitPlatform (void); extern void TclpInitUnlock (void); extern int TclpListVolumes (Tcl_Interp *interp); extern void TclpMasterLock (void); extern void TclpMasterUnlock (void); extern int TclpMatchFiles (Tcl_Interp *interp, char *separators, Tcl_DString *dirPtr, char *pattern, char *tail); extern Tcl_Channel TclpOpenFileChannel (Tcl_Interp *interp, char *fileName, char *modeString, int permissions); extern char * TclpReadlink (const char *fileName, Tcl_DString *linkPtr); extern char * TclpRealloc (char *ptr, unsigned int size); extern void TclpReleaseFile (TclFile file); extern int TclpRemoveDirectory (const char *path, int recursive, Tcl_DString *errorPtr); extern int TclpRenameFile (const char *source, const char *dest); extern void TclpSetInitialEncodings (void); extern void TclpSetVariables (Tcl_Interp *interp); extern void * TclpSysAlloc (long size, int isBin); extern void TclpSysFree (void *ptr); extern void * TclpSysRealloc (void *cp, unsigned int size); extern void TclpUnloadFile (ClientData clientData); extern char * TclPrecTraceProc (ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags); extern int TclPreventAliasLoop (Tcl_Interp *interp, Tcl_Interp *cmdInterp, Tcl_Command cmd); extern void TclProcCleanupProc (Proc *procPtr); extern int TclProcCompileProc (Tcl_Interp *interp, Proc *procPtr, Tcl_Obj *bodyPtr, Namespace *nsPtr, const char *description, const char *procName); extern void TclProcDeleteProc (ClientData clientData); extern int TclProcInterpProc (ClientData clientData, Tcl_Interp *interp, int argc, char **argv); extern void * TclpThreadDataKeyGet ( Tcl_ThreadDataKey *keyPtr); extern void TclpThreadDataKeyInit ( Tcl_ThreadDataKey *keyPtr); extern void TclpThreadDataKeySet ( Tcl_ThreadDataKey *keyPtr, void *data); extern void TclpThreadExit (int status); extern void TclRememberCondition (Tcl_Condition *mutex); extern void TclRememberDataKey (Tcl_ThreadDataKey *mutex); extern void TclRememberMutex (Tcl_Mutex *mutex); extern int TclRenameCommand (Tcl_Interp *interp, char *oldName, char *newName) ; extern void TclResetShadowedCmdRefs ( Tcl_Interp *interp, Command *newCmdPtr); extern int TclServiceIdle (void); extern Tcl_Obj * TclSetElementOfIndexedArray ( Tcl_Interp *interp, int localIndex, Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int leaveErrorMsg); extern Tcl_Obj * TclSetIndexedScalar (Tcl_Interp *interp, int localIndex, Tcl_Obj *objPtr, int leaveErrorMsg); extern char * TclSetPreInitScript (char *string); extern void TclSetupEnv (Tcl_Interp *interp); extern int TclSockGetPort (Tcl_Interp *interp, char *string, char *proto, int *portPtr); extern int TclSockMinimumBuffers (int sock, int size); extern int TclStat (const char *path, struct stat *buf); extern int TclStatDeleteProc (TclStatProc_ *proc); extern int TclStatInsertProc (TclStatProc_ *proc); extern void TclTeardownNamespace (Namespace *nsPtr); extern void TclTransferResult (Tcl_Interp *sourceInterp, int result, Tcl_Interp *targetInterp); extern int TclUpdateReturnInfo (Interp *iPtr); extern int Tcl_AfterObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_AppendObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ArrayObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_BinaryObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_BreakObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_CaseObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_CatchObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_CdObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ClockObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_CloseObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ConcatObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ContinueObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_EncodingObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_EofObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ErrorObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_EvalObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ExecObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ExitObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ExprObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FblockedObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FconfigureObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FcopyObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FileObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FileEventObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FlushObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ForObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ForeachObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_FormatObjCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_GetsObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_GlobalObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_GlobObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_IfObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_IncrObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_InfoObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_InterpObjCmd (ClientData clientData, Tcl_Interp *interp, int argc, Tcl_Obj *const objv[]); extern int Tcl_JoinObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LappendObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LindexObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LinsertObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LlengthObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ListObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LoadObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LrangeObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LreplaceObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LsearchObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_LsortObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_NamespaceObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_OpenObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_PackageObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_PidObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_PutsObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_PwdObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ReadObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_RegexpObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_RegsubObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_RenameObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ReturnObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_ScanObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SeekObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SetObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SplitObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SocketObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SourceObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_StringObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SubstObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_SwitchObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_TellObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_TimeObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_TraceObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_UnsetObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_UpdateObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_UplevelObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_UpvarObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_VariableObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_VwaitObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); extern int Tcl_WhileObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); # 2020 "/usr/lib/tcl8.3/include/generic/tclInt.h" extern int TclCompileBreakCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileCatchCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileContinueCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileExprCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileForCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileForeachCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileIfCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileIncrCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileSetCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); extern int TclCompileWhileCmd (Tcl_Interp *interp, Tcl_Parse *parsePtr, struct CompileEnv *envPtr); # 2216 "/usr/lib/tcl8.3/include/generic/tclInt.h" # 1 "/usr/lib/tcl8.3/include/generic/tclIntDecls.h" 1 # 33 "/usr/lib/tcl8.3/include/generic/tclIntDecls.h" extern int TclAccess (const char * path, int mode); extern int TclAccessDeleteProc ( TclAccessProc_ * proc); extern int TclAccessInsertProc ( TclAccessProc_ * proc); extern void TclAllocateFreeObjects (void); extern int TclCleanupChildren (Tcl_Interp * interp, int numPids, Tcl_Pid * pidPtr, Tcl_Channel errorChan); # 56 "/usr/lib/tcl8.3/include/generic/tclIntDecls.h" extern void TclCleanupCommand (Command * cmdPtr); extern int TclCopyAndCollapse (int count, const char * src, char * dst); extern int TclCopyChannel (Tcl_Interp * interp, Tcl_Channel inChan, Tcl_Channel outChan, int toRead, Tcl_Obj * cmdPtr); extern int TclCreatePipeline (Tcl_Interp * interp, int argc, char ** argv, Tcl_Pid ** pidArrayPtr, TclFile * inPipePtr, TclFile * outPipePtr, TclFile * errFilePtr); # 79 "/usr/lib/tcl8.3/include/generic/tclIntDecls.h" extern int TclCreateProc (Tcl_Interp * interp, Namespace * nsPtr, char * procName, Tcl_Obj * argsPtr, Tcl_Obj * bodyPtr, Proc ** procPtrPtr); extern void TclDeleteCompiledLocalVars ( Interp * iPtr, CallFrame * framePtr); extern void TclDeleteVars (Interp * iPtr, Tcl_HashTable * tablePtr); extern int TclDoGlob (Tcl_Interp * interp, char * separators, Tcl_DString * headPtr, char * tail, GlobTypeData * types); extern void TclDumpMemoryInfo (FILE * outFile); extern void TclExprFloatError (Tcl_Interp * interp, double value); extern int TclFileAttrsCmd (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int TclFileCopyCmd (Tcl_Interp * interp, int argc, char ** argv); extern int TclFileDeleteCmd (Tcl_Interp * interp, int argc, char ** argv); extern int TclFileMakeDirsCmd (Tcl_Interp * interp, int argc, char ** argv); extern int TclFileRenameCmd (Tcl_Interp * interp, int argc, char ** argv); extern int TclFindElement (Tcl_Interp * interp, const char * listStr, int listLength, const char ** elementPtr, const char ** nextPtr, int * sizePtr, int * bracePtr); extern Proc * TclFindProc (Interp * iPtr, char * procName); extern int TclFormatInt (char * buffer, long n); extern void TclFreePackageInfo (Interp * iPtr); extern int TclGetDate (char * p, unsigned long now, long zone, unsigned long * timePtr); extern Tcl_Channel TclpGetDefaultStdChannel (int type); extern Tcl_Obj * TclGetElementOfIndexedArray ( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg); extern char * TclGetExtension (char * name); extern int TclGetFrame (Tcl_Interp * interp, char * str, CallFrame ** framePtrPtr); extern TclCmdProcType TclGetInterpProc (void); extern int TclGetIntForIndex (Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr); extern Tcl_Obj * TclGetIndexedScalar (Tcl_Interp * interp, int localIndex, int leaveErrorMsg); extern int TclGetLong (Tcl_Interp * interp, char * str, long * longPtr); extern int TclGetLoadedPackages ( Tcl_Interp * interp, char * targetName); extern int TclGetNamespaceForQualName ( Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, Namespace ** nsPtrPtr, Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr); extern TclObjCmdProcType TclGetObjInterpProc (void); extern int TclGetOpenMode (Tcl_Interp * interp, char * str, int * seekFlagPtr); extern Tcl_Command TclGetOriginalCommand ( Tcl_Command command); extern char * TclpGetUserHome (const char * name, Tcl_DString * bufferPtr); extern int TclGlobalInvoke (Tcl_Interp * interp, int argc, char ** argv, int flags); extern int TclGuessPackageName (char * fileName, Tcl_DString * bufPtr); extern int TclHideUnsafeCommands ( Tcl_Interp * interp); extern int TclInExit (void); extern Tcl_Obj * TclIncrElementOfIndexedArray ( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount); extern Tcl_Obj * TclIncrIndexedScalar ( Tcl_Interp * interp, int localIndex, long incrAmount); extern Tcl_Obj * TclIncrVar2 (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed); extern void TclInitCompiledLocals ( Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr); extern int TclInterpInit (Tcl_Interp * interp); extern int TclInvoke (Tcl_Interp * interp, int argc, char ** argv, int flags); extern int TclInvokeObjectCommand ( ClientData clientData, Tcl_Interp * interp, int argc, char ** argv); extern int TclInvokeStringCommand ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern Proc * TclIsProc (Command * cmdPtr); extern Var * TclLookupVar (Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr); extern int TclpMatchFiles (Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail); extern int TclNeedSpace (char * start, char * end); extern Tcl_Obj * TclNewProcBodyObj (Proc * procPtr); extern int TclObjCommandComplete (Tcl_Obj * cmdPtr); extern int TclObjInterpProc (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int TclObjInvoke (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); extern int TclObjInvokeGlobal (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); extern int TclOpenFileChannelDeleteProc ( TclOpenFileChannelProc_ * proc); extern int TclOpenFileChannelInsertProc ( TclOpenFileChannelProc_ * proc); extern int TclpAccess (const char * path, int mode); extern char * TclpAlloc (unsigned int size); extern int TclpCopyFile (const char * source, const char * dest); extern int TclpCopyDirectory (const char * source, const char * dest, Tcl_DString * errorPtr); extern int TclpCreateDirectory (const char * path); extern int TclpDeleteFile (const char * path); extern void TclpFree (char * ptr); extern unsigned long TclpGetClicks (void); extern unsigned long TclpGetSeconds (void); extern void TclpGetTime (Tcl_Time * time); extern int TclpGetTimeZone (unsigned long time); extern int TclpListVolumes (Tcl_Interp * interp); extern Tcl_Channel TclpOpenFileChannel (Tcl_Interp * interp, char * fileName, char * modeString, int permissions); extern char * TclpRealloc (char * ptr, unsigned int size); extern int TclpRemoveDirectory (const char * path, int recursive, Tcl_DString * errorPtr); extern int TclpRenameFile (const char * source, const char * dest); extern char * TclPrecTraceProc (ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags); extern int TclPreventAliasLoop (Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd); extern void TclProcCleanupProc (Proc * procPtr); extern int TclProcCompileProc (Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, const char * description, const char * procName); extern void TclProcDeleteProc (ClientData clientData); extern int TclProcInterpProc (ClientData clientData, Tcl_Interp * interp, int argc, char ** argv); extern int TclpStat (const char * path, struct stat * buf); extern int TclRenameCommand (Tcl_Interp * interp, char * oldName, char * newName); extern void TclResetShadowedCmdRefs ( Tcl_Interp * interp, Command * newCmdPtr); extern int TclServiceIdle (void); extern Tcl_Obj * TclSetElementOfIndexedArray ( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg); extern Tcl_Obj * TclSetIndexedScalar (Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg); extern char * TclSetPreInitScript (char * string); extern void TclSetupEnv (Tcl_Interp * interp); extern int TclSockGetPort (Tcl_Interp * interp, char * str, char * proto, int * portPtr); extern int TclSockMinimumBuffers (int sock, int size); # 359 "/usr/lib/tcl8.3/include/generic/tclIntDecls.h" extern int TclStat (const char * path, struct stat * buf); extern int TclStatDeleteProc (TclStatProc_ * proc); extern int TclStatInsertProc (TclStatProc_ * proc); extern void TclTeardownNamespace (Namespace * nsPtr); extern int TclUpdateReturnInfo (Interp * iPtr); extern void Tcl_AddInterpResolvers ( Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc); extern int Tcl_AppendExportList ( Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr); extern Tcl_Namespace * Tcl_CreateNamespace (Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc); extern void Tcl_DeleteNamespace ( Tcl_Namespace * nsPtr); extern int Tcl_Export (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst); extern Tcl_Command Tcl_FindCommand (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); extern Tcl_Namespace * Tcl_FindNamespace (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); extern int Tcl_GetInterpResolvers ( Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo); extern int Tcl_GetNamespaceResolvers ( Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo); extern Tcl_Var Tcl_FindNamespaceVar ( Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); extern int Tcl_ForgetImport (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern); extern Tcl_Command Tcl_GetCommandFromObj ( Tcl_Interp * interp, Tcl_Obj * objPtr); extern void Tcl_GetCommandFullName ( Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr); extern Tcl_Namespace * Tcl_GetCurrentNamespace ( Tcl_Interp * interp); extern Tcl_Namespace * Tcl_GetGlobalNamespace ( Tcl_Interp * interp); extern void Tcl_GetVariableFullName ( Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr); extern int Tcl_Import (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite); extern void Tcl_PopCallFrame (Tcl_Interp* interp); extern int Tcl_PushCallFrame (Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame); extern int Tcl_RemoveInterpResolvers ( Tcl_Interp * interp, char * name); extern void Tcl_SetNamespaceResolvers ( Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc); extern int TclpHasSockets (Tcl_Interp * interp); extern struct tm * TclpGetDate (TclpTime_t time, int useGMT); extern size_t TclpStrftime (char * s, size_t maxsize, const char * format, const struct tm * t); extern int TclpCheckStackSpace (void); extern int TclpChdir (const char * dirName); extern char * TclGetEnv (const char * name, Tcl_DString * valuePtr); extern int TclpLoadFile (Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, ClientData * clientDataPtr); extern int TclLooksLikeInt (char * bytes, int length); extern char * TclpGetCwd (Tcl_Interp * interp, Tcl_DString * cwdPtr); extern int TclSetByteCodeFromAny ( Tcl_Interp * interp, Tcl_Obj * objPtr, CompileHookProc * hookProc, ClientData clientData); extern int TclAddLiteralObj ( struct CompileEnv * envPtr, Tcl_Obj * objPtr, LiteralEntry ** litPtrPtr); extern void TclHideLiteral (Tcl_Interp * interp, struct CompileEnv * envPtr, int index); extern struct AuxDataType * TclGetAuxDataType (char * typeName); extern TclHandle TclHandleCreate (void * ptr); extern void TclHandleFree (TclHandle handle); extern TclHandle TclHandlePreserve (TclHandle handle); extern void TclHandleRelease (TclHandle handle); extern int TclRegAbout (Tcl_Interp * interp, Tcl_RegExp re); extern void TclRegExpRangeUniChar (Tcl_RegExp re, int index, int * startPtr, int * endPtr); extern void TclSetLibraryPath (Tcl_Obj * pathPtr); extern Tcl_Obj * TclGetLibraryPath (void); extern void TclRegError (Tcl_Interp * interp, char * msg, int status); extern Var * TclVarTraceExists (Tcl_Interp * interp, char * varName); extern void TclSetStartupScriptFileName ( char * filename); extern char * TclGetStartupScriptFileName (void); extern int TclpMatchFilesTypes (Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail, GlobTypeData * types); extern int TclChannelTransform (Tcl_Interp * interp, Tcl_Channel chan, Tcl_Obj * cmdObjPtr); extern void TclChannelEventScriptInvoker ( ClientData clientData, int flags); extern void * TclGetInstructionTable (void); extern void TclExpandCodeArray (void * envPtr); typedef struct TclIntStubs { int magic; struct TclIntStubHooks *hooks; int (*tclAccess) (const char * path, int mode); int (*tclAccessDeleteProc) (TclAccessProc_ * proc); int (*tclAccessInsertProc) (TclAccessProc_ * proc); void (*tclAllocateFreeObjects) (void); void *reserved4; int (*tclCleanupChildren) (Tcl_Interp * interp, int numPids, Tcl_Pid * pidPtr, Tcl_Channel errorChan); void (*tclCleanupCommand) (Command * cmdPtr); int (*tclCopyAndCollapse) (int count, const char * src, char * dst); int (*tclCopyChannel) (Tcl_Interp * interp, Tcl_Channel inChan, Tcl_Channel outChan, int toRead, Tcl_Obj * cmdPtr); int (*tclCreatePipeline) (Tcl_Interp * interp, int argc, char ** argv, Tcl_Pid ** pidArrayPtr, TclFile * inPipePtr, TclFile * outPipePtr, TclFile * errFilePtr); int (*tclCreateProc) (Tcl_Interp * interp, Namespace * nsPtr, char * procName, Tcl_Obj * argsPtr, Tcl_Obj * bodyPtr, Proc ** procPtrPtr); void (*tclDeleteCompiledLocalVars) (Interp * iPtr, CallFrame * framePtr); void (*tclDeleteVars) (Interp * iPtr, Tcl_HashTable * tablePtr); int (*tclDoGlob) (Tcl_Interp * interp, char * separators, Tcl_DString * headPtr, char * tail, GlobTypeData * types); void (*tclDumpMemoryInfo) (FILE * outFile); void *reserved15; void (*tclExprFloatError) (Tcl_Interp * interp, double value); int (*tclFileAttrsCmd) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*tclFileCopyCmd) (Tcl_Interp * interp, int argc, char ** argv); int (*tclFileDeleteCmd) (Tcl_Interp * interp, int argc, char ** argv); int (*tclFileMakeDirsCmd) (Tcl_Interp * interp, int argc, char ** argv); int (*tclFileRenameCmd) (Tcl_Interp * interp, int argc, char ** argv); int (*tclFindElement) (Tcl_Interp * interp, const char * listStr, int listLength, const char ** elementPtr, const char ** nextPtr, int * sizePtr, int * bracePtr); Proc * (*tclFindProc) (Interp * iPtr, char * procName); int (*tclFormatInt) (char * buffer, long n); void (*tclFreePackageInfo) (Interp * iPtr); void *reserved26; int (*tclGetDate) (char * p, unsigned long now, long zone, unsigned long * timePtr); Tcl_Channel (*tclpGetDefaultStdChannel) (int type); Tcl_Obj * (*tclGetElementOfIndexedArray) (Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg); void *reserved30; char * (*tclGetExtension) (char * name); int (*tclGetFrame) (Tcl_Interp * interp, char * str, CallFrame ** framePtrPtr); TclCmdProcType (*tclGetInterpProc) (void); int (*tclGetIntForIndex) (Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr); Tcl_Obj * (*tclGetIndexedScalar) (Tcl_Interp * interp, int localIndex, int leaveErrorMsg); int (*tclGetLong) (Tcl_Interp * interp, char * str, long * longPtr); int (*tclGetLoadedPackages) (Tcl_Interp * interp, char * targetName); int (*tclGetNamespaceForQualName) (Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, Namespace ** nsPtrPtr, Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr); TclObjCmdProcType (*tclGetObjInterpProc) (void); int (*tclGetOpenMode) (Tcl_Interp * interp, char * str, int * seekFlagPtr); Tcl_Command (*tclGetOriginalCommand) (Tcl_Command command); char * (*tclpGetUserHome) (const char * name, Tcl_DString * bufferPtr); int (*tclGlobalInvoke) (Tcl_Interp * interp, int argc, char ** argv, int flags); int (*tclGuessPackageName) (char * fileName, Tcl_DString * bufPtr); int (*tclHideUnsafeCommands) (Tcl_Interp * interp); int (*tclInExit) (void); Tcl_Obj * (*tclIncrElementOfIndexedArray) (Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount); Tcl_Obj * (*tclIncrIndexedScalar) (Tcl_Interp * interp, int localIndex, long incrAmount); Tcl_Obj * (*tclIncrVar2) (Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed); void (*tclInitCompiledLocals) (Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr); int (*tclInterpInit) (Tcl_Interp * interp); int (*tclInvoke) (Tcl_Interp * interp, int argc, char ** argv, int flags); int (*tclInvokeObjectCommand) (ClientData clientData, Tcl_Interp * interp, int argc, char ** argv); int (*tclInvokeStringCommand) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); Proc * (*tclIsProc) (Command * cmdPtr); void *reserved56; void *reserved57; Var * (*tclLookupVar) (Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr); int (*tclpMatchFiles) (Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail); int (*tclNeedSpace) (char * start, char * end); Tcl_Obj * (*tclNewProcBodyObj) (Proc * procPtr); int (*tclObjCommandComplete) (Tcl_Obj * cmdPtr); int (*tclObjInterpProc) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*tclObjInvoke) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); int (*tclObjInvokeGlobal) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], int flags); int (*tclOpenFileChannelDeleteProc) (TclOpenFileChannelProc_ * proc); int (*tclOpenFileChannelInsertProc) (TclOpenFileChannelProc_ * proc); int (*tclpAccess) (const char * path, int mode); char * (*tclpAlloc) (unsigned int size); int (*tclpCopyFile) (const char * source, const char * dest); int (*tclpCopyDirectory) (const char * source, const char * dest, Tcl_DString * errorPtr); int (*tclpCreateDirectory) (const char * path); int (*tclpDeleteFile) (const char * path); void (*tclpFree) (char * ptr); unsigned long (*tclpGetClicks) (void); unsigned long (*tclpGetSeconds) (void); void (*tclpGetTime) (Tcl_Time * time); int (*tclpGetTimeZone) (unsigned long time); int (*tclpListVolumes) (Tcl_Interp * interp); Tcl_Channel (*tclpOpenFileChannel) (Tcl_Interp * interp, char * fileName, char * modeString, int permissions); char * (*tclpRealloc) (char * ptr, unsigned int size); int (*tclpRemoveDirectory) (const char * path, int recursive, Tcl_DString * errorPtr); int (*tclpRenameFile) (const char * source, const char * dest); void *reserved84; void *reserved85; void *reserved86; void *reserved87; char * (*tclPrecTraceProc) (ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags); int (*tclPreventAliasLoop) (Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd); void *reserved90; void (*tclProcCleanupProc) (Proc * procPtr); int (*tclProcCompileProc) (Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, const char * description, const char * procName); void (*tclProcDeleteProc) (ClientData clientData); int (*tclProcInterpProc) (ClientData clientData, Tcl_Interp * interp, int argc, char ** argv); int (*tclpStat) (const char * path, struct stat * buf); int (*tclRenameCommand) (Tcl_Interp * interp, char * oldName, char * newName); void (*tclResetShadowedCmdRefs) (Tcl_Interp * interp, Command * newCmdPtr); int (*tclServiceIdle) (void); Tcl_Obj * (*tclSetElementOfIndexedArray) (Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg); Tcl_Obj * (*tclSetIndexedScalar) (Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg); char * (*tclSetPreInitScript) (char * string); void (*tclSetupEnv) (Tcl_Interp * interp); int (*tclSockGetPort) (Tcl_Interp * interp, char * str, char * proto, int * portPtr); int (*tclSockMinimumBuffers) (int sock, int size); int (*tclStat) (const char * path, struct stat * buf); int (*tclStatDeleteProc) (TclStatProc_ * proc); int (*tclStatInsertProc) (TclStatProc_ * proc); void (*tclTeardownNamespace) (Namespace * nsPtr); int (*tclUpdateReturnInfo) (Interp * iPtr); void *reserved110; void (*tcl_AddInterpResolvers) (Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc); int (*tcl_AppendExportList) (Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr); Tcl_Namespace * (*tcl_CreateNamespace) (Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc); void (*tcl_DeleteNamespace) (Tcl_Namespace * nsPtr); int (*tcl_Export) (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst); Tcl_Command (*tcl_FindCommand) (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); Tcl_Namespace * (*tcl_FindNamespace) (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); int (*tcl_GetInterpResolvers) (Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo); int (*tcl_GetNamespaceResolvers) (Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo); Tcl_Var (*tcl_FindNamespaceVar) (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags); int (*tcl_ForgetImport) (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern); Tcl_Command (*tcl_GetCommandFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr); void (*tcl_GetCommandFullName) (Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr); Tcl_Namespace * (*tcl_GetCurrentNamespace) (Tcl_Interp * interp); Tcl_Namespace * (*tcl_GetGlobalNamespace) (Tcl_Interp * interp); void (*tcl_GetVariableFullName) (Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr); int (*tcl_Import) (Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite); void (*tcl_PopCallFrame) (Tcl_Interp* interp); int (*tcl_PushCallFrame) (Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame); int (*tcl_RemoveInterpResolvers) (Tcl_Interp * interp, char * name); void (*tcl_SetNamespaceResolvers) (Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc); int (*tclpHasSockets) (Tcl_Interp * interp); struct tm * (*tclpGetDate) (TclpTime_t time, int useGMT); size_t (*tclpStrftime) (char * s, size_t maxsize, const char * format, const struct tm * t); int (*tclpCheckStackSpace) (void); void *reserved136; int (*tclpChdir) (const char * dirName); char * (*tclGetEnv) (const char * name, Tcl_DString * valuePtr); int (*tclpLoadFile) (Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, ClientData * clientDataPtr); int (*tclLooksLikeInt) (char * bytes, int length); char * (*tclpGetCwd) (Tcl_Interp * interp, Tcl_DString * cwdPtr); int (*tclSetByteCodeFromAny) (Tcl_Interp * interp, Tcl_Obj * objPtr, CompileHookProc * hookProc, ClientData clientData); int (*tclAddLiteralObj) (struct CompileEnv * envPtr, Tcl_Obj * objPtr, LiteralEntry ** litPtrPtr); void (*tclHideLiteral) (Tcl_Interp * interp, struct CompileEnv * envPtr, int index); struct AuxDataType * (*tclGetAuxDataType) (char * typeName); TclHandle (*tclHandleCreate) (void * ptr); void (*tclHandleFree) (TclHandle handle); TclHandle (*tclHandlePreserve) (TclHandle handle); void (*tclHandleRelease) (TclHandle handle); int (*tclRegAbout) (Tcl_Interp * interp, Tcl_RegExp re); void (*tclRegExpRangeUniChar) (Tcl_RegExp re, int index, int * startPtr, int * endPtr); void (*tclSetLibraryPath) (Tcl_Obj * pathPtr); Tcl_Obj * (*tclGetLibraryPath) (void); void *reserved154; void *reserved155; void (*tclRegError) (Tcl_Interp * interp, char * msg, int status); Var * (*tclVarTraceExists) (Tcl_Interp * interp, char * varName); void (*tclSetStartupScriptFileName) (char * filename); char * (*tclGetStartupScriptFileName) (void); int (*tclpMatchFilesTypes) (Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail, GlobTypeData * types); int (*tclChannelTransform) (Tcl_Interp * interp, Tcl_Channel chan, Tcl_Obj * cmdObjPtr); void (*tclChannelEventScriptInvoker) (ClientData clientData, int flags); void * (*tclGetInstructionTable) (void); void (*tclExpandCodeArray) (void * envPtr); } TclIntStubs; extern TclIntStubs *tclIntStubsPtr; # 2217 "/usr/lib/tcl8.3/include/generic/tclInt.h" 2 # 54 "itcl/generic/itclInt.h" 2 # 67 "itcl/generic/itclInt.h" struct ItclObject; typedef struct ItclObjectInfo { Tcl_Interp *interp; Tcl_HashTable objects; Itcl_Stack transparentFrames; Tcl_HashTable contextFrames; int protection; Itcl_Stack cdefnStack; } ItclObjectInfo; typedef struct ItclClass { char *name; char *fullname; Tcl_Interp *interp; Tcl_Namespace *namesp; Tcl_Command accessCmd; struct ItclObjectInfo *info; Itcl_List bases; Itcl_List derived; Tcl_HashTable heritage; Tcl_Obj *initCode; Tcl_HashTable variables; Tcl_HashTable functions; int numInstanceVars; Tcl_HashTable resolveVars; Tcl_HashTable resolveCmds; int unique; int flags; } ItclClass; typedef struct ItclHierIter { ItclClass *current; Itcl_Stack stack; } ItclHierIter; typedef struct ItclObject { ItclClass *classDefn; Tcl_Command accessCmd; int dataSize; Var** data; Tcl_HashTable* constructed; Tcl_HashTable* destructed; } ItclObject; typedef struct ItclMemberCode { int flags; CompiledLocal *arglist; int argcount; Proc *procPtr; union { Tcl_CmdProc *argCmd; Tcl_ObjCmdProc *objCmd; } cfunc; ClientData clientData; } ItclMemberCode; typedef struct ItclMember { Tcl_Interp* interp; ItclClass* classDefn; char* name; char* fullname; int protection; int flags; ItclMemberCode *code; } ItclMember; # 194 "itcl/generic/itclInt.h" typedef struct ItclMemberFunc { ItclMember *member; Tcl_Command accessCmd; CompiledLocal *arglist; int argcount; } ItclMemberFunc; typedef struct ItclVarDefn { ItclMember *member; char* init; } ItclVarDefn; typedef struct ItclVarLookup { ItclVarDefn* vdefn; int usage; int accessible; char *leastQualName; union { int index; Tcl_Var common; } var; } ItclVarLookup; # 234 "itcl/generic/itclInt.h" typedef struct ItclContext { ItclClass *classDefn; CallFrame frame; Var *compiledLocals; Var localStorage[20]; } ItclContext; # 249 "itcl/generic/itclInt.h" # 1 "itcl/generic/itclIntDecls.h" 1 # 33 "itcl/generic/itclIntDecls.h" extern int Itcl_IsClassNamespace ( Tcl_Namespace * namesp); extern int Itcl_IsClass (Tcl_Command cmd); extern ItclClass* Itcl_FindClass (Tcl_Interp* interp, char* path, int autoload); extern int Itcl_FindObject (Tcl_Interp * interp, char * name, ItclObject ** roPtr); extern int Itcl_IsObject (Tcl_Command cmd); extern int Itcl_ObjectIsa (ItclObject * contextObj, ItclClass * cdefn); extern int Itcl_Protection (Tcl_Interp * interp, int newLevel); extern char* Itcl_ProtectionStr (int pLevel); extern int Itcl_CanAccess (ItclMember* memberPtr, Tcl_Namespace* fromNsPtr); extern int Itcl_CanAccessFunc ( ItclMemberFunc* mfunc, Tcl_Namespace* fromNsPtr); extern Tcl_Namespace* Itcl_GetTrueNamespace ( Tcl_Interp * interp, ItclObjectInfo * info); extern void Itcl_ParseNamespPath (char * name, Tcl_DString * buffer, char ** head, char ** tail); extern int Itcl_DecodeScopedCommand ( Tcl_Interp * interp, char * name, Tcl_Namespace ** rNsPtr, char ** rCmdPtr); extern int Itcl_EvalArgs (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern Tcl_Obj* Itcl_CreateArgs (Tcl_Interp * interp, char * string, int objc, Tcl_Obj *const objv[]); extern int Itcl_PushContext (Tcl_Interp * interp, ItclMember * member, ItclClass * contextClass, ItclObject * contextObj, ItclContext * contextPtr); extern void Itcl_PopContext (Tcl_Interp * interp, ItclContext * contextPtr); extern int Itcl_GetContext (Tcl_Interp * interp, ItclClass ** cdefnPtr, ItclObject ** odefnPtr); extern void Itcl_InitHierIter (ItclHierIter * iter, ItclClass * cdefn); extern void Itcl_DeleteHierIter (ItclHierIter * iter); extern ItclClass* Itcl_AdvanceHierIter ( ItclHierIter * iter); extern int Itcl_FindClassesCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_FindObjectsCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ProtectionCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_DelClassCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_DelObjectCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ScopeCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_CodeCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_StubCreateCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_StubExistsCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_IsStub (Tcl_Command cmd); extern int Itcl_CreateClass (Tcl_Interp* interp, char* path, ItclObjectInfo * info, ItclClass ** rPtr); extern int Itcl_DeleteClass (Tcl_Interp * interp, ItclClass * cdefnPtr); extern Tcl_Namespace* Itcl_FindClassNamespace ( Tcl_Interp* interp, char* path); extern int Itcl_HandleClass (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassCmdResolver ( Tcl_Interp * interp, const char* name, Tcl_Namespace * context, int flags, Tcl_Command * rPtr); extern int Itcl_ClassVarResolver ( Tcl_Interp * interp, char* name, Tcl_Namespace * context, int flags, Tcl_Var * rPtr); extern int Itcl_ClassCompiledVarResolver ( Tcl_Interp * interp, char* name, int length, Tcl_Namespace * context, Tcl_ResolvedVarInfo ** rPtr); extern void Itcl_BuildVirtualTables ( ItclClass* cdefnPtr); extern int Itcl_CreateVarDefn (Tcl_Interp * interp, ItclClass* cdefn, char* name, char* init, char* config, ItclVarDefn** vdefnPtr); extern void Itcl_DeleteVarDefn (ItclVarDefn * vdefn); extern char* Itcl_GetCommonVar (Tcl_Interp * interp, char * name, ItclClass * contextClass); extern ItclMember* Itcl_CreateMember (Tcl_Interp* interp, ItclClass * cdefn, char* name); extern void Itcl_DeleteMember (ItclMember * memPtr); extern int Itcl_CreateObject (Tcl_Interp * interp, char* name, ItclClass * cdefn, int objc, Tcl_Obj *const objv[], ItclObject ** roPtr); extern int Itcl_DeleteObject (Tcl_Interp * interp, ItclObject * contextObj); extern int Itcl_DestructObject (Tcl_Interp * interp, ItclObject * contextObj, int flags); extern int Itcl_HandleInstance ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern char* Itcl_GetInstanceVar (Tcl_Interp * interp, char * name, ItclObject * contextObj, ItclClass * contextClass); extern int Itcl_ScopedVarResolver ( Tcl_Interp * interp, char * name, Tcl_Namespace * contextNs, int flags, Tcl_Var * rPtr); extern int Itcl_BodyCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ConfigBodyCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_CreateMethod (Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body); extern int Itcl_CreateProc (Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body); extern int Itcl_CreateMemberFunc ( Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body, ItclMemberFunc** mfuncPtr); extern int Itcl_ChangeMemberFunc ( Tcl_Interp* interp, ItclMemberFunc* mfunc, char* arglist, char* body); extern void Itcl_DeleteMemberFunc (char* cdata); extern int Itcl_CreateMemberCode ( Tcl_Interp* interp, ItclClass * cdefn, char* arglist, char* body, ItclMemberCode** mcodePtr); extern void Itcl_DeleteMemberCode (char* cdata); extern int Itcl_GetMemberCode (Tcl_Interp* interp, ItclMember* member); extern int Itcl_EvalMemberCode (Tcl_Interp * interp, ItclMemberFunc * mfunc, ItclMember * member, ItclObject * contextObj, int objc, Tcl_Obj *const objv[]); extern int Itcl_CreateArgList (Tcl_Interp* interp, char* decl, int* argcPtr, CompiledLocal** argPtr); extern CompiledLocal* Itcl_CreateArg (char* name, char* init); extern void Itcl_DeleteArgList ( CompiledLocal * arglist); extern Tcl_Obj* Itcl_ArgList (int argc, CompiledLocal* arglist); extern int Itcl_EquivArgLists (CompiledLocal* arg1, int arg1c, CompiledLocal* arg2, int arg2c); extern void Itcl_GetMemberFuncUsage ( ItclMemberFunc * mfunc, ItclObject * contextObj, Tcl_Obj * objPtr); extern int Itcl_ExecMethod (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ExecProc (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_AssignArgs (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], ItclMemberFunc * mfunc); extern int Itcl_ConstructBase (Tcl_Interp * interp, ItclObject * contextObj, ItclClass * contextClass); extern int Itcl_InvokeMethodIfExists ( Tcl_Interp * interp, char * name, ItclClass * contextClass, ItclObject * contextObj, int objc, Tcl_Obj *const objv[]); extern int Itcl_ReportFuncErrors ( Tcl_Interp* interp, ItclMemberFunc * mfunc, ItclObject * contextObj, int result); extern int Itcl_ParseInit (Tcl_Interp * interp, ItclObjectInfo * info); extern int Itcl_ClassCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassInheritCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassProtectionCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassConstructorCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassDestructorCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassMethodCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassProcCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassVariableCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ClassCommonCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_ParseVarResolver ( Tcl_Interp * interp, char* name, Tcl_Namespace * contextNs, int flags, Tcl_Var* rPtr); extern int Itcl_BiInit (Tcl_Interp * interp); extern int Itcl_InstallBiMethods ( Tcl_Interp * interp, ItclClass * cdefn); extern int Itcl_BiIsaCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiConfigureCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiCgetCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiChainCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoClassCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoInheritCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoHeritageCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoFunctionCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoVariableCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoBodyCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_BiInfoArgsCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_DefaultInfoCmd (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_EnsembleInit (Tcl_Interp * interp); extern int Itcl_CreateEnsemble (Tcl_Interp * interp, char* ensName); extern int Itcl_AddEnsemblePart ( Tcl_Interp * interp, char* ensName, char* partName, char* usageInfo, Tcl_ObjCmdProc * objProc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); extern int Itcl_GetEnsemblePart ( Tcl_Interp * interp, char * ensName, char * partName, Tcl_CmdInfo * infoPtr); extern int Itcl_IsEnsemble (Tcl_CmdInfo* infoPtr); extern int Itcl_GetEnsembleUsage ( Tcl_Interp * interp, char * ensName, Tcl_Obj * objPtr); extern int Itcl_GetEnsembleUsageForObj ( Tcl_Interp * interp, Tcl_Obj * ensObjPtr, Tcl_Obj * objPtr); extern int Itcl_EnsembleCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_EnsPartCmd (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_EnsembleErrorCmd ( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); extern int Itcl_OldInit (Tcl_Interp* interp, ItclObjectInfo* info); extern int Itcl_InstallOldBiMethods ( Tcl_Interp * interp, ItclClass * cdefn); extern Tcl_CallFrame* _Tcl_GetCallFrame (Tcl_Interp * interp, int level); extern Tcl_CallFrame* _Tcl_ActivateCallFrame ( Tcl_Interp * interp, Tcl_CallFrame * framePtr); extern Var* _TclNewVar (void); extern void Itcl_Assert (char * testExpr, char * fileName, int lineNum); typedef struct ItclIntStubs { int magic; struct ItclIntStubHooks *hooks; int (*itcl_IsClassNamespace) (Tcl_Namespace * namesp); int (*itcl_IsClass) (Tcl_Command cmd); ItclClass* (*itcl_FindClass) (Tcl_Interp* interp, char* path, int autoload); int (*itcl_FindObject) (Tcl_Interp * interp, char * name, ItclObject ** roPtr); int (*itcl_IsObject) (Tcl_Command cmd); int (*itcl_ObjectIsa) (ItclObject * contextObj, ItclClass * cdefn); int (*itcl_Protection) (Tcl_Interp * interp, int newLevel); char* (*itcl_ProtectionStr) (int pLevel); int (*itcl_CanAccess) (ItclMember* memberPtr, Tcl_Namespace* fromNsPtr); int (*itcl_CanAccessFunc) (ItclMemberFunc* mfunc, Tcl_Namespace* fromNsPtr); Tcl_Namespace* (*itcl_GetTrueNamespace) (Tcl_Interp * interp, ItclObjectInfo * info); void (*itcl_ParseNamespPath) (char * name, Tcl_DString * buffer, char ** head, char ** tail); int (*itcl_DecodeScopedCommand) (Tcl_Interp * interp, char * name, Tcl_Namespace ** rNsPtr, char ** rCmdPtr); int (*itcl_EvalArgs) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); Tcl_Obj* (*itcl_CreateArgs) (Tcl_Interp * interp, char * string, int objc, Tcl_Obj *const objv[]); int (*itcl_PushContext) (Tcl_Interp * interp, ItclMember * member, ItclClass * contextClass, ItclObject * contextObj, ItclContext * contextPtr); void (*itcl_PopContext) (Tcl_Interp * interp, ItclContext * contextPtr); int (*itcl_GetContext) (Tcl_Interp * interp, ItclClass ** cdefnPtr, ItclObject ** odefnPtr); void (*itcl_InitHierIter) (ItclHierIter * iter, ItclClass * cdefn); void (*itcl_DeleteHierIter) (ItclHierIter * iter); ItclClass* (*itcl_AdvanceHierIter) (ItclHierIter * iter); int (*itcl_FindClassesCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_FindObjectsCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ProtectionCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_DelClassCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_DelObjectCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ScopeCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_CodeCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_StubCreateCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_StubExistsCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_IsStub) (Tcl_Command cmd); int (*itcl_CreateClass) (Tcl_Interp* interp, char* path, ItclObjectInfo * info, ItclClass ** rPtr); int (*itcl_DeleteClass) (Tcl_Interp * interp, ItclClass * cdefnPtr); Tcl_Namespace* (*itcl_FindClassNamespace) (Tcl_Interp* interp, char* path); int (*itcl_HandleClass) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassCmdResolver) (Tcl_Interp * interp, const char* name, Tcl_Namespace * context, int flags, Tcl_Command * rPtr); int (*itcl_ClassVarResolver) (Tcl_Interp * interp, char* name, Tcl_Namespace * context, int flags, Tcl_Var * rPtr); int (*itcl_ClassCompiledVarResolver) (Tcl_Interp * interp, char* name, int length, Tcl_Namespace * context, Tcl_ResolvedVarInfo ** rPtr); void (*itcl_BuildVirtualTables) (ItclClass* cdefnPtr); int (*itcl_CreateVarDefn) (Tcl_Interp * interp, ItclClass* cdefn, char* name, char* init, char* config, ItclVarDefn** vdefnPtr); void (*itcl_DeleteVarDefn) (ItclVarDefn * vdefn); char* (*itcl_GetCommonVar) (Tcl_Interp * interp, char * name, ItclClass * contextClass); ItclMember* (*itcl_CreateMember) (Tcl_Interp* interp, ItclClass * cdefn, char* name); void (*itcl_DeleteMember) (ItclMember * memPtr); int (*itcl_CreateObject) (Tcl_Interp * interp, char* name, ItclClass * cdefn, int objc, Tcl_Obj *const objv[], ItclObject ** roPtr); int (*itcl_DeleteObject) (Tcl_Interp * interp, ItclObject * contextObj); int (*itcl_DestructObject) (Tcl_Interp * interp, ItclObject * contextObj, int flags); int (*itcl_HandleInstance) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); char* (*itcl_GetInstanceVar) (Tcl_Interp * interp, char * name, ItclObject * contextObj, ItclClass * contextClass); int (*itcl_ScopedVarResolver) (Tcl_Interp * interp, char * name, Tcl_Namespace * contextNs, int flags, Tcl_Var * rPtr); int (*itcl_BodyCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ConfigBodyCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_CreateMethod) (Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body); int (*itcl_CreateProc) (Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body); int (*itcl_CreateMemberFunc) (Tcl_Interp* interp, ItclClass * cdefn, char* name, char* arglist, char* body, ItclMemberFunc** mfuncPtr); int (*itcl_ChangeMemberFunc) (Tcl_Interp* interp, ItclMemberFunc* mfunc, char* arglist, char* body); void (*itcl_DeleteMemberFunc) (char* cdata); int (*itcl_CreateMemberCode) (Tcl_Interp* interp, ItclClass * cdefn, char* arglist, char* body, ItclMemberCode** mcodePtr); void (*itcl_DeleteMemberCode) (char* cdata); int (*itcl_GetMemberCode) (Tcl_Interp* interp, ItclMember* member); void *reserved60; int (*itcl_EvalMemberCode) (Tcl_Interp * interp, ItclMemberFunc * mfunc, ItclMember * member, ItclObject * contextObj, int objc, Tcl_Obj *const objv[]); int (*itcl_CreateArgList) (Tcl_Interp* interp, char* decl, int* argcPtr, CompiledLocal** argPtr); CompiledLocal* (*itcl_CreateArg) (char* name, char* init); void (*itcl_DeleteArgList) (CompiledLocal * arglist); Tcl_Obj* (*itcl_ArgList) (int argc, CompiledLocal* arglist); int (*itcl_EquivArgLists) (CompiledLocal* arg1, int arg1c, CompiledLocal* arg2, int arg2c); void (*itcl_GetMemberFuncUsage) (ItclMemberFunc * mfunc, ItclObject * contextObj, Tcl_Obj * objPtr); int (*itcl_ExecMethod) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ExecProc) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_AssignArgs) (Tcl_Interp * interp, int objc, Tcl_Obj *const objv[], ItclMemberFunc * mfunc); int (*itcl_ConstructBase) (Tcl_Interp * interp, ItclObject * contextObj, ItclClass * contextClass); int (*itcl_InvokeMethodIfExists) (Tcl_Interp * interp, char * name, ItclClass * contextClass, ItclObject * contextObj, int objc, Tcl_Obj *const objv[]); void *reserved73; int (*itcl_ReportFuncErrors) (Tcl_Interp* interp, ItclMemberFunc * mfunc, ItclObject * contextObj, int result); int (*itcl_ParseInit) (Tcl_Interp * interp, ItclObjectInfo * info); int (*itcl_ClassCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassInheritCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassProtectionCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassConstructorCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassDestructorCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassMethodCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassProcCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassVariableCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ClassCommonCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_ParseVarResolver) (Tcl_Interp * interp, char* name, Tcl_Namespace * contextNs, int flags, Tcl_Var* rPtr); int (*itcl_BiInit) (Tcl_Interp * interp); int (*itcl_InstallBiMethods) (Tcl_Interp * interp, ItclClass * cdefn); int (*itcl_BiIsaCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiConfigureCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiCgetCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiChainCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoClassCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoInheritCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoHeritageCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoFunctionCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoVariableCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoBodyCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_BiInfoArgsCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_DefaultInfoCmd) (ClientData dummy, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_EnsembleInit) (Tcl_Interp * interp); int (*itcl_CreateEnsemble) (Tcl_Interp * interp, char* ensName); int (*itcl_AddEnsemblePart) (Tcl_Interp * interp, char* ensName, char* partName, char* usageInfo, Tcl_ObjCmdProc * objProc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc); int (*itcl_GetEnsemblePart) (Tcl_Interp * interp, char * ensName, char * partName, Tcl_CmdInfo * infoPtr); int (*itcl_IsEnsemble) (Tcl_CmdInfo* infoPtr); int (*itcl_GetEnsembleUsage) (Tcl_Interp * interp, char * ensName, Tcl_Obj * objPtr); int (*itcl_GetEnsembleUsageForObj) (Tcl_Interp * interp, Tcl_Obj * ensObjPtr, Tcl_Obj * objPtr); int (*itcl_EnsembleCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_EnsPartCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_EnsembleErrorCmd) (ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *const objv[]); int (*itcl_OldInit) (Tcl_Interp* interp, ItclObjectInfo* info); int (*itcl_InstallOldBiMethods) (Tcl_Interp * interp, ItclClass * cdefn); Tcl_CallFrame* (*_Tcl_GetCallFrame) (Tcl_Interp * interp, int level); Tcl_CallFrame* (*_Tcl_ActivateCallFrame) (Tcl_Interp * interp, Tcl_CallFrame * framePtr); Var* (*_TclNewVar) (void); void (*itcl_Assert) (char * testExpr, char * fileName, int lineNum); } ItclIntStubs; extern ItclIntStubs *itclIntStubsPtr; # 250 "itcl/generic/itclInt.h" 2 # 34 "itcl/generic/itcl_class.c" 2 typedef struct ItclResolvedVarInfo { Tcl_ResolvedVarInfo vinfo; ItclVarLookup *vlookup; } ItclResolvedVarInfo; static void ItclDestroyClass (ClientData cdata); static void ItclDestroyClassNamesp (ClientData cdata); static void ItclFreeClass (char* cdata); static Tcl_Var ItclClassRuntimeVarResolver ( Tcl_Interp *interp, Tcl_ResolvedVarInfo *vinfoPtr); extern int itclCompatFlags; # 68 "itcl/generic/itcl_class.c" int Itcl_CreateClass(interp, path, info, rPtr) Tcl_Interp* interp; char* path; ItclObjectInfo *info; ItclClass **rPtr; { char *head, *tail; Tcl_DString buffer; Tcl_Command cmd; Tcl_Namespace *classNs; ItclClass *cdPtr; ItclVarDefn *vdefn; Tcl_HashEntry *entry; int newEntry; # 92 "itcl/generic/itcl_class.c" classNs = (tclIntStubsPtr->tcl_FindNamespace)(interp, path, (Tcl_Namespace*)((void *)0), 0); if (classNs != ((void *)0) && Itcl_IsClassNamespace(classNs)) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "class \"", path, "\" already exists", (char*)((void *)0)); return 1; } cmd = (tclIntStubsPtr->tcl_FindCommand)(interp, path, (Tcl_Namespace*)((void *)0), 2); if (cmd != ((void *)0) && !Itcl_IsStub(cmd)) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "command \"", path, "\" already exists", (char*)((void *)0)); if (strstr(path,"::") == ((void *)0)) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), " in namespace \"", (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp)->fullName, "\"", (char*)((void *)0)); } return 1; } Itcl_ParseNamespPath(path, &buffer, &head, &tail); if (strstr(tail,".")) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "bad class name \"", tail, "\"", (char*)((void *)0)); (tclStubsPtr->tcl_DStringFree)(&buffer); return 1; } (tclStubsPtr->tcl_DStringFree)(&buffer); cdPtr = (ItclClass*)(tclStubsPtr->tcl_Alloc)(sizeof(ItclClass)); cdPtr->name = ((void *)0); cdPtr->fullname = ((void *)0); cdPtr->interp = interp; cdPtr->info = info; Itcl_PreserveData((ClientData)info); cdPtr->namesp = ((void *)0); cdPtr->accessCmd = ((void *)0); (tclStubsPtr->tcl_InitHashTable)(&cdPtr->variables, 0); (tclStubsPtr->tcl_InitHashTable)(&cdPtr->functions, 0); cdPtr->numInstanceVars = 0; (tclStubsPtr->tcl_InitHashTable)(&cdPtr->resolveVars, 0); (tclStubsPtr->tcl_InitHashTable)(&cdPtr->resolveCmds, 0); Itcl_InitList(&cdPtr->bases); Itcl_InitList(&cdPtr->derived); cdPtr->initCode = ((void *)0); cdPtr->unique = 0; cdPtr->flags = 0; (tclStubsPtr->tcl_InitHashTable)(&cdPtr->heritage, 1); (void) (*((&cdPtr->heritage)->createProc))(&cdPtr->heritage, (char*)cdPtr, &newEntry); Itcl_PreserveData((ClientData)cdPtr); if (classNs == ((void *)0)) { classNs = (tclIntStubsPtr->tcl_CreateNamespace)(interp, path, (ClientData)cdPtr, ItclDestroyClassNamesp); } else { if (classNs->clientData && classNs->deleteProc) { (*classNs->deleteProc)(classNs->clientData); } classNs->clientData = (ClientData)cdPtr; classNs->deleteProc = ItclDestroyClassNamesp; } Itcl_EventuallyFree((ClientData)cdPtr, ItclFreeClass); if (classNs == ((void *)0)) { Itcl_ReleaseData((ClientData)cdPtr); return 1; } cdPtr->namesp = classNs; cdPtr->name = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(strlen(classNs->name)+1)); strcpy(cdPtr->name, classNs->name); cdPtr->fullname = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(strlen(classNs->fullName)+1)); strcpy(cdPtr->fullname, classNs->fullName); (tclIntStubsPtr->tcl_SetNamespaceResolvers)(classNs, Itcl_ClassCmdResolver, Itcl_ClassVarResolver, Itcl_ClassCompiledVarResolver); (void) Itcl_CreateVarDefn(interp, cdPtr, "this", (char*)((void *)0), (char*)((void *)0), &vdefn); vdefn->member->protection = 2; vdefn->member->flags |= 0x200; entry = (*((&cdPtr->variables)->createProc))(&cdPtr->variables, "this", &newEntry); ((entry)->clientData = (ClientData) ((ClientData)vdefn)); Itcl_PreserveData((ClientData)cdPtr); cdPtr->accessCmd = (tclStubsPtr->tcl_CreateObjCommand)(interp, cdPtr->fullname, Itcl_HandleClass, (ClientData)cdPtr, ItclDestroyClass); *rPtr = cdPtr; return 0; } # 259 "itcl/generic/itcl_class.c" int Itcl_DeleteClass(interp, cdefnPtr) Tcl_Interp *interp; ItclClass *cdefnPtr; { ItclClass *cdPtr = ((void *)0); Itcl_ListElem *elem; ItclObject *contextObj; Tcl_HashEntry *entry; Tcl_HashSearch place; Tcl_DString buffer; # 280 "itcl/generic/itcl_class.c" elem = ((&cdefnPtr->derived)->head); while (elem) { cdPtr = (ItclClass*)((elem)->value); elem = ((elem)->next); if (Itcl_DeleteClass(interp, cdPtr) != 0) { goto deleteClassFail; } } entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->info->objects, &place); while (entry) { contextObj = (ItclObject*)((entry)->clientData); if (contextObj->classDefn == cdefnPtr) { if (Itcl_DeleteObject(interp, contextObj) != 0) { cdPtr = cdefnPtr; goto deleteClassFail; } # 313 "itcl/generic/itcl_class.c" entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->info->objects, &place); continue; } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } # 329 "itcl/generic/itcl_class.c" (tclIntStubsPtr->tcl_DeleteNamespace)(cdefnPtr->namesp); return 0; deleteClassFail: (tclStubsPtr->tcl_DStringInit)(&buffer); (tclStubsPtr->tcl_DStringAppend)(&buffer, "\n (while deleting class \"", -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, cdPtr->namesp->fullName, -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, "\")", -1); (tclStubsPtr->tcl_AddErrorInfo)(interp, ((&buffer)->string)); (tclStubsPtr->tcl_DStringFree)(&buffer); return 1; } # 356 "itcl/generic/itcl_class.c" static void ItclDestroyClass(cdata) ClientData cdata; { ItclClass *cdefnPtr = (ItclClass*)cdata; cdefnPtr->accessCmd = ((void *)0); (tclIntStubsPtr->tcl_DeleteNamespace)(cdefnPtr->namesp); Itcl_ReleaseData((ClientData)cdefnPtr); } # 380 "itcl/generic/itcl_class.c" static void ItclDestroyClassNamesp(cdata) ClientData cdata; { ItclClass *cdefnPtr = (ItclClass*)cdata; ItclObject *contextObj; Itcl_ListElem *elem, *belem; ItclClass *cdPtr, *basePtr, *derivedPtr; Tcl_HashEntry *entry; Tcl_HashSearch place; # 398 "itcl/generic/itcl_class.c" elem = ((&cdefnPtr->derived)->head); while (elem) { cdPtr = (ItclClass*)((elem)->value); elem = ((elem)->next); (tclIntStubsPtr->tcl_DeleteNamespace)(cdPtr->namesp); } entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->info->objects, &place); while (entry) { contextObj = (ItclObject*)((entry)->clientData); if (contextObj->classDefn == cdefnPtr) { (tclStubsPtr->tcl_DeleteCommandFromToken)(cdefnPtr->interp, contextObj->accessCmd); entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->info->objects, &place); continue; } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } belem = ((&cdefnPtr->bases)->head); while (belem) { basePtr = (ItclClass*)((belem)->value); elem = ((&basePtr->derived)->head); while (elem) { derivedPtr = (ItclClass*)((elem)->value); if (derivedPtr == cdefnPtr) { Itcl_ReleaseData( ((elem)->value) ); elem = Itcl_DeleteListElem(elem); } else { elem = ((elem)->next); } } belem = ((belem)->next); } if (cdefnPtr->accessCmd) { Command *cmdPtr = (Command*)cdefnPtr->accessCmd; cmdPtr->deleteProc = Itcl_ReleaseData; (tclStubsPtr->tcl_DeleteCommandFromToken)(cdefnPtr->interp, cdefnPtr->accessCmd); } Itcl_ReleaseData((ClientData)cdefnPtr); } # 475 "itcl/generic/itcl_class.c" static void ItclFreeClass(cdata) char *cdata; { ItclClass *cdefnPtr = (ItclClass*)cdata; int newEntry; Itcl_ListElem *elem; Tcl_HashSearch place; Tcl_HashEntry *entry, *hPtr; ItclVarDefn *vdefn; ItclVarLookup *vlookup; Var *varPtr; Tcl_HashTable varTable; elem = ((&cdefnPtr->derived)->head); while (elem) { Itcl_ReleaseData( ((elem)->value) ); elem = ((elem)->next); } Itcl_DeleteList(&cdefnPtr->derived); (tclStubsPtr->tcl_InitHashTable)(&varTable, 0); entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->resolveVars, &place); while (entry) { vlookup = (ItclVarLookup*)((entry)->clientData); if (--vlookup->usage == 0) { if ( (vlookup->vdefn->member->flags & 0x040) != 0 && vlookup->vdefn->member->classDefn == cdefnPtr ) { varPtr = (Var*)vlookup->var.common; if (--varPtr->refCount == 0) { hPtr = (*((&varTable)->createProc))(&varTable, vlookup->vdefn->member->fullname, &newEntry); ((hPtr)->clientData = (ClientData) ((ClientData) varPtr)); } } (tclStubsPtr->tcl_Free)((char*)vlookup); } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } (tclIntStubsPtr->tclDeleteVars)((Interp*)cdefnPtr->interp, &varTable); (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->resolveVars); (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->resolveCmds); entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->variables, &place); while (entry) { vdefn = (ItclVarDefn*)((entry)->clientData); Itcl_DeleteVarDefn(vdefn); entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->variables); entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->functions, &place); while (entry) { Itcl_ReleaseData( ((entry)->clientData) ); entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->functions); elem = ((&cdefnPtr->bases)->head); while (elem) { Itcl_ReleaseData( ((elem)->value) ); elem = ((elem)->next); } Itcl_DeleteList(&cdefnPtr->bases); (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->heritage); if (cdefnPtr->initCode) { if (--(cdefnPtr->initCode)->refCount <= 0) (tclStubsPtr->tclFreeObj)(cdefnPtr->initCode); } Itcl_ReleaseData((ClientData)cdefnPtr->info); (tclStubsPtr->tcl_Free)(cdefnPtr->name); (tclStubsPtr->tcl_Free)(cdefnPtr->fullname); (tclStubsPtr->tcl_Free)((char*)cdefnPtr); } # 597 "itcl/generic/itcl_class.c" int Itcl_IsClassNamespace(namesp) Tcl_Namespace *namesp; { Namespace *nsPtr = (Namespace*)namesp; if (nsPtr != ((void *)0)) { return (nsPtr->deleteProc == ItclDestroyClassNamesp); } return 0; } # 618 "itcl/generic/itcl_class.c" int Itcl_IsClass(cmd) Tcl_Command cmd; { Command *cmdPtr = (Command*)cmd; if (cmdPtr->deleteProc == ItclDestroyClass) { return 1; } cmdPtr = (Command*)(tclIntStubsPtr->tclGetOriginalCommand)(cmd); if (cmdPtr && cmdPtr->deleteProc == ItclDestroyClass) { return 1; } return 0; } # 652 "itcl/generic/itcl_class.c" ItclClass* Itcl_FindClass(interp, path, autoload) Tcl_Interp* interp; char* path; { Tcl_Namespace* classNs; classNs = Itcl_FindClassNamespace(interp, path); if (classNs && Itcl_IsClassNamespace(classNs)) { return (ItclClass*)classNs->clientData; } if (autoload) { if ((tclStubsPtr->tcl_VarEval)(interp, "::auto_load ", path, (char*)((void *)0)) != 0) { char msg[256]; sprintf(msg, "\n (while attempting to autoload class \"%.200s\")", path); (tclStubsPtr->tcl_AddErrorInfo)(interp, msg); return ((void *)0); } (tclStubsPtr->tcl_ResetResult)(interp); classNs = Itcl_FindClassNamespace(interp, path); if (classNs && Itcl_IsClassNamespace(classNs)) { return (ItclClass*)classNs->clientData; } } (tclStubsPtr->tcl_AppendResult)(interp, "class \"", path, "\" not found in context \"", (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp)->fullName, "\"", (char*)((void *)0)); return ((void *)0); } # 717 "itcl/generic/itcl_class.c" Tcl_Namespace* Itcl_FindClassNamespace(interp, path) Tcl_Interp* interp; char* path; { Tcl_Namespace* contextNs = (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp); Tcl_Namespace* classNs; Tcl_DString buffer; classNs = (tclIntStubsPtr->tcl_FindNamespace)(interp, path, (Tcl_Namespace*)((void *)0), 0); if ( !classNs && contextNs->parentPtr != ((void *)0) && (*path != ':' || *(path+1) != ':') ) { if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (contextNs->name) && __builtin_constant_p (path) && (__s1_len = strlen (contextNs->name), __s2_len = strlen (path), (!((size_t)(const void *)((contextNs->name) + 1) - (size_t)(const void *)(contextNs->name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((path) + 1) - (size_t)(const void *)(path) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (contextNs->name), (__const char *) (path), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (contextNs->name) && ((size_t)(const void *)((contextNs->name) + 1) - (size_t)(const void *)(contextNs->name) == 1) && (__s1_len = strlen (contextNs->name), __s1_len < 4) ? (__builtin_constant_p (path) && ((size_t)(const void *)((path) + 1) - (size_t)(const void *)(path) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (contextNs->name))[0] - ((__const unsigned char *) (__const char *)(path))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[1] - ((__const unsigned char *) (__const char *) (path))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[2] - ((__const unsigned char *) (__const char *) (path))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (contextNs->name))[3] - ((__const unsigned char *) (__const char *) (path))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (path); register int __result = (((__const unsigned char *) (__const char *) (contextNs->name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (contextNs->name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (path) && ((size_t)(const void *)((path) + 1) - (size_t)(const void *)(path) == 1) && (__s2_len = strlen (path), __s2_len < 4) ? (__builtin_constant_p (contextNs->name) && ((size_t)(const void *)((contextNs->name) + 1) - (size_t)(const void *)(contextNs->name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (contextNs->name))[0] - ((__const unsigned char *) (__const char *)(path))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[1] - ((__const unsigned char *) (__const char *) (path))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (contextNs->name))[2] - ((__const unsigned char *) (__const char *) (path))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (contextNs->name))[3] - ((__const unsigned char *) (__const char *) (path))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (contextNs->name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (path))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (path))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (path))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (path))[3]); } } __result; }))) : strcmp (contextNs->name, path)))); }) == 0) { classNs = contextNs; } else { (tclStubsPtr->tcl_DStringInit)(&buffer); (tclStubsPtr->tcl_DStringAppend)(&buffer, "::", -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, path, -1); classNs = (tclIntStubsPtr->tcl_FindNamespace)(interp, ((&buffer)->string), (Tcl_Namespace*)((void *)0), 0); (tclStubsPtr->tcl_DStringFree)(&buffer); } } return classNs; } # 776 "itcl/generic/itcl_class.c" int Itcl_HandleClass(clientData, interp, objc, objv) ClientData clientData; Tcl_Interp *interp; int objc; Tcl_Obj *const objv[]; { ItclClass *cdefnPtr = (ItclClass*)clientData; int result = 0; char unique[256]; Tcl_DString buffer; char *token, *objName, tmp, *start, *pos, *match; ItclObject *newObj; Tcl_CallFrame frame; # 800 "itcl/generic/itcl_class.c" if (objc == 1) { return 0; } # 811 "itcl/generic/itcl_class.c" token = (tclStubsPtr->tcl_GetStringFromObj)(objv[1], (int*)((void *)0)); if ((*token == ':') && (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (token) && __builtin_constant_p ("::") && (__s1_len = strlen (token), __s2_len = strlen ("::"), (!((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("::") + 1) - (size_t)(const void *)("::") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (token), (__const char *) ("::"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) && (__s1_len = strlen (token), __s1_len < 4) ? (__builtin_constant_p ("::") && ((size_t)(const void *)(("::") + 1) - (size_t)(const void *)("::") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (token))[0] - ((__const unsigned char *) (__const char *)("::"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - ((__const unsigned char *) (__const char *) ("::"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - ((__const unsigned char *) (__const char *) ("::"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - ((__const unsigned char *) (__const char *) ("::"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("::"); register int __result = (((__const unsigned char *) (__const char *) (token))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("::") && ((size_t)(const void *)(("::") + 1) - (size_t)(const void *)("::") == 1) && (__s2_len = strlen ("::"), __s2_len < 4) ? (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (token))[0] - ((__const unsigned char *) (__const char *)("::"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - ((__const unsigned char *) (__const char *) ("::"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - ((__const unsigned char *) (__const char *) ("::"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - ((__const unsigned char *) (__const char *) ("::"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (token); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("::"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("::"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("::"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("::"))[3]); } } __result; }))) : strcmp (token, "::")))); }) == 0) && (objc > 2)) { if ((cdefnPtr->flags & 0x100) != 0) { result = (tclIntStubsPtr->tcl_PushCallFrame)(interp, &frame, cdefnPtr->namesp, 0); if (result != 0) { return result; } result = Itcl_EvalArgs(interp, objc-2, objv+2); (tclIntStubsPtr->tcl_PopCallFrame)(interp); return result; } (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "syntax \"class :: proc\" is an anachronism\n", "[incr Tcl] no longer supports this syntax.\n", "Instead, remove the spaces from your procedure invocations:\n", " ", (tclStubsPtr->tcl_GetStringFromObj)(objv[0], (int*)((void *)0)), "::", (tclStubsPtr->tcl_GetStringFromObj)(objv[2], (int*)((void *)0)), " ?args?", (char*)((void *)0)); return 1; } (tclStubsPtr->tcl_DStringInit)(&buffer); objName = ((void *)0); match = "#auto"; start = token; for (pos=start; *pos != '\0'; pos++) { if (*pos == *match) { if (*(++match) == '\0') { tmp = *start; *start = '\0'; do { Tcl_CmdInfo dummy; sprintf(unique,"%.200s%d", cdefnPtr->name, cdefnPtr->unique++); unique[0] = (__extension__ ({ int __res; if (sizeof (unique[0]) > 1) { if (__builtin_constant_p (unique[0])) { int __c = (unique[0]); __res = __c < -128 || __c > 255 ? __c : (*__ctype_tolower_loc ())[__c]; } else __res = tolower (unique[0]); } else __res = (*__ctype_tolower_loc ())[(int) (unique[0])]; __res; })); (tclStubsPtr->tcl_DStringSetLength)(&buffer, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer, token, -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, unique, -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, start+5, -1); objName = ((&buffer)->string); if ((tclStubsPtr->tcl_GetCommandInfo) (interp, objName, &dummy) == 0) { break; } } while (1); *start = tmp; objName = ((&buffer)->string); break; } } else { match = "#auto"; pos = start++; } } if (objName == ((void *)0)) { objName = token; } result = Itcl_CreateObject(interp, objName, cdefnPtr, objc-2, objv+2, &newObj); if (result == 0) { (tclStubsPtr->tcl_SetResult)(interp, objName, ((Tcl_FreeProc *) 1)); } (tclStubsPtr->tcl_DStringFree)(&buffer); return result; } # 934 "itcl/generic/itcl_class.c" int Itcl_ClassCmdResolver(interp, name, context, flags, rPtr) Tcl_Interp *interp; const char* name; Tcl_Namespace *context; int flags; Tcl_Command *rPtr; { ItclClass *cdefn = (ItclClass*)context->clientData; Tcl_HashEntry *entry; ItclMemberFunc *mfunc; Command *cmdPtr; int isCmdDeleted; entry = (*((&cdefn->resolveCmds)->findProc))(&cdefn->resolveCmds, name); if (!entry) { return 4; } mfunc = (ItclMemberFunc*)((entry)->clientData); # 970 "itcl/generic/itcl_class.c" if (mfunc->member->protection != 1) { context = Itcl_GetTrueNamespace(interp, cdefn->info); if (!Itcl_CanAccessFunc(mfunc, context)) { if ((flags & 0x200) != 0) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "can't access \"", name, "\": ", Itcl_ProtectionStr(mfunc->member->protection), " variable", (char*)((void *)0)); } return 1; } } # 994 "itcl/generic/itcl_class.c" cmdPtr = (Command*)mfunc->accessCmd; # 1012 "itcl/generic/itcl_class.c" isCmdDeleted = (!cmdPtr || (itclCompatFlags & 0x0001 ? (cmdPtr->flags & 0x1) : cmdPtr->flags)); if (isCmdDeleted) { mfunc->accessCmd = ((void *)0); if ((flags & 0x200) != 0) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "can't access \"", name, "\": deleted or redefined\n", "(use the \"body\" command to redefine methods/procs)", (char*)((void *)0)); } return 1; } *rPtr = mfunc->accessCmd; return 0; } # 1053 "itcl/generic/itcl_class.c" int Itcl_ClassVarResolver(interp, name, context, flags, rPtr) Tcl_Interp *interp; char* name; Tcl_Namespace *context; int flags; Tcl_Var *rPtr; { Interp *iPtr = (Interp *) interp; CallFrame *varFramePtr = iPtr->varFramePtr; ItclClass *cdefn = (ItclClass*)context->clientData; ItclObject *contextObj; Tcl_CallFrame *framePtr; Tcl_HashEntry *entry; ItclVarLookup *vlookup; (void)((Itcl_IsClassNamespace(context)) || (Itcl_Assert("Itcl_IsClassNamespace(context)", "itcl/generic/itcl_class.c", 1071), 0)); if (flags & 1) { return 4; } # 1088 "itcl/generic/itcl_class.c" if (varFramePtr && varFramePtr->isProcCallFrame && strstr(name,"::") == ((void *)0)) { Proc *procPtr = varFramePtr->procPtr; if (procPtr) { int localCt = procPtr->numCompiledLocals; CompiledLocal *localPtr = procPtr->firstLocalPtr; Var *localVarPtr = varFramePtr->compiledLocals; int nameLen = strlen(name); int i; for (i=0; i < localCt; i++) { if (!((localPtr)->flags & 0x200)) { register char *localName = localVarPtr->name; if ((name[0] == localName[0]) && (nameLen == localPtr->nameLength) && (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (name) && __builtin_constant_p (localName) && (__s1_len = strlen (name), __s2_len = strlen (localName), (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((localName) + 1) - (size_t)(const void *)(localName) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (name), (__const char *) (localName), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s1_len = strlen (name), __s1_len < 4) ? (__builtin_constant_p (localName) && ((size_t)(const void *)((localName) + 1) - (size_t)(const void *)(localName) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (name))[0] - ((__const unsigned char *) (__const char *)(localName))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[1] - ((__const unsigned char *) (__const char *) (localName))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[2] - ((__const unsigned char *) (__const char *) (localName))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (name))[3] - ((__const unsigned char *) (__const char *) (localName))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (localName); register int __result = (((__const unsigned char *) (__const char *) (name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (localName) && ((size_t)(const void *)((localName) + 1) - (size_t)(const void *)(localName) == 1) && (__s2_len = strlen (localName), __s2_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (name))[0] - ((__const unsigned char *) (__const char *)(localName))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[1] - ((__const unsigned char *) (__const char *) (localName))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[2] - ((__const unsigned char *) (__const char *) (localName))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (name))[3] - ((__const unsigned char *) (__const char *) (localName))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (localName))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (localName))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (localName))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (localName))[3]); } } __result; }))) : strcmp (name, localName)))); }) == 0)) { *rPtr = (Tcl_Var)localVarPtr; return 0; } } localVarPtr++; localPtr = localPtr->nextPtr; } } if (varFramePtr->varTablePtr != ((void *)0)) { entry = (*((varFramePtr->varTablePtr)->findProc))(varFramePtr->varTablePtr, name); if (entry != ((void *)0)) { *rPtr = (Tcl_Var)((entry)->clientData); return 0; } } } entry = (*((&cdefn->resolveVars)->findProc))(&cdefn->resolveVars, name); if (entry == ((void *)0)) { return 4; } vlookup = (ItclVarLookup*)((entry)->clientData); if (!vlookup->accessible) { return 4; } if ((vlookup->vdefn->member->flags & 0x040) != 0) { *rPtr = vlookup->var.common; return 0; } framePtr = _Tcl_GetCallFrame(interp, 0); entry = (*((&cdefn->info->contextFrames)->findProc))(&cdefn->info->contextFrames, (char*)framePtr); if (entry == ((void *)0)) { return 4; } contextObj = (ItclObject*)((entry)->clientData); # 1174 "itcl/generic/itcl_class.c" if (contextObj->classDefn != vlookup->vdefn->member->classDefn) { entry = (*((&contextObj->classDefn->resolveVars)->findProc))(&contextObj->classDefn->resolveVars, vlookup->vdefn->member->fullname); if (entry) { vlookup = (ItclVarLookup*)((entry)->clientData); } } *rPtr = (Tcl_Var)contextObj->data[vlookup->var.index]; return 0; } # 1206 "itcl/generic/itcl_class.c" int Itcl_ClassCompiledVarResolver(interp, name, length, context, rPtr) Tcl_Interp *interp; char* name; int length; Tcl_Namespace *context; Tcl_ResolvedVarInfo **rPtr; { ItclClass *cdefn = (ItclClass*)context->clientData; Tcl_HashEntry *entry; ItclVarLookup *vlookup; char *buffer, storage[64]; (void)((Itcl_IsClassNamespace(context)) || (Itcl_Assert("Itcl_IsClassNamespace(context)", "itcl/generic/itcl_class.c", 1220), 0)); if (length < sizeof(storage)) { buffer = storage; } else { buffer = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(length+1)); } memcpy((void*)buffer, (void*)name, (size_t)length); buffer[length] = '\0'; entry = (*((&cdefn->resolveVars)->findProc))(&cdefn->resolveVars, buffer); if (buffer != storage) { (tclStubsPtr->tcl_Free)(buffer); } if (entry == ((void *)0)) { return 4; } vlookup = (ItclVarLookup*)((entry)->clientData); if (!vlookup->accessible) { return 4; } (*rPtr) = (Tcl_ResolvedVarInfo *) (tclStubsPtr->tcl_Alloc)(sizeof(ItclResolvedVarInfo)); (*rPtr)->fetchProc = ItclClassRuntimeVarResolver; (*rPtr)->deleteProc = ((void *)0); ((ItclResolvedVarInfo*)(*rPtr))->vlookup = vlookup; return 0; } # 1278 "itcl/generic/itcl_class.c" static Tcl_Var ItclClassRuntimeVarResolver(interp, resVarInfo) Tcl_Interp *interp; Tcl_ResolvedVarInfo *resVarInfo; { ItclVarLookup *vlookup = ((ItclResolvedVarInfo*)resVarInfo)->vlookup; Tcl_CallFrame *framePtr; ItclClass *cdefn; ItclObject *contextObj; Tcl_HashEntry *entry; if ((vlookup->vdefn->member->flags & 0x040) != 0) { return vlookup->var.common; } cdefn = vlookup->vdefn->member->classDefn; # 1307 "itcl/generic/itcl_class.c" framePtr = _Tcl_GetCallFrame(interp, 0); entry = (*((&cdefn->info->contextFrames)->findProc))(&cdefn->info->contextFrames, (char*)framePtr); if (entry) { contextObj = (ItclObject*)((entry)->clientData); if (contextObj != ((void *)0)) { if (contextObj->classDefn != vlookup->vdefn->member->classDefn) { entry = (*((&contextObj->classDefn->resolveVars)->findProc))(&contextObj->classDefn->resolveVars, vlookup->vdefn->member->fullname); if (entry) { vlookup = (ItclVarLookup*)((entry)->clientData); } } return (Tcl_Var)contextObj->data[vlookup->var.index]; } } return ((void *)0); } # 1352 "itcl/generic/itcl_class.c" void Itcl_BuildVirtualTables(cdefnPtr) ItclClass* cdefnPtr; { Tcl_HashEntry *entry, *hPtr; Tcl_HashSearch place; ItclVarLookup *vlookup; ItclVarDefn *vdefn; ItclMemberFunc *mfunc; ItclHierIter hier; ItclClass *cdPtr; Namespace* nsPtr; Tcl_DString buffer, buffer2; int newEntry; (tclStubsPtr->tcl_DStringInit)(&buffer); (tclStubsPtr->tcl_DStringInit)(&buffer2); entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdefnPtr->resolveVars, &place); while (entry) { vlookup = (ItclVarLookup*)((entry)->clientData); if (--vlookup->usage == 0) { (tclStubsPtr->tcl_Free)((char*)vlookup); } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->resolveVars); (tclStubsPtr->tcl_InitHashTable)(&cdefnPtr->resolveVars, 0); cdefnPtr->numInstanceVars = 0; cdefnPtr->numInstanceVars++; Itcl_InitHierIter(&hier, cdefnPtr); cdPtr = Itcl_AdvanceHierIter(&hier); while (cdPtr != ((void *)0)) { entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdPtr->variables, &place); while (entry) { vdefn = (ItclVarDefn*)((entry)->clientData); vlookup = (ItclVarLookup*)(tclStubsPtr->tcl_Alloc)(sizeof(ItclVarLookup)); vlookup->vdefn = vdefn; vlookup->usage = 0; vlookup->leastQualName = ((void *)0); vlookup->accessible = ( vdefn->member->protection != 3 || vdefn->member->classDefn == cdefnPtr ); if ((vdefn->member->flags & 0x040) != 0) { nsPtr = (Namespace*)cdPtr->namesp; hPtr = (*((&nsPtr->varTable)->findProc))(&nsPtr->varTable, vdefn->member->name); (void)((hPtr != ((void *)0)) || (Itcl_Assert("hPtr != NULL", "itcl/generic/itcl_class.c", 1425), 0)); vlookup->var.common = (Tcl_Var)((hPtr)->clientData); } else { if ((vdefn->member->flags & 0x200) != 0) { vlookup->var.index = 0; } else { vlookup->var.index = cdefnPtr->numInstanceVars++; } } # 1452 "itcl/generic/itcl_class.c" (tclStubsPtr->tcl_DStringSetLength)(&buffer, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer, vdefn->member->name, -1); nsPtr = (Namespace*)cdPtr->namesp; while (1) { entry = (*((&cdefnPtr->resolveVars)->createProc))(&cdefnPtr->resolveVars, ((&buffer)->string), &newEntry); if (newEntry) { ((entry)->clientData = (ClientData) ((ClientData)vlookup)); vlookup->usage++; if (!vlookup->leastQualName) { vlookup->leastQualName = ((char *) (((&cdefnPtr->resolveVars)->keyType == 1 || (&cdefnPtr->resolveVars)->keyType == -1) ? (entry)->key.oneWordValue : (entry)->key.string)); } } if (nsPtr == ((void *)0)) { break; } (tclStubsPtr->tcl_DStringSetLength)(&buffer2, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer2, ((&buffer)->string), -1); (tclStubsPtr->tcl_DStringSetLength)(&buffer, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer, nsPtr->name, -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, "::", -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, ((&buffer2)->string), -1); nsPtr = nsPtr->parentPtr; } if (vlookup->usage == 0) { (tclStubsPtr->tcl_Free)((char*)vlookup); } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } cdPtr = Itcl_AdvanceHierIter(&hier); } Itcl_DeleteHierIter(&hier); (tclStubsPtr->tcl_DeleteHashTable)(&cdefnPtr->resolveCmds); (tclStubsPtr->tcl_InitHashTable)(&cdefnPtr->resolveCmds, 0); Itcl_InitHierIter(&hier, cdefnPtr); cdPtr = Itcl_AdvanceHierIter(&hier); while (cdPtr != ((void *)0)) { entry = (tclStubsPtr->tcl_FirstHashEntry)(&cdPtr->functions, &place); while (entry) { mfunc = (ItclMemberFunc*)((entry)->clientData); # 1522 "itcl/generic/itcl_class.c" (tclStubsPtr->tcl_DStringSetLength)(&buffer, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer, mfunc->member->name, -1); nsPtr = (Namespace*)cdPtr->namesp; while (1) { entry = (*((&cdefnPtr->resolveCmds)->createProc))(&cdefnPtr->resolveCmds, ((&buffer)->string), &newEntry); if (newEntry) { ((entry)->clientData = (ClientData) ((ClientData)mfunc)); } if (nsPtr == ((void *)0)) { break; } (tclStubsPtr->tcl_DStringSetLength)(&buffer2, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer2, ((&buffer)->string), -1); (tclStubsPtr->tcl_DStringSetLength)(&buffer, 0); (tclStubsPtr->tcl_DStringAppend)(&buffer, nsPtr->name, -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, "::", -1); (tclStubsPtr->tcl_DStringAppend)(&buffer, ((&buffer2)->string), -1); nsPtr = nsPtr->parentPtr; } entry = (tclStubsPtr->tcl_NextHashEntry)(&place); } cdPtr = Itcl_AdvanceHierIter(&hier); } Itcl_DeleteHierIter(&hier); (tclStubsPtr->tcl_DStringFree)(&buffer); (tclStubsPtr->tcl_DStringFree)(&buffer2); } # 1571 "itcl/generic/itcl_class.c" int Itcl_CreateVarDefn(interp, cdefn, name, init, config, vdefnPtr) Tcl_Interp *interp; ItclClass* cdefn; char* name; char* init; char* config; ItclVarDefn** vdefnPtr; { int newEntry; ItclVarDefn *vdefn; ItclMemberCode *mcode; Tcl_HashEntry *entry; entry = (*((&cdefn->variables)->createProc))(&cdefn->variables, name, &newEntry); if (!newEntry) { (tclStubsPtr->tcl_AppendStringsToObj)((tclStubsPtr->tcl_GetObjResult)(interp), "variable name \"", name, "\" already defined in class \"", cdefn->fullname, "\"", (char*)((void *)0)); return 1; } if (config) { if (Itcl_CreateMemberCode(interp, cdefn, (char*)((void *)0), config, &mcode) != 0) { (tclStubsPtr->tcl_DeleteHashEntry)(entry); return 1; } Itcl_PreserveData((ClientData)mcode); Itcl_EventuallyFree((ClientData)mcode, Itcl_DeleteMemberCode); } else { mcode = ((void *)0); } vdefn = (ItclVarDefn*)(tclStubsPtr->tcl_Alloc)(sizeof(ItclVarDefn)); vdefn->member = Itcl_CreateMember(interp, cdefn, name); vdefn->member->code = mcode; if (vdefn->member->protection == 4) { vdefn->member->protection = 2; } if (init) { vdefn->init = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(strlen(init)+1)); strcpy(vdefn->init, init); } else { vdefn->init = ((void *)0); } ((entry)->clientData = (ClientData) ((ClientData)vdefn)); *vdefnPtr = vdefn; return 0; } # 1650 "itcl/generic/itcl_class.c" void Itcl_DeleteVarDefn(vdefn) ItclVarDefn *vdefn; { Itcl_DeleteMember(vdefn->member); if (vdefn->init) { (tclStubsPtr->tcl_Free)(vdefn->init); } (tclStubsPtr->tcl_Free)((char*)vdefn); } # 1678 "itcl/generic/itcl_class.c" char* Itcl_GetCommonVar(interp, name, contextClass) Tcl_Interp *interp; char *name; ItclClass *contextClass; { char *val = ((void *)0); int result; Tcl_CallFrame frame; result = (tclIntStubsPtr->tcl_PushCallFrame)(interp, &frame, contextClass->namesp, 0); if (result == 0) { val = (tclStubsPtr->tcl_GetVar2)(interp, name, (char*)((void *)0), 0); (tclIntStubsPtr->tcl_PopCallFrame)(interp); } return val; } # 1713 "itcl/generic/itcl_class.c" ItclMember* Itcl_CreateMember(interp, cdefn, name) Tcl_Interp* interp; ItclClass *cdefn; char* name; { ItclMember *memPtr; int fullsize; memPtr = (ItclMember*)(tclStubsPtr->tcl_Alloc)(sizeof(ItclMember)); memPtr->interp = interp; memPtr->classDefn = cdefn; memPtr->flags = 0; memPtr->protection = Itcl_Protection(interp, 0); memPtr->code = ((void *)0); fullsize = strlen(cdefn->fullname) + strlen(name) + 2; memPtr->fullname = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(fullsize+1)); strcpy(memPtr->fullname, cdefn->fullname); strcat(memPtr->fullname, "::"); strcat(memPtr->fullname, name); memPtr->name = (char*)(tclStubsPtr->tcl_Alloc)((unsigned)(strlen(name)+1)); strcpy(memPtr->name, name); return memPtr; } # 1753 "itcl/generic/itcl_class.c" void Itcl_DeleteMember(memPtr) ItclMember *memPtr; { if (memPtr) { (tclStubsPtr->tcl_Free)(memPtr->name); (tclStubsPtr->tcl_Free)(memPtr->fullname); if (memPtr->code) { Itcl_ReleaseData((ClientData)memPtr->code); } memPtr->code = ((void *)0); (tclStubsPtr->tcl_Free)((char*)memPtr); } } # 1780 "itcl/generic/itcl_class.c" void Itcl_InitHierIter(iter,cdefn) ItclHierIter *iter; ItclClass *cdefn; { Itcl_InitStack(&iter->stack); Itcl_PushStack((ClientData)cdefn, &iter->stack); iter->current = cdefn; } # 1798 "itcl/generic/itcl_class.c" void Itcl_DeleteHierIter(iter) ItclHierIter *iter; { Itcl_DeleteStack(&iter->stack); iter->current = ((void *)0); } # 1815 "itcl/generic/itcl_class.c" ItclClass* Itcl_AdvanceHierIter(iter) ItclHierIter *iter; { register Itcl_ListElem *elem; ItclClass *cdPtr; iter->current = (ItclClass*)Itcl_PopStack(&iter->stack); if (iter->current) { cdPtr = (ItclClass*)iter->current; elem = ((&cdPtr->bases)->tail); while (elem) { Itcl_PushStack(((elem)->value), &iter->stack); elem = ((elem)->prev); } } return iter->current; }