0000: 23 20 74 63 6c 2e 64 65 63 6c 73 20 2d 2d 0a 23 # tcl.decls --.#
0010: 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e .#.This file con
0020: 74 61 69 6e 73 20 74 68 65 20 64 65 63 6c 61 72 tains the declar
0030: 61 74 69 6f 6e 73 20 66 6f 72 20 61 6c 6c 20 73 ations for all s
0040: 75 70 70 6f 72 74 65 64 20 70 75 62 6c 69 63 0a upported public.
0050: 23 09 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 #.functions that
0060: 20 61 72 65 20 65 78 70 6f 72 74 65 64 20 62 79 are exported by
0070: 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 the Tcl library
0080: 20 76 69 61 20 74 68 65 20 73 74 75 62 73 20 74 via the stubs t
0090: 61 62 6c 65 2e 0a 23 09 54 68 69 73 20 66 69 6c able..#.This fil
00a0: 65 20 69 73 20 75 73 65 64 20 74 6f 20 67 65 6e e is used to gen
00b0: 65 72 61 74 65 20 74 68 65 20 74 63 6c 44 65 63 erate the tclDec
00c0: 6c 73 2e 68 2c 20 74 63 6c 50 6c 61 74 44 65 63 ls.h, tclPlatDec
00d0: 6c 73 2e 68 0a 23 09 61 6e 64 20 74 63 6c 53 74 ls.h.#.and tclSt
00e0: 75 62 49 6e 69 74 2e 63 20 66 69 6c 65 73 2e 0a ubInit.c files..
00f0: 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 #.# Copyright ©
0100: 20 31 39 39 38 2d 31 39 39 39 20 53 63 72 69 70 1998-1999 Scrip
0110: 74 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e tics Corporation
0120: 2e 0a 23 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 ..# Copyright ©
0130: 20 32 30 30 31 2c 20 32 30 30 32 20 4b 65 76 69 2001, 2002 Kevi
0140: 6e 20 42 2e 20 4b 65 6e 6e 79 2e 20 20 41 6c 6c n B. Kenny. All
0150: 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 rights reserved
0160: 2e 0a 23 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 ..# Copyright ©
0170: 20 32 30 30 37 20 44 61 6e 69 65 6c 20 41 2e 20 2007 Daniel A.
0180: 53 74 65 66 66 65 6e 20 3c 64 61 73 40 75 73 65 Steffen <das@use
0190: 72 73 2e 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e rs.sourceforge.n
01a0: 65 74 3e 0a 23 0a 23 20 53 65 65 20 74 68 65 20 et>.#.# See the
01b0: 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 file "license.te
01c0: 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 rms" for informa
01d0: 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e tion on usage an
01e0: 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e d redistribution
01f0: 0a 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c .# of this file,
0200: 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c and for a DISCL
0210: 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 AIMER OF ALL WAR
0220: 52 41 4e 54 49 45 53 2e 0a 0a 6c 69 62 72 61 72 RANTIES...librar
0230: 79 20 74 63 6c 0a 0a 23 20 44 65 66 69 6e 65 20 y tcl..# Define
0240: 74 68 65 20 74 63 6c 20 69 6e 74 65 72 66 61 63 the tcl interfac
0250: 65 20 77 69 74 68 20 73 65 76 65 72 61 6c 20 73 e with several s
0260: 75 62 20 69 6e 74 65 72 66 61 63 65 73 3a 0a 23 ub interfaces:.#
0270: 20 20 20 20 20 74 63 6c 50 6c 61 74 09 20 2d 20 tclPlat. -
0280: 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69 66 69 platform specifi
0290: 63 20 70 75 62 6c 69 63 0a 23 20 20 20 20 20 74 c public.# t
02a0: 63 6c 49 6e 74 09 20 2d 20 67 65 6e 65 72 69 63 clInt. - generic
02b0: 20 70 72 69 76 61 74 65 0a 23 20 20 20 20 20 74 private.# t
02c0: 63 6c 50 6c 61 74 49 6e 74 20 2d 20 70 6c 61 74 clPlatInt - plat
02d0: 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20 70 72 form specific pr
02e0: 69 76 61 74 65 0a 0a 69 6e 74 65 72 66 61 63 65 ivate..interface
02f0: 20 74 63 6c 0a 68 6f 6f 6b 73 20 7b 74 63 6c 50 tcl.hooks {tclP
0300: 6c 61 74 20 74 63 6c 49 6e 74 20 74 63 6c 49 6e lat tclInt tclIn
0310: 74 50 6c 61 74 7d 0a 73 63 73 70 65 63 20 45 58 tPlat}.scspec EX
0320: 54 45 52 4e 0a 0a 23 20 44 65 63 6c 61 72 65 20 TERN..# Declare
0330: 65 61 63 68 20 6f 66 20 74 68 65 20 66 75 6e 63 each of the func
0340: 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 70 75 62 tions in the pub
0350: 6c 69 63 20 54 63 6c 20 69 6e 74 65 72 66 61 63 lic Tcl interfac
0360: 65 2e 20 20 4e 6f 74 65 20 74 68 61 74 0a 23 20 e. Note that.#
0370: 74 68 65 20 61 6e 20 69 6e 64 65 78 20 73 68 6f the an index sho
0380: 75 6c 64 20 6e 65 76 65 72 20 62 65 20 72 65 75 uld never be reu
0390: 73 65 64 20 66 6f 72 20 61 20 64 69 66 66 65 72 sed for a differ
03a0: 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 ent function in
03b0: 6f 72 64 65 72 0a 23 20 74 6f 20 70 72 65 73 65 order.# to prese
03c0: 72 76 65 20 62 61 63 6b 77 61 72 64 73 20 63 6f rve backwards co
03d0: 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 64 65 mpatibility...de
03e0: 63 6c 61 72 65 20 30 20 7b 0a 20 20 20 20 69 6e clare 0 {. in
03f0: 74 20 54 63 6c 5f 50 6b 67 50 72 6f 76 69 64 65 t Tcl_PkgProvide
0400: 45 78 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 Ex(Tcl_Interp *i
0410: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
0420: 72 20 2a 6e 61 6d 65 2c 0a 09 20 20 20 20 63 6f r *name,.. co
0430: 6e 73 74 20 63 68 61 72 20 2a 76 65 72 73 69 6f nst char *versio
0440: 6e 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 63 n, const void *c
0450: 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 lientData).}.dec
0460: 6c 61 72 65 20 31 20 7b 0a 20 20 20 20 63 6f 6e lare 1 {. con
0470: 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 50 6b 67 st char *Tcl_Pkg
0480: 52 65 71 75 69 72 65 45 78 28 54 63 6c 5f 49 6e RequireEx(Tcl_In
0490: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 terp *interp,..
04a0: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e const char *n
04b0: 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 ame, const char
04c0: 2a 76 65 72 73 69 6f 6e 2c 20 69 6e 74 20 65 78 *version, int ex
04d0: 61 63 74 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a act,.. void *
04e0: 63 6c 69 65 6e 74 44 61 74 61 50 74 72 29 0a 7d clientDataPtr).}
04f0: 0a 64 65 63 6c 61 72 65 20 32 20 7b 0a 20 20 20 .declare 2 {.
0500: 20 54 43 4c 5f 4e 4f 52 45 54 55 52 4e 20 76 6f TCL_NORETURN vo
0510: 69 64 20 54 63 6c 5f 50 61 6e 69 63 28 63 6f 6e id Tcl_Panic(con
0520: 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c st char *format,
0530: 20 2e 2e 2e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ...).}.declare
0540: 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 2a 54 63 3 {. void *Tc
0550: 6c 5f 41 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 l_Alloc(size_t s
0560: 69 7a 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 ize).}.declare 4
0570: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
0580: 46 72 65 65 28 76 6f 69 64 20 2a 70 74 72 29 0a Free(void *ptr).
0590: 7d 0a 64 65 63 6c 61 72 65 20 35 20 7b 0a 20 20 }.declare 5 {.
05a0: 20 20 76 6f 69 64 20 2a 54 63 6c 5f 52 65 61 6c void *Tcl_Real
05b0: 6c 6f 63 28 76 6f 69 64 20 2a 70 74 72 2c 20 73 loc(void *ptr, s
05c0: 69 7a 65 5f 74 20 73 69 7a 65 29 0a 7d 0a 64 65 ize_t size).}.de
05d0: 63 6c 61 72 65 20 36 20 7b 0a 20 20 20 20 76 6f clare 6 {. vo
05e0: 69 64 20 2a 54 63 6c 5f 44 62 43 6b 61 6c 6c 6f id *Tcl_DbCkallo
05f0: 63 28 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 c(size_t size, c
0600: 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 2c onst char *file,
0610: 20 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 64 65 63 int line).}.dec
0620: 6c 61 72 65 20 37 20 7b 0a 20 20 20 20 76 6f 69 lare 7 {. voi
0630: 64 20 54 63 6c 5f 44 62 43 6b 66 72 65 65 28 76 d Tcl_DbCkfree(v
0640: 6f 69 64 20 2a 70 74 72 2c 20 63 6f 6e 73 74 20 oid *ptr, const
0650: 63 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 char *file, int
0660: 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 line).}.declare
0670: 38 20 7b 0a 20 20 20 20 76 6f 69 64 20 2a 54 63 8 {. void *Tc
0680: 6c 5f 44 62 43 6b 72 65 61 6c 6c 6f 63 28 76 6f l_DbCkrealloc(vo
0690: 69 64 20 2a 70 74 72 2c 20 73 69 7a 65 5f 74 20 id *ptr, size_t
06a0: 73 69 7a 65 2c 0a 09 20 20 20 20 63 6f 6e 73 74 size,.. const
06b0: 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 char *file, int
06c0: 20 6c 69 6e 65 29 0a 7d 0a 0a 23 20 54 63 6c 5f line).}..# Tcl_
06d0: 43 72 65 61 74 65 46 69 6c 65 48 61 6e 64 6c 65 CreateFileHandle
06e0: 72 20 61 6e 64 20 54 63 6c 5f 44 65 6c 65 74 65 r and Tcl_Delete
06f0: 46 69 6c 65 48 61 6e 64 6c 65 72 20 61 72 65 20 FileHandler are
0700: 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6f only available o
0710: 6e 20 55 6e 69 78 2c 0a 23 20 62 75 74 20 74 68 n Unix,.# but th
0720: 65 79 20 61 72 65 20 70 61 72 74 20 6f 66 20 74 ey are part of t
0730: 68 65 20 6f 6c 64 20 67 65 6e 65 72 69 63 20 69 he old generic i
0740: 6e 74 65 72 66 61 63 65 2c 20 73 6f 20 77 65 20 nterface, so we
0750: 69 6e 63 6c 75 64 65 20 74 68 65 6d 20 68 65 72 include them her
0760: 65 20 66 6f 72 0a 23 20 63 6f 6d 70 61 74 69 62 e for.# compatib
0770: 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2e 0a 0a ility reasons...
0780: 64 65 63 6c 61 72 65 20 39 20 7b 0a 20 20 20 20 declare 9 {.
0790: 76 6f 69 64 20 54 63 6c 5f 43 72 65 61 74 65 46 void Tcl_CreateF
07a0: 69 6c 65 48 61 6e 64 6c 65 72 28 69 6e 74 20 66 ileHandler(int f
07b0: 64 2c 20 69 6e 74 20 6d 61 73 6b 2c 20 54 63 6c d, int mask, Tcl
07c0: 5f 46 69 6c 65 50 72 6f 63 20 2a 70 72 6f 63 2c _FileProc *proc,
07d0: 0a 09 20 20 20 20 76 6f 69 64 20 2a 63 6c 69 65 .. void *clie
07e0: 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 ntData).}.declar
07f0: 65 20 31 30 20 7b 0a 20 20 20 20 76 6f 69 64 20 e 10 {. void
0800: 54 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48 61 Tcl_DeleteFileHa
0810: 6e 64 6c 65 72 28 69 6e 74 20 66 64 29 0a 7d 0a ndler(int fd).}.
0820: 64 65 63 6c 61 72 65 20 31 31 20 7b 0a 20 20 20 declare 11 {.
0830: 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 54 69 6d void Tcl_SetTim
0840: 65 72 28 63 6f 6e 73 74 20 54 63 6c 5f 54 69 6d er(const Tcl_Tim
0850: 65 20 2a 74 69 6d 65 50 74 72 29 0a 7d 0a 64 65 e *timePtr).}.de
0860: 63 6c 61 72 65 20 31 32 20 7b 0a 20 20 20 20 76 clare 12 {. v
0870: 6f 69 64 20 54 63 6c 5f 53 6c 65 65 70 28 69 6e oid Tcl_Sleep(in
0880: 74 20 6d 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 t ms).}.declare
0890: 31 33 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 13 {. int Tcl
08a0: 5f 57 61 69 74 46 6f 72 45 76 65 6e 74 28 63 6f _WaitForEvent(co
08b0: 6e 73 74 20 54 63 6c 5f 54 69 6d 65 20 2a 74 69 nst Tcl_Time *ti
08c0: 6d 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 mePtr).}.declare
08d0: 20 31 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 14 {. int Tc
08e0: 6c 5f 41 70 70 65 6e 64 41 6c 6c 4f 62 6a 54 79 l_AppendAllObjTy
08f0: 70 65 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a pes(Tcl_Interp *
0900: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
0910: 2a 6f 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c 61 *objPtr).}.decla
0920: 72 65 20 31 35 20 7b 0a 20 20 20 20 76 6f 69 64 re 15 {. void
0930: 20 54 63 6c 5f 41 70 70 65 6e 64 53 74 72 69 6e Tcl_AppendStrin
0940: 67 73 54 6f 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 gsToObj(Tcl_Obj
0950: 2a 6f 62 6a 50 74 72 2c 20 2e 2e 2e 29 0a 7d 0a *objPtr, ...).}.
0960: 64 65 63 6c 61 72 65 20 31 36 20 7b 0a 20 20 20 declare 16 {.
0970: 20 76 6f 69 64 20 54 63 6c 5f 41 70 70 65 6e 64 void Tcl_Append
0980: 54 6f 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f ToObj(Tcl_Obj *o
0990: 62 6a 50 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 bjPtr, const cha
09a0: 72 20 2a 62 79 74 65 73 2c 20 54 63 6c 5f 53 69 r *bytes, Tcl_Si
09b0: 7a 65 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 ze length).}.dec
09c0: 6c 61 72 65 20 31 37 20 7b 0a 20 20 20 20 54 63 lare 17 {. Tc
09d0: 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 43 6f 6e 63 61 l_Obj *Tcl_Conca
09e0: 74 4f 62 6a 28 54 63 6c 5f 53 69 7a 65 20 6f 62 tObj(Tcl_Size ob
09f0: 6a 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e jc, Tcl_Obj *con
0a00: 73 74 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 65 63 st objv[]).}.dec
0a10: 6c 61 72 65 20 31 38 20 7b 0a 20 20 20 20 69 6e lare 18 {. in
0a20: 74 20 54 63 6c 5f 43 6f 6e 76 65 72 74 54 6f 54 t Tcl_ConvertToT
0a30: 79 70 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ype(Tcl_Interp *
0a40: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
0a50: 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 20 20 63 6f *objPtr,.. co
0a60: 6e 73 74 20 54 63 6c 5f 4f 62 6a 54 79 70 65 20 nst Tcl_ObjType
0a70: 2a 74 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 6c *typePtr).}.decl
0a80: 61 72 65 20 31 39 20 7b 0a 20 20 20 20 76 6f 69 are 19 {. voi
0a90: 64 20 54 63 6c 5f 44 62 44 65 63 72 52 65 66 43 d Tcl_DbDecrRefC
0aa0: 6f 75 6e 74 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 ount(Tcl_Obj *ob
0ab0: 6a 50 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 jPtr, const char
0ac0: 20 2a 66 69 6c 65 2c 20 69 6e 74 20 6c 69 6e 65 *file, int line
0ad0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 30 20 7b ).}.declare 20 {
0ae0: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 62 . void Tcl_Db
0af0: 49 6e 63 72 52 65 66 43 6f 75 6e 74 28 54 63 6c IncrRefCount(Tcl
0b00: 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 63 6f _Obj *objPtr, co
0b10: 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 nst char *file,
0b20: 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c int line).}.decl
0b30: 61 72 65 20 32 31 20 7b 0a 20 20 20 20 69 6e 74 are 21 {. int
0b40: 20 54 63 6c 5f 44 62 49 73 53 68 61 72 65 64 28 Tcl_DbIsShared(
0b50: 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c Tcl_Obj *objPtr,
0b60: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c const char *fil
0b70: 65 2c 20 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 64 e, int line).}.d
0b80: 65 63 6c 61 72 65 20 32 33 20 7b 0a 20 20 20 20 eclare 23 {.
0b90: 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 44 62 4e Tcl_Obj *Tcl_DbN
0ba0: 65 77 42 79 74 65 41 72 72 61 79 4f 62 6a 28 63 ewByteArrayObj(c
0bb0: 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 onst unsigned ch
0bc0: 61 72 20 2a 62 79 74 65 73 2c 0a 09 20 20 20 20 ar *bytes,..
0bd0: 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 Tcl_Size numByte
0be0: 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 s, const char *f
0bf0: 69 6c 65 2c 20 69 6e 74 20 6c 69 6e 65 29 0a 7d ile, int line).}
0c00: 0a 64 65 63 6c 61 72 65 20 32 34 20 7b 0a 20 20 .declare 24 {.
0c10: 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 44 Tcl_Obj *Tcl_D
0c20: 62 4e 65 77 44 6f 75 62 6c 65 4f 62 6a 28 64 6f bNewDoubleObj(do
0c30: 75 62 6c 65 20 64 6f 75 62 6c 65 56 61 6c 75 65 uble doubleValue
0c40: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 , const char *fi
0c50: 6c 65 2c 0a 09 20 20 20 20 69 6e 74 20 6c 69 6e le,.. int lin
0c60: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 35 20 e).}.declare 25
0c70: 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 {. Tcl_Obj *T
0c80: 63 6c 5f 44 62 4e 65 77 4c 69 73 74 4f 62 6a 28 cl_DbNewListObj(
0c90: 54 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 2c 20 54 Tcl_Size objc, T
0ca0: 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 2a 6f cl_Obj *const *o
0cb0: 62 6a 76 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 bjv,.. const
0cc0: 63 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 char *file, int
0cd0: 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 line).}.declare
0ce0: 32 36 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 26 {. void Tc
0cf0: 6c 5f 53 65 74 54 69 6d 65 72 32 28 6c 6f 6e 67 l_SetTimer2(long
0d00: 20 6c 6f 6e 67 20 74 69 6d 65 29 0a 7d 0a 64 65 long time).}.de
0d10: 63 6c 61 72 65 20 32 37 20 7b 0a 20 20 20 20 54 clare 27 {. T
0d20: 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 44 62 4e 65 cl_Obj *Tcl_DbNe
0d30: 77 4f 62 6a 28 63 6f 6e 73 74 20 63 68 61 72 20 wObj(const char
0d40: 2a 66 69 6c 65 2c 20 69 6e 74 20 6c 69 6e 65 29 *file, int line)
0d50: 0a 7d 0a 64 65 63 6c 61 72 65 20 32 38 20 7b 0a .}.declare 28 {.
0d60: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c Tcl_Obj *Tcl
0d70: 5f 44 62 4e 65 77 53 74 72 69 6e 67 4f 62 6a 28 _DbNewStringObj(
0d80: 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 79 74 65 const char *byte
0d90: 73 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 67 s, Tcl_Size leng
0da0: 74 68 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 th,.. const c
0db0: 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 6c har *file, int l
0dc0: 69 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 ine).}.declare 2
0dd0: 39 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 9 {. Tcl_Obj
0de0: 2a 54 63 6c 5f 44 75 70 6c 69 63 61 74 65 4f 62 *Tcl_DuplicateOb
0df0: 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 j(Tcl_Obj *objPt
0e00: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 30 20 r).}.declare 30
0e10: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 46 72 {. void TclFr
0e20: 65 65 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f eeObj(Tcl_Obj *o
0e30: 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 bjPtr).}.declare
0e40: 20 33 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 34 {. int Tc
0e50: 6c 5f 47 65 74 44 6f 75 62 6c 65 28 54 63 6c 5f l_GetDouble(Tcl_
0e60: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
0e70: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 63 2c const char *src,
0e80: 20 64 6f 75 62 6c 65 20 2a 64 6f 75 62 6c 65 50 double *doubleP
0e90: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 35 tr).}.declare 35
0ea0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 {. int Tcl_G
0eb0: 65 74 44 6f 75 62 6c 65 46 72 6f 6d 4f 62 6a 28 etDoubleFromObj(
0ec0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
0ed0: 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a rp, Tcl_Obj *obj
0ee0: 50 74 72 2c 0a 09 20 20 20 20 64 6f 75 62 6c 65 Ptr,.. double
0ef0: 20 2a 64 6f 75 62 6c 65 50 74 72 29 0a 7d 0a 64 *doublePtr).}.d
0f00: 65 63 6c 61 72 65 20 33 36 20 7b 0a 20 20 20 20 eclare 36 {.
0f10: 69 6e 74 20 54 63 6c 5f 57 61 69 74 46 6f 72 45 int Tcl_WaitForE
0f20: 76 65 6e 74 32 28 6c 6f 6e 67 20 6c 6f 6e 67 20 vent2(long long
0f30: 74 69 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 time).}.declare
0f40: 33 37 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 37 {. int Tcl
0f50: 5f 47 65 74 49 6e 74 28 54 63 6c 5f 49 6e 74 65 _GetInt(Tcl_Inte
0f60: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 rp *interp, cons
0f70: 74 20 63 68 61 72 20 2a 73 72 63 2c 20 69 6e 74 t char *src, int
0f80: 20 2a 69 6e 74 50 74 72 29 0a 7d 0a 64 65 63 6c *intPtr).}.decl
0f90: 61 72 65 20 33 38 20 7b 0a 20 20 20 20 69 6e 74 are 38 {. int
0fa0: 20 54 63 6c 5f 47 65 74 49 6e 74 46 72 6f 6d 4f Tcl_GetIntFromO
0fb0: 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 bj(Tcl_Interp *i
0fc0: 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a nterp, Tcl_Obj *
0fd0: 6f 62 6a 50 74 72 2c 20 69 6e 74 20 2a 69 6e 74 objPtr, int *int
0fe0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 Ptr).}.declare 3
0ff0: 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 9 {. int Tcl_
1000: 47 65 74 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 28 54 GetLongFromObj(T
1010: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
1020: 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 p, Tcl_Obj *objP
1030: 74 72 2c 20 6c 6f 6e 67 20 2a 6c 6f 6e 67 50 74 tr, long *longPt
1040: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 30 20 r).}.declare 40
1050: 7b 0a 20 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f {. const Tcl_
1060: 4f 62 6a 54 79 70 65 20 2a 54 63 6c 5f 47 65 74 ObjType *Tcl_Get
1070: 4f 62 6a 54 79 70 65 28 63 6f 6e 73 74 20 63 68 ObjType(const ch
1080: 61 72 20 2a 74 79 70 65 4e 61 6d 65 29 0a 7d 0a ar *typeName).}.
1090: 64 65 63 6c 61 72 65 20 34 31 20 7b 0a 20 20 20 declare 41 {.
10a0: 20 63 68 61 72 20 2a 54 63 6c 47 65 74 53 74 72 char *TclGetStr
10b0: 69 6e 67 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 4f ingFromObj(Tcl_O
10c0: 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 76 6f 69 64 bj *objPtr, void
10d0: 20 2a 6c 65 6e 67 74 68 50 74 72 29 0a 7d 0a 64 *lengthPtr).}.d
10e0: 65 63 6c 61 72 65 20 34 32 20 7b 0a 20 20 20 20 eclare 42 {.
10f0: 76 6f 69 64 20 54 63 6c 5f 49 6e 76 61 6c 69 64 void Tcl_Invalid
1100: 61 74 65 53 74 72 69 6e 67 52 65 70 28 54 63 6c ateStringRep(Tcl
1110: 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 0a 7d 0a _Obj *objPtr).}.
1120: 64 65 63 6c 61 72 65 20 34 33 20 7b 0a 20 20 20 declare 43 {.
1130: 20 69 6e 74 20 54 63 6c 5f 4c 69 73 74 4f 62 6a int Tcl_ListObj
1140: 41 70 70 65 6e 64 4c 69 73 74 28 54 63 6c 5f 49 AppendList(Tcl_I
1150: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
1160: 63 6c 5f 4f 62 6a 20 2a 6c 69 73 74 50 74 72 2c cl_Obj *listPtr,
1170: 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 65 .. Tcl_Obj *e
1180: 6c 65 6d 4c 69 73 74 50 74 72 29 0a 7d 0a 64 65 lemListPtr).}.de
1190: 63 6c 61 72 65 20 34 34 20 7b 0a 20 20 20 20 69 clare 44 {. i
11a0: 6e 74 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 41 70 nt Tcl_ListObjAp
11b0: 70 65 6e 64 45 6c 65 6d 65 6e 74 28 54 63 6c 5f pendElement(Tcl_
11c0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
11d0: 54 63 6c 5f 4f 62 6a 20 2a 6c 69 73 74 50 74 72 Tcl_Obj *listPtr
11e0: 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a ,.. Tcl_Obj *
11f0: 6f 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 objPtr).}.declar
1200: 65 20 34 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 e 45 {. int T
1210: 63 6c 4c 69 73 74 4f 62 6a 47 65 74 45 6c 65 6d clListObjGetElem
1220: 65 6e 74 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 ents(Tcl_Interp
1230: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a *interp, Tcl_Obj
1240: 20 2a 6c 69 73 74 50 74 72 2c 0a 09 20 20 20 20 *listPtr,..
1250: 76 6f 69 64 20 2a 6f 62 6a 63 50 74 72 2c 20 54 void *objcPtr, T
1260: 63 6c 5f 4f 62 6a 20 2a 2a 2a 6f 62 6a 76 50 74 cl_Obj ***objvPt
1270: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 36 20 r).}.declare 46
1280: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4c 69 {. int Tcl_Li
1290: 73 74 4f 62 6a 49 6e 64 65 78 28 54 63 6c 5f 49 stObjIndex(Tcl_I
12a0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
12b0: 63 6c 5f 4f 62 6a 20 2a 6c 69 73 74 50 74 72 2c cl_Obj *listPtr,
12c0: 20 54 63 6c 5f 53 69 7a 65 20 69 6e 64 65 78 2c Tcl_Size index,
12d0: 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 2a .. Tcl_Obj **
12e0: 6f 62 6a 50 74 72 50 74 72 29 0a 7d 0a 64 65 63 objPtrPtr).}.dec
12f0: 6c 61 72 65 20 34 37 20 7b 0a 20 20 20 20 69 6e lare 47 {. in
1300: 74 20 54 63 6c 4c 69 73 74 4f 62 6a 4c 65 6e 67 t TclListObjLeng
1310: 74 68 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 th(Tcl_Interp *i
1320: 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a nterp, Tcl_Obj *
1330: 6c 69 73 74 50 74 72 2c 0a 09 20 20 20 20 76 6f listPtr,.. vo
1340: 69 64 20 2a 6c 65 6e 67 74 68 50 74 72 29 0a 7d id *lengthPtr).}
1350: 0a 64 65 63 6c 61 72 65 20 34 38 20 7b 0a 20 20 .declare 48 {.
1360: 20 20 69 6e 74 20 54 63 6c 5f 4c 69 73 74 4f 62 int Tcl_ListOb
1370: 6a 52 65 70 6c 61 63 65 28 54 63 6c 5f 49 6e 74 jReplace(Tcl_Int
1380: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
1390: 5f 4f 62 6a 20 2a 6c 69 73 74 50 74 72 2c 20 54 _Obj *listPtr, T
13a0: 63 6c 5f 53 69 7a 65 20 66 69 72 73 74 2c 0a 09 cl_Size first,..
13b0: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 63 6f 75 Tcl_Size cou
13c0: 6e 74 2c 20 54 63 6c 5f 53 69 7a 65 20 6f 62 6a nt, Tcl_Size obj
13d0: 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 c, Tcl_Obj *cons
13e0: 74 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 65 63 6c t objv[]).}.decl
13f0: 61 72 65 20 34 39 20 7b 0a 20 20 20 20 76 6f 69 are 49 {. voi
1400: 64 20 54 63 6c 5f 53 65 74 4d 61 78 42 6c 6f 63 d Tcl_SetMaxBloc
1410: 6b 54 69 6d 65 32 28 6c 6f 6e 67 20 6c 6f 6e 67 kTime2(long long
1420: 20 74 69 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 time).}.declare
1430: 20 35 30 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 50 {. Tcl_Ob
1440: 6a 20 2a 54 63 6c 5f 4e 65 77 42 79 74 65 41 72 j *Tcl_NewByteAr
1450: 72 61 79 4f 62 6a 28 63 6f 6e 73 74 20 75 6e 73 rayObj(const uns
1460: 69 67 6e 65 64 20 63 68 61 72 20 2a 62 79 74 65 igned char *byte
1470: 73 2c 20 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 42 s, Tcl_Size numB
1480: 79 74 65 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ytes).}.declare
1490: 35 31 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 51 {. Tcl_Obj
14a0: 20 2a 54 63 6c 5f 4e 65 77 44 6f 75 62 6c 65 4f *Tcl_NewDoubleO
14b0: 62 6a 28 64 6f 75 62 6c 65 20 64 6f 75 62 6c 65 bj(double double
14c0: 56 61 6c 75 65 29 0a 7d 0a 64 65 63 6c 61 72 65 Value).}.declare
14d0: 20 35 32 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 52 {. void T
14e0: 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 57 61 69 74 cl_ConditionWait
14f0: 32 28 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 20 2(Tcl_Condition
1500: 2a 63 6f 6e 64 50 74 72 2c 20 54 63 6c 5f 4d 75 *condPtr, Tcl_Mu
1510: 74 65 78 20 2a 6d 75 74 65 78 50 74 72 2c 0a 09 tex *mutexPtr,..
1520: 20 20 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 69 long long ti
1530: 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 33 me).}.declare 53
1540: 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a {. Tcl_Obj *
1550: 54 63 6c 5f 4e 65 77 4c 69 73 74 4f 62 6a 28 54 Tcl_NewListObj(T
1560: 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 2c 20 54 63 cl_Size objc, Tc
1570: 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 6f 62 6a l_Obj *const obj
1580: 76 5b 5d 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 v[]).}.declare 5
1590: 35 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 5 {. Tcl_Obj
15a0: 2a 54 63 6c 5f 4e 65 77 4f 62 6a 28 76 6f 69 64 *Tcl_NewObj(void
15b0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 36 20 7b ).}.declare 56 {
15c0: 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 . Tcl_Obj *Tc
15d0: 6c 5f 4e 65 77 53 74 72 69 6e 67 4f 62 6a 28 63 l_NewStringObj(c
15e0: 6f 6e 73 74 20 63 68 61 72 20 2a 62 79 74 65 73 onst char *bytes
15f0: 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 , Tcl_Size lengt
1600: 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 38 20 h).}.declare 58
1610: 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 {. unsigned c
1620: 68 61 72 20 2a 54 63 6c 5f 53 65 74 42 79 74 65 har *Tcl_SetByte
1630: 41 72 72 61 79 4c 65 6e 67 74 68 28 54 63 6c 5f ArrayLength(Tcl_
1640: 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 54 63 6c Obj *objPtr, Tcl
1650: 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 73 29 0a _Size numBytes).
1660: 7d 0a 64 65 63 6c 61 72 65 20 35 39 20 7b 0a 20 }.declare 59 {.
1670: 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 42 void Tcl_SetB
1680: 79 74 65 41 72 72 61 79 4f 62 6a 28 54 63 6c 5f yteArrayObj(Tcl_
1690: 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 63 6f 6e Obj *objPtr, con
16a0: 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 st unsigned char
16b0: 20 2a 62 79 74 65 73 2c 0a 09 20 20 20 20 54 63 *bytes,.. Tc
16c0: 6c 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 73 29 l_Size numBytes)
16d0: 0a 7d 0a 64 65 63 6c 61 72 65 20 36 30 20 7b 0a .}.declare 60 {.
16e0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 void Tcl_Set
16f0: 44 6f 75 62 6c 65 4f 62 6a 28 54 63 6c 5f 4f 62 DoubleObj(Tcl_Ob
1700: 6a 20 2a 6f 62 6a 50 74 72 2c 20 64 6f 75 62 6c j *objPtr, doubl
1710: 65 20 64 6f 75 62 6c 65 56 61 6c 75 65 29 0a 7d e doubleValue).}
1720: 0a 64 65 63 6c 61 72 65 20 36 32 20 7b 0a 20 20 .declare 62 {.
1730: 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 4c 69 void Tcl_SetLi
1740: 73 74 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f stObj(Tcl_Obj *o
1750: 62 6a 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 bjPtr, Tcl_Size
1760: 6f 62 6a 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 objc, Tcl_Obj *c
1770: 6f 6e 73 74 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 onst objv[]).}.d
1780: 65 63 6c 61 72 65 20 36 33 20 7b 0a 20 20 20 20 eclare 63 {.
1790: 76 6f 69 64 20 54 63 6c 5f 4c 69 6d 69 74 53 65 void Tcl_LimitSe
17a0: 74 54 69 6d 65 32 28 54 63 6c 5f 49 6e 74 65 72 tTime2(Tcl_Inter
17b0: 70 20 2a 69 6e 74 65 72 70 2c 20 6c 6f 6e 67 20 p *interp, long
17c0: 6c 6f 6e 67 20 74 69 6d 65 4c 69 6d 69 74 29 0a long timeLimit).
17d0: 7d 0a 64 65 63 6c 61 72 65 20 36 34 20 7b 0a 20 }.declare 64 {.
17e0: 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 4f void Tcl_SetO
17f0: 62 6a 4c 65 6e 67 74 68 28 54 63 6c 5f 4f 62 6a bjLength(Tcl_Obj
1800: 20 2a 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 53 69 *objPtr, Tcl_Si
1810: 7a 65 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 ze length).}.dec
1820: 6c 61 72 65 20 36 35 20 7b 0a 20 20 20 20 76 6f lare 65 {. vo
1830: 69 64 20 54 63 6c 5f 53 65 74 53 74 72 69 6e 67 id Tcl_SetString
1840: 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a Obj(Tcl_Obj *obj
1850: 50 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 Ptr, const char
1860: 2a 62 79 74 65 73 2c 20 54 63 6c 5f 53 69 7a 65 *bytes, Tcl_Size
1870: 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 6c 61 length).}.decla
1880: 72 65 20 36 38 20 7b 0a 20 20 20 20 76 6f 69 64 re 68 {. void
1890: 20 54 63 6c 5f 41 6c 6c 6f 77 45 78 63 65 70 74 Tcl_AllowExcept
18a0: 69 6f 6e 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 ions(Tcl_Interp
18b0: 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c 61 *interp).}.decla
18c0: 72 65 20 36 39 20 7b 0a 20 20 20 20 76 6f 69 64 re 69 {. void
18d0: 20 54 63 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65 Tcl_AppendEleme
18e0: 6e 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 nt(Tcl_Interp *i
18f0: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
1900: 72 20 2a 65 6c 65 6d 65 6e 74 29 0a 7d 0a 64 65 r *element).}.de
1910: 63 6c 61 72 65 20 37 30 20 7b 0a 20 20 20 20 76 clare 70 {. v
1920: 6f 69 64 20 54 63 6c 5f 41 70 70 65 6e 64 52 65 oid Tcl_AppendRe
1930: 73 75 6c 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 sult(Tcl_Interp
1940: 2a 69 6e 74 65 72 70 2c 20 2e 2e 2e 29 0a 7d 0a *interp, ...).}.
1950: 64 65 63 6c 61 72 65 20 37 31 20 7b 0a 20 20 20 declare 71 {.
1960: 20 54 63 6c 5f 41 73 79 6e 63 48 61 6e 64 6c 65 Tcl_AsyncHandle
1970: 72 20 54 63 6c 5f 41 73 79 6e 63 43 72 65 61 74 r Tcl_AsyncCreat
1980: 65 28 54 63 6c 5f 41 73 79 6e 63 50 72 6f 63 20 e(Tcl_AsyncProc
1990: 2a 70 72 6f 63 2c 0a 09 20 20 20 20 76 6f 69 64 *proc,.. void
19a0: 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a *clientData).}.
19b0: 64 65 63 6c 61 72 65 20 37 32 20 7b 0a 20 20 20 declare 72 {.
19c0: 20 76 6f 69 64 20 54 63 6c 5f 41 73 79 6e 63 44 void Tcl_AsyncD
19d0: 65 6c 65 74 65 28 54 63 6c 5f 41 73 79 6e 63 48 elete(Tcl_AsyncH
19e0: 61 6e 64 6c 65 72 20 61 73 79 6e 63 29 0a 7d 0a andler async).}.
19f0: 64 65 63 6c 61 72 65 20 37 33 20 7b 0a 20 20 20 declare 73 {.
1a00: 20 69 6e 74 20 54 63 6c 5f 41 73 79 6e 63 49 6e int Tcl_AsyncIn
1a10: 76 6f 6b 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 voke(Tcl_Interp
1a20: 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 63 6f 64 *interp, int cod
1a30: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 37 34 20 e).}.declare 74
1a40: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 {. void Tcl_A
1a50: 73 79 6e 63 4d 61 72 6b 28 54 63 6c 5f 41 73 79 syncMark(Tcl_Asy
1a60: 6e 63 48 61 6e 64 6c 65 72 20 61 73 79 6e 63 29 ncHandler async)
1a70: 0a 7d 0a 64 65 63 6c 61 72 65 20 37 35 20 7b 0a .}.declare 75 {.
1a80: 20 20 20 20 69 6e 74 20 54 63 6c 5f 41 73 79 6e int Tcl_Asyn
1a90: 63 52 65 61 64 79 28 76 6f 69 64 29 0a 7d 0a 64 cReady(void).}.d
1aa0: 65 63 6c 61 72 65 20 37 36 20 7b 0a 20 20 20 20 eclare 76 {.
1ab0: 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 6c 5f 4c 69 long long Tcl_Li
1ac0: 6d 69 74 47 65 74 54 69 6d 65 32 28 54 63 6c 5f mitGetTime2(Tcl_
1ad0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a Interp *interp).
1ae0: 7d 0a 64 65 63 6c 61 72 65 20 37 37 20 7b 0a 20 }.declare 77 {.
1af0: 20 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 6c long long Tcl
1b00: 5f 47 65 74 44 61 79 54 69 6d 65 28 76 6f 69 64 _GetDayTime(void
1b10: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 37 38 20 7b ).}.declare 78 {
1b20: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 42 61 64 . int Tcl_Bad
1b30: 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 28 54 63 ChannelOption(Tc
1b40: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
1b50: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 , const char *op
1b60: 74 69 6f 6e 4e 61 6d 65 2c 0a 09 20 20 20 20 63 tionName,.. c
1b70: 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 74 69 6f onst char *optio
1b80: 6e 4c 69 73 74 29 0a 7d 0a 64 65 63 6c 61 72 65 nList).}.declare
1b90: 20 37 39 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 79 {. void T
1ba0: 63 6c 5f 43 61 6c 6c 57 68 65 6e 44 65 6c 65 74 cl_CallWhenDelet
1bb0: 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ed(Tcl_Interp *i
1bc0: 6e 74 65 72 70 2c 20 54 63 6c 5f 49 6e 74 65 72 nterp, Tcl_Inter
1bd0: 70 44 65 6c 65 74 65 50 72 6f 63 20 2a 70 72 6f pDeleteProc *pro
1be0: 63 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a 63 6c c,.. void *cl
1bf0: 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c ientData).}.decl
1c00: 61 72 65 20 38 30 20 7b 0a 20 20 20 20 76 6f 69 are 80 {. voi
1c10: 64 20 54 63 6c 5f 43 61 6e 63 65 6c 49 64 6c 65 d Tcl_CancelIdle
1c20: 43 61 6c 6c 28 54 63 6c 5f 49 64 6c 65 50 72 6f Call(Tcl_IdlePro
1c30: 63 20 2a 69 64 6c 65 50 72 6f 63 2c 20 76 6f 69 c *idleProc, voi
1c40: 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d d *clientData).}
1c50: 0a 64 65 63 6c 61 72 65 20 38 32 20 7b 0a 20 20 .declare 82 {.
1c60: 20 20 69 6e 74 20 54 63 6c 5f 43 6f 6d 6d 61 6e int Tcl_Comman
1c70: 64 43 6f 6d 70 6c 65 74 65 28 63 6f 6e 73 74 20 dComplete(const
1c80: 63 68 61 72 20 2a 63 6d 64 29 0a 7d 0a 64 65 63 char *cmd).}.dec
1c90: 6c 61 72 65 20 38 33 20 7b 0a 20 20 20 20 63 68 lare 83 {. ch
1ca0: 61 72 20 2a 54 63 6c 5f 43 6f 6e 63 61 74 28 54 ar *Tcl_Concat(T
1cb0: 63 6c 5f 53 69 7a 65 20 61 72 67 63 2c 20 63 6f cl_Size argc, co
1cc0: 6e 73 74 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 nst char *const
1cd0: 2a 61 72 67 76 29 0a 7d 0a 64 65 63 6c 61 72 65 *argv).}.declare
1ce0: 20 38 34 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 84 {. Tcl_Si
1cf0: 7a 65 20 54 63 6c 5f 43 6f 6e 76 65 72 74 45 6c ze Tcl_ConvertEl
1d00: 65 6d 65 6e 74 28 63 6f 6e 73 74 20 63 68 61 72 ement(const char
1d10: 20 2a 73 72 63 2c 20 63 68 61 72 20 2a 64 73 74 *src, char *dst
1d20: 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 , int flags).}.d
1d30: 65 63 6c 61 72 65 20 38 35 20 7b 0a 20 20 20 20 eclare 85 {.
1d40: 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 43 6f 6e Tcl_Size Tcl_Con
1d50: 76 65 72 74 43 6f 75 6e 74 65 64 45 6c 65 6d 65 vertCountedEleme
1d60: 6e 74 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 nt(const char *s
1d70: 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e rc, Tcl_Size len
1d80: 67 74 68 2c 20 63 68 61 72 20 2a 64 73 74 2c 0a gth, char *dst,.
1d90: 09 20 20 20 20 69 6e 74 20 66 6c 61 67 73 29 0a . int flags).
1da0: 7d 0a 64 65 63 6c 61 72 65 20 38 36 20 7b 0a 20 }.declare 86 {.
1db0: 20 20 20 69 6e 74 20 54 63 6c 5f 43 72 65 61 74 int Tcl_Creat
1dc0: 65 41 6c 69 61 73 28 54 63 6c 5f 49 6e 74 65 72 eAlias(Tcl_Inter
1dd0: 70 20 2a 63 68 69 6c 64 49 6e 74 65 72 70 2c 20 p *childInterp,
1de0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 68 69 6c const char *chil
1df0: 64 43 6d 64 2c 0a 09 20 20 20 20 54 63 6c 5f 49 dCmd,.. Tcl_I
1e00: 6e 74 65 72 70 20 2a 74 61 72 67 65 74 2c 20 63 nterp *target, c
1e10: 6f 6e 73 74 20 63 68 61 72 20 2a 74 61 72 67 65 onst char *targe
1e20: 74 43 6d 64 2c 20 54 63 6c 5f 53 69 7a 65 20 61 tCmd, Tcl_Size a
1e30: 72 67 63 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 rgc,.. const
1e40: 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 61 72 67 char *const *arg
1e50: 76 29 0a 7d 0a 64 65 63 6c 61 72 65 20 38 37 20 v).}.declare 87
1e60: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 43 72 {. int Tcl_Cr
1e70: 65 61 74 65 41 6c 69 61 73 4f 62 6a 28 54 63 6c eateAliasObj(Tcl
1e80: 5f 49 6e 74 65 72 70 20 2a 63 68 69 6c 64 49 6e _Interp *childIn
1e90: 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 terp, const char
1ea0: 20 2a 63 68 69 6c 64 43 6d 64 2c 0a 09 20 20 20 *childCmd,..
1eb0: 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a 74 61 72 Tcl_Interp *tar
1ec0: 67 65 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 get, const char
1ed0: 2a 74 61 72 67 65 74 43 6d 64 2c 20 54 63 6c 5f *targetCmd, Tcl_
1ee0: 53 69 7a 65 20 6f 62 6a 63 2c 0a 09 20 20 20 20 Size objc,..
1ef0: 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 6f Tcl_Obj *const o
1f00: 62 6a 76 5b 5d 29 0a 7d 0a 64 65 63 6c 61 72 65 bjv[]).}.declare
1f10: 20 38 38 20 7b 0a 20 20 20 20 54 63 6c 5f 43 68 88 {. Tcl_Ch
1f20: 61 6e 6e 65 6c 20 54 63 6c 5f 43 72 65 61 74 65 annel Tcl_Create
1f30: 43 68 61 6e 6e 65 6c 28 63 6f 6e 73 74 20 54 63 Channel(const Tc
1f40: 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 20 2a 74 l_ChannelType *t
1f50: 79 70 65 50 74 72 2c 0a 09 20 20 20 20 63 6f 6e ypePtr,.. con
1f60: 73 74 20 63 68 61 72 20 2a 63 68 61 6e 4e 61 6d st char *chanNam
1f70: 65 2c 20 76 6f 69 64 20 2a 69 6e 73 74 61 6e 63 e, void *instanc
1f80: 65 44 61 74 61 2c 20 69 6e 74 20 6d 61 73 6b 29 eData, int mask)
1f90: 0a 7d 0a 64 65 63 6c 61 72 65 20 38 39 20 7b 0a .}.declare 89 {.
1fa0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 43 72 65 void Tcl_Cre
1fb0: 61 74 65 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 ateChannelHandle
1fc0: 72 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 r(Tcl_Channel ch
1fd0: 61 6e 2c 20 69 6e 74 20 6d 61 73 6b 2c 0a 09 20 an, int mask,..
1fe0: 20 20 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 Tcl_ChannelPr
1ff0: 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 20 2a oc *proc, void *
2000: 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 clientData).}.de
2010: 63 6c 61 72 65 20 39 30 20 7b 0a 20 20 20 20 76 clare 90 {. v
2020: 6f 69 64 20 54 63 6c 5f 43 72 65 61 74 65 43 6c oid Tcl_CreateCl
2030: 6f 73 65 48 61 6e 64 6c 65 72 28 54 63 6c 5f 43 oseHandler(Tcl_C
2040: 68 61 6e 6e 65 6c 20 63 68 61 6e 2c 20 54 63 6c hannel chan, Tcl
2050: 5f 43 6c 6f 73 65 50 72 6f 63 20 2a 70 72 6f 63 _CloseProc *proc
2060: 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a 63 6c 69 ,.. void *cli
2070: 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 entData).}.decla
2080: 72 65 20 39 31 20 7b 0a 20 20 20 20 54 63 6c 5f re 91 {. Tcl_
2090: 43 6f 6d 6d 61 6e 64 20 54 63 6c 5f 43 72 65 61 Command Tcl_Crea
20a0: 74 65 43 6f 6d 6d 61 6e 64 28 54 63 6c 5f 49 6e teCommand(Tcl_In
20b0: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f terp *interp, co
20c0: 6e 73 74 20 63 68 61 72 20 2a 63 6d 64 4e 61 6d nst char *cmdNam
20d0: 65 2c 0a 09 20 20 20 20 54 63 6c 5f 43 6d 64 50 e,.. Tcl_CmdP
20e0: 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 20 roc *proc, void
20f0: 2a 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 20 *clientData,..
2100: 20 20 54 63 6c 5f 43 6d 64 44 65 6c 65 74 65 50 Tcl_CmdDeleteP
2110: 72 6f 63 20 2a 64 65 6c 65 74 65 50 72 6f 63 29 roc *deleteProc)
2120: 0a 7d 0a 64 65 63 6c 61 72 65 20 39 32 20 7b 0a .}.declare 92 {.
2130: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 43 72 65 void Tcl_Cre
2140: 61 74 65 45 76 65 6e 74 53 6f 75 72 63 65 28 54 ateEventSource(T
2150: 63 6c 5f 45 76 65 6e 74 53 65 74 75 70 50 72 6f cl_EventSetupPro
2160: 63 20 2a 73 65 74 75 70 50 72 6f 63 2c 0a 09 20 c *setupProc,..
2170: 20 20 20 54 63 6c 5f 45 76 65 6e 74 43 68 65 63 Tcl_EventChec
2180: 6b 50 72 6f 63 20 2a 63 68 65 63 6b 50 72 6f 63 kProc *checkProc
2190: 2c 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 , void *clientDa
21a0: 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 39 33 ta).}.declare 93
21b0: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
21c0: 43 72 65 61 74 65 45 78 69 74 48 61 6e 64 6c 65 CreateExitHandle
21d0: 72 28 54 63 6c 5f 45 78 69 74 50 72 6f 63 20 2a r(Tcl_ExitProc *
21e0: 70 72 6f 63 2c 20 76 6f 69 64 20 2a 63 6c 69 65 proc, void *clie
21f0: 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 ntData).}.declar
2200: 65 20 39 34 20 7b 0a 20 20 20 20 54 63 6c 5f 49 e 94 {. Tcl_I
2210: 6e 74 65 72 70 20 2a 54 63 6c 5f 43 72 65 61 74 nterp *Tcl_Creat
2220: 65 49 6e 74 65 72 70 28 76 6f 69 64 29 0a 7d 0a eInterp(void).}.
2230: 64 65 63 6c 61 72 65 20 39 36 20 7b 0a 20 20 20 declare 96 {.
2240: 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 54 63 6c Tcl_Command Tcl
2250: 5f 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e _CreateObjComman
2260: 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e d(Tcl_Interp *in
2270: 74 65 72 70 2c 0a 09 20 20 20 20 63 6f 6e 73 74 terp,.. const
2280: 20 63 68 61 72 20 2a 63 6d 64 4e 61 6d 65 2c 0a char *cmdName,.
2290: 09 20 20 20 20 54 63 6c 5f 4f 62 6a 43 6d 64 50 . Tcl_ObjCmdP
22a0: 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 20 roc *proc, void
22b0: 2a 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 20 *clientData,..
22c0: 20 20 54 63 6c 5f 43 6d 64 44 65 6c 65 74 65 50 Tcl_CmdDeleteP
22d0: 72 6f 63 20 2a 64 65 6c 65 74 65 50 72 6f 63 29 roc *deleteProc)
22e0: 0a 7d 0a 64 65 63 6c 61 72 65 20 39 37 20 7b 0a .}.declare 97 {.
22f0: 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a Tcl_Interp *
2300: 54 63 6c 5f 43 72 65 61 74 65 43 68 69 6c 64 28 Tcl_CreateChild(
2310: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
2320: 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a rp, const char *
2330: 6e 61 6d 65 2c 0a 09 20 20 20 20 69 6e 74 20 69 name,.. int i
2340: 73 53 61 66 65 29 0a 7d 0a 64 65 63 6c 61 72 65 sSafe).}.declare
2350: 20 39 38 20 7b 0a 20 20 20 20 54 63 6c 5f 54 69 98 {. Tcl_Ti
2360: 6d 65 72 54 6f 6b 65 6e 20 54 63 6c 5f 43 72 65 merToken Tcl_Cre
2370: 61 74 65 54 69 6d 65 72 48 61 6e 64 6c 65 72 28 ateTimerHandler(
2380: 69 6e 74 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 int milliseconds
2390: 2c 0a 09 20 20 20 20 54 63 6c 5f 54 69 6d 65 72 ,.. Tcl_Timer
23a0: 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 Proc *proc, void
23b0: 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a *clientData).}.
23c0: 64 65 63 6c 61 72 65 20 39 39 20 7b 0a 20 20 20 declare 99 {.
23d0: 20 54 63 6c 5f 54 72 61 63 65 20 54 63 6c 5f 43 Tcl_Trace Tcl_C
23e0: 72 65 61 74 65 54 72 61 63 65 28 54 63 6c 5f 49 reateTrace(Tcl_I
23f0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
2400: 63 6c 5f 53 69 7a 65 20 6c 65 76 65 6c 2c 0a 09 cl_Size level,..
2410: 20 20 20 20 54 63 6c 5f 43 6d 64 54 72 61 63 65 Tcl_CmdTrace
2420: 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 Proc *proc, void
2430: 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a *clientData).}.
2440: 64 65 63 6c 61 72 65 20 31 30 30 20 7b 0a 20 20 declare 100 {.
2450: 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 6c 65 74 void Tcl_Delet
2460: 65 41 73 73 6f 63 44 61 74 61 28 54 63 6c 5f 49 eAssocData(Tcl_I
2470: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 nterp *interp, c
2480: 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 onst char *name)
2490: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 30 31 20 7b .}.declare 101 {
24a0: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 . void Tcl_De
24b0: 6c 65 74 65 43 68 61 6e 6e 65 6c 48 61 6e 64 6c leteChannelHandl
24c0: 65 72 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 er(Tcl_Channel c
24d0: 68 61 6e 2c 20 54 63 6c 5f 43 68 61 6e 6e 65 6c han, Tcl_Channel
24e0: 50 72 6f 63 20 2a 70 72 6f 63 2c 0a 09 20 20 20 Proc *proc,..
24f0: 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 void *clientDat
2500: 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 30 32 a).}.declare 102
2510: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
2520: 44 65 6c 65 74 65 43 6c 6f 73 65 48 61 6e 64 6c DeleteCloseHandl
2530: 65 72 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 er(Tcl_Channel c
2540: 68 61 6e 2c 20 54 63 6c 5f 43 6c 6f 73 65 50 72 han, Tcl_ClosePr
2550: 6f 63 20 2a 70 72 6f 63 2c 0a 09 20 20 20 20 76 oc *proc,.. v
2560: 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 oid *clientData)
2570: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 30 33 20 7b .}.declare 103 {
2580: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 44 65 6c . int Tcl_Del
2590: 65 74 65 43 6f 6d 6d 61 6e 64 28 54 63 6c 5f 49 eteCommand(Tcl_I
25a0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 nterp *interp, c
25b0: 6f 6e 73 74 20 63 68 61 72 20 2a 63 6d 64 4e 61 onst char *cmdNa
25c0: 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 30 me).}.declare 10
25d0: 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4 {. int Tcl_
25e0: 44 65 6c 65 74 65 43 6f 6d 6d 61 6e 64 46 72 6f DeleteCommandFro
25f0: 6d 54 6f 6b 65 6e 28 54 63 6c 5f 49 6e 74 65 72 mToken(Tcl_Inter
2600: 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 p *interp, Tcl_C
2610: 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 29 0a ommand command).
2620: 7d 0a 64 65 63 6c 61 72 65 20 31 30 35 20 7b 0a }.declare 105 {.
2630: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 6c void Tcl_Del
2640: 65 74 65 45 76 65 6e 74 73 28 54 63 6c 5f 45 76 eteEvents(Tcl_Ev
2650: 65 6e 74 44 65 6c 65 74 65 50 72 6f 63 20 2a 70 entDeleteProc *p
2660: 72 6f 63 2c 20 76 6f 69 64 20 2a 63 6c 69 65 6e roc, void *clien
2670: 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 tData).}.declare
2680: 20 31 30 36 20 7b 0a 20 20 20 20 76 6f 69 64 20 106 {. void
2690: 54 63 6c 5f 44 65 6c 65 74 65 45 76 65 6e 74 53 Tcl_DeleteEventS
26a0: 6f 75 72 63 65 28 54 63 6c 5f 45 76 65 6e 74 53 ource(Tcl_EventS
26b0: 65 74 75 70 50 72 6f 63 20 2a 73 65 74 75 70 50 etupProc *setupP
26c0: 72 6f 63 2c 0a 09 20 20 20 20 54 63 6c 5f 45 76 roc,.. Tcl_Ev
26d0: 65 6e 74 43 68 65 63 6b 50 72 6f 63 20 2a 63 68 entCheckProc *ch
26e0: 65 63 6b 50 72 6f 63 2c 20 76 6f 69 64 20 2a 63 eckProc, void *c
26f0: 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 lientData).}.dec
2700: 6c 61 72 65 20 31 30 37 20 7b 0a 20 20 20 20 76 lare 107 {. v
2710: 6f 69 64 20 54 63 6c 5f 44 65 6c 65 74 65 45 78 oid Tcl_DeleteEx
2720: 69 74 48 61 6e 64 6c 65 72 28 54 63 6c 5f 45 78 itHandler(Tcl_Ex
2730: 69 74 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f itProc *proc, vo
2740: 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a id *clientData).
2750: 7d 0a 64 65 63 6c 61 72 65 20 31 30 38 20 7b 0a }.declare 108 {.
2760: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 6c void Tcl_Del
2770: 65 74 65 48 61 73 68 45 6e 74 72 79 28 54 63 6c eteHashEntry(Tcl
2780: 5f 48 61 73 68 45 6e 74 72 79 20 2a 65 6e 74 72 _HashEntry *entr
2790: 79 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 yPtr).}.declare
27a0: 31 30 39 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 109 {. void T
27b0: 63 6c 5f 44 65 6c 65 74 65 48 61 73 68 54 61 62 cl_DeleteHashTab
27c0: 6c 65 28 54 63 6c 5f 48 61 73 68 54 61 62 6c 65 le(Tcl_HashTable
27d0: 20 2a 74 61 62 6c 65 50 74 72 29 0a 7d 0a 64 65 *tablePtr).}.de
27e0: 63 6c 61 72 65 20 31 31 30 20 7b 0a 20 20 20 20 clare 110 {.
27f0: 76 6f 69 64 20 54 63 6c 5f 44 65 6c 65 74 65 49 void Tcl_DeleteI
2800: 6e 74 65 72 70 28 54 63 6c 5f 49 6e 74 65 72 70 nterp(Tcl_Interp
2810: 20 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c *interp).}.decl
2820: 61 72 65 20 31 31 31 20 7b 0a 20 20 20 20 76 6f are 111 {. vo
2830: 69 64 20 54 63 6c 5f 44 65 74 61 63 68 50 69 64 id Tcl_DetachPid
2840: 73 28 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 50 69 s(Tcl_Size numPi
2850: 64 73 2c 20 54 63 6c 5f 50 69 64 20 2a 70 69 64 ds, Tcl_Pid *pid
2860: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 Ptr).}.declare 1
2870: 31 32 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 12 {. void Tc
2880: 6c 5f 44 65 6c 65 74 65 54 69 6d 65 72 48 61 6e l_DeleteTimerHan
2890: 64 6c 65 72 28 54 63 6c 5f 54 69 6d 65 72 54 6f dler(Tcl_TimerTo
28a0: 6b 65 6e 20 74 6f 6b 65 6e 29 0a 7d 0a 64 65 63 ken token).}.dec
28b0: 6c 61 72 65 20 31 31 33 20 7b 0a 20 20 20 20 76 lare 113 {. v
28c0: 6f 69 64 20 54 63 6c 5f 44 65 6c 65 74 65 54 72 oid Tcl_DeleteTr
28d0: 61 63 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ace(Tcl_Interp *
28e0: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 54 72 61 63 interp, Tcl_Trac
28f0: 65 20 74 72 61 63 65 29 0a 7d 0a 64 65 63 6c 61 e trace).}.decla
2900: 72 65 20 31 31 34 20 7b 0a 20 20 20 20 76 6f 69 re 114 {. voi
2910: 64 20 54 63 6c 5f 44 6f 6e 74 43 61 6c 6c 57 68 d Tcl_DontCallWh
2920: 65 6e 44 65 6c 65 74 65 64 28 54 63 6c 5f 49 6e enDeleted(Tcl_In
2930: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 terp *interp,..
2940: 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c Tcl_InterpDel
2950: 65 74 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 eteProc *proc, v
2960: 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 oid *clientData)
2970: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 31 35 20 7b .}.declare 115 {
2980: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 44 6f 4f . int Tcl_DoO
2990: 6e 65 45 76 65 6e 74 28 69 6e 74 20 66 6c 61 67 neEvent(int flag
29a0: 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 31 36 s).}.declare 116
29b0: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
29c0: 44 6f 57 68 65 6e 49 64 6c 65 28 54 63 6c 5f 49 DoWhenIdle(Tcl_I
29d0: 64 6c 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 dleProc *proc, v
29e0: 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 oid *clientData)
29f0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 31 37 20 7b .}.declare 117 {
2a00: 0a 20 20 20 20 63 68 61 72 20 2a 54 63 6c 5f 44 . char *Tcl_D
2a10: 53 74 72 69 6e 67 41 70 70 65 6e 64 28 54 63 6c StringAppend(Tcl
2a20: 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 74 72 2c _DString *dsPtr,
2a30: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 79 74 const char *byt
2a40: 65 73 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e es, Tcl_Size len
2a50: 67 74 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 gth).}.declare 1
2a60: 31 38 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 54 18 {. char *T
2a70: 63 6c 5f 44 53 74 72 69 6e 67 41 70 70 65 6e 64 cl_DStringAppend
2a80: 45 6c 65 6d 65 6e 74 28 54 63 6c 5f 44 53 74 72 Element(Tcl_DStr
2a90: 69 6e 67 20 2a 64 73 50 74 72 2c 20 63 6f 6e 73 ing *dsPtr, cons
2aa0: 74 20 63 68 61 72 20 2a 65 6c 65 6d 65 6e 74 29 t char *element)
2ab0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 31 39 20 7b .}.declare 119 {
2ac0: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 53 . void Tcl_DS
2ad0: 74 72 69 6e 67 45 6e 64 53 75 62 6c 69 73 74 28 tringEndSublist(
2ae0: 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 Tcl_DString *dsP
2af0: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 32 tr).}.declare 12
2b00: 30 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 0 {. void Tcl
2b10: 5f 44 53 74 72 69 6e 67 46 72 65 65 28 54 63 6c _DStringFree(Tcl
2b20: 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 74 72 29 _DString *dsPtr)
2b30: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 32 31 20 7b .}.declare 121 {
2b40: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 53 . void Tcl_DS
2b50: 74 72 69 6e 67 47 65 74 52 65 73 75 6c 74 28 54 tringGetResult(T
2b60: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
2b70: 70 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a p, Tcl_DString *
2b80: 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 dsPtr).}.declare
2b90: 20 31 32 32 20 7b 0a 20 20 20 20 76 6f 69 64 20 122 {. void
2ba0: 54 63 6c 5f 44 53 74 72 69 6e 67 49 6e 69 74 28 Tcl_DStringInit(
2bb0: 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 Tcl_DString *dsP
2bc0: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 32 tr).}.declare 12
2bd0: 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 3 {. void Tcl
2be0: 5f 44 53 74 72 69 6e 67 52 65 73 75 6c 74 28 54 _DStringResult(T
2bf0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
2c00: 70 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a p, Tcl_DString *
2c10: 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 dsPtr).}.declare
2c20: 20 31 32 34 20 7b 0a 20 20 20 20 76 6f 69 64 20 124 {. void
2c30: 54 63 6c 5f 44 53 74 72 69 6e 67 53 65 74 4c 65 Tcl_DStringSetLe
2c40: 6e 67 74 68 28 54 63 6c 5f 44 53 74 72 69 6e 67 ngth(Tcl_DString
2c50: 20 2a 64 73 50 74 72 2c 20 54 63 6c 5f 53 69 7a *dsPtr, Tcl_Siz
2c60: 65 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 6c e length).}.decl
2c70: 61 72 65 20 31 32 35 20 7b 0a 20 20 20 20 76 6f are 125 {. vo
2c80: 69 64 20 54 63 6c 5f 44 53 74 72 69 6e 67 53 74 id Tcl_DStringSt
2c90: 61 72 74 53 75 62 6c 69 73 74 28 54 63 6c 5f 44 artSublist(Tcl_D
2ca0: 53 74 72 69 6e 67 20 2a 64 73 50 74 72 29 0a 7d String *dsPtr).}
2cb0: 0a 64 65 63 6c 61 72 65 20 31 32 36 20 7b 0a 20 .declare 126 {.
2cc0: 20 20 20 69 6e 74 20 54 63 6c 5f 45 6f 66 28 54 int Tcl_Eof(T
2cd0: 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 cl_Channel chan)
2ce0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 32 37 20 7b .}.declare 127 {
2cf0: 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 . const char
2d00: 2a 54 63 6c 5f 45 72 72 6e 6f 49 64 28 76 6f 69 *Tcl_ErrnoId(voi
2d10: 64 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 32 38 d).}.declare 128
2d20: 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 {. const cha
2d30: 72 20 2a 54 63 6c 5f 45 72 72 6e 6f 4d 73 67 28 r *Tcl_ErrnoMsg(
2d40: 69 6e 74 20 65 72 72 29 0a 7d 0a 64 65 63 6c 61 int err).}.decla
2d50: 72 65 20 31 33 30 20 7b 0a 20 20 20 20 69 6e 74 re 130 {. int
2d60: 20 54 63 6c 5f 45 76 61 6c 46 69 6c 65 28 54 63 Tcl_EvalFile(Tc
2d70: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
2d80: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 , const char *fi
2d90: 6c 65 4e 61 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 leName).}.declar
2da0: 65 20 31 33 32 20 7b 0a 20 20 20 20 76 6f 69 64 e 132 {. void
2db0: 20 54 63 6c 5f 45 76 65 6e 74 75 61 6c 6c 79 46 Tcl_EventuallyF
2dc0: 72 65 65 28 76 6f 69 64 20 2a 63 6c 69 65 6e 74 ree(void *client
2dd0: 44 61 74 61 2c 20 54 63 6c 5f 46 72 65 65 50 72 Data, Tcl_FreePr
2de0: 6f 63 20 2a 66 72 65 65 50 72 6f 63 29 0a 7d 0a oc *freeProc).}.
2df0: 64 65 63 6c 61 72 65 20 31 33 33 20 7b 0a 20 20 declare 133 {.
2e00: 20 20 54 43 4c 5f 4e 4f 52 45 54 55 52 4e 20 76 TCL_NORETURN v
2e10: 6f 69 64 20 54 63 6c 5f 45 78 69 74 28 69 6e 74 oid Tcl_Exit(int
2e20: 20 73 74 61 74 75 73 29 0a 7d 0a 64 65 63 6c 61 status).}.decla
2e30: 72 65 20 31 33 34 20 7b 0a 20 20 20 20 69 6e 74 re 134 {. int
2e40: 20 54 63 6c 5f 45 78 70 6f 73 65 43 6f 6d 6d 61 Tcl_ExposeComma
2e50: 6e 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 nd(Tcl_Interp *i
2e60: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
2e70: 72 20 2a 68 69 64 64 65 6e 43 6d 64 54 6f 6b 65 r *hiddenCmdToke
2e80: 6e 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 n,.. const ch
2e90: 61 72 20 2a 63 6d 64 4e 61 6d 65 29 0a 7d 0a 64 ar *cmdName).}.d
2ea0: 65 63 6c 61 72 65 20 31 33 35 20 7b 0a 20 20 20 eclare 135 {.
2eb0: 20 69 6e 74 20 54 63 6c 5f 45 78 70 72 42 6f 6f int Tcl_ExprBoo
2ec0: 6c 65 61 6e 28 54 63 6c 5f 49 6e 74 65 72 70 20 lean(Tcl_Interp
2ed0: 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 *interp, const c
2ee0: 68 61 72 20 2a 65 78 70 72 2c 20 69 6e 74 20 2a har *expr, int *
2ef0: 70 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 ptr).}.declare 1
2f00: 33 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 36 {. int Tcl
2f10: 5f 45 78 70 72 42 6f 6f 6c 65 61 6e 4f 62 6a 28 _ExprBooleanObj(
2f20: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
2f30: 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a rp, Tcl_Obj *obj
2f40: 50 74 72 2c 20 69 6e 74 20 2a 70 74 72 29 0a 7d Ptr, int *ptr).}
2f50: 0a 64 65 63 6c 61 72 65 20 31 33 37 20 7b 0a 20 .declare 137 {.
2f60: 20 20 20 69 6e 74 20 54 63 6c 5f 45 78 70 72 44 int Tcl_ExprD
2f70: 6f 75 62 6c 65 28 54 63 6c 5f 49 6e 74 65 72 70 ouble(Tcl_Interp
2f80: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
2f90: 63 68 61 72 20 2a 65 78 70 72 2c 20 64 6f 75 62 char *expr, doub
2fa0: 6c 65 20 2a 70 74 72 29 0a 7d 0a 64 65 63 6c 61 le *ptr).}.decla
2fb0: 72 65 20 31 33 38 20 7b 0a 20 20 20 20 69 6e 74 re 138 {. int
2fc0: 20 54 63 6c 5f 45 78 70 72 44 6f 75 62 6c 65 4f Tcl_ExprDoubleO
2fd0: 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 bj(Tcl_Interp *i
2fe0: 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a nterp, Tcl_Obj *
2ff0: 6f 62 6a 50 74 72 2c 20 64 6f 75 62 6c 65 20 2a objPtr, double *
3000: 70 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 ptr).}.declare 1
3010: 33 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 39 {. int Tcl
3020: 5f 45 78 70 72 4c 6f 6e 67 28 54 63 6c 5f 49 6e _ExprLong(Tcl_In
3030: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f terp *interp, co
3040: 6e 73 74 20 63 68 61 72 20 2a 65 78 70 72 2c 20 nst char *expr,
3050: 6c 6f 6e 67 20 2a 70 74 72 29 0a 7d 0a 64 65 63 long *ptr).}.dec
3060: 6c 61 72 65 20 31 34 30 20 7b 0a 20 20 20 20 69 lare 140 {. i
3070: 6e 74 20 54 63 6c 5f 45 78 70 72 4c 6f 6e 67 4f nt Tcl_ExprLongO
3080: 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 bj(Tcl_Interp *i
3090: 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a nterp, Tcl_Obj *
30a0: 6f 62 6a 50 74 72 2c 20 6c 6f 6e 67 20 2a 70 74 objPtr, long *pt
30b0: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 34 31 r).}.declare 141
30c0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 45 {. int Tcl_E
30d0: 78 70 72 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 xprObj(Tcl_Inter
30e0: 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f p *interp, Tcl_O
30f0: 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 20 bj *objPtr,..
3100: 20 54 63 6c 5f 4f 62 6a 20 2a 2a 72 65 73 75 6c Tcl_Obj **resul
3110: 74 50 74 72 50 74 72 29 0a 7d 0a 64 65 63 6c 61 tPtrPtr).}.decla
3120: 72 65 20 31 34 32 20 7b 0a 20 20 20 20 69 6e 74 re 142 {. int
3130: 20 54 63 6c 5f 45 78 70 72 53 74 72 69 6e 67 28 Tcl_ExprString(
3140: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
3150: 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a rp, const char *
3160: 65 78 70 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 expr).}.declare
3170: 31 34 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 143 {. void T
3180: 63 6c 5f 46 69 6e 61 6c 69 7a 65 28 76 6f 69 64 cl_Finalize(void
3190: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 34 35 20 ).}.declare 145
31a0: 7b 0a 20 20 20 20 54 63 6c 5f 48 61 73 68 45 6e {. Tcl_HashEn
31b0: 74 72 79 20 2a 54 63 6c 5f 46 69 72 73 74 48 61 try *Tcl_FirstHa
31c0: 73 68 45 6e 74 72 79 28 54 63 6c 5f 48 61 73 68 shEntry(Tcl_Hash
31d0: 54 61 62 6c 65 20 2a 74 61 62 6c 65 50 74 72 2c Table *tablePtr,
31e0: 0a 09 20 20 20 20 54 63 6c 5f 48 61 73 68 53 65 .. Tcl_HashSe
31f0: 61 72 63 68 20 2a 73 65 61 72 63 68 50 74 72 29 arch *searchPtr)
3200: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 34 36 20 7b .}.declare 146 {
3210: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 6c 75 . int Tcl_Flu
3220: 73 68 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 sh(Tcl_Channel c
3230: 68 61 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 han).}.declare 1
3240: 34 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 49 {. int Tcl
3250: 47 65 74 41 6c 69 61 73 4f 62 6a 28 54 63 6c 5f GetAliasObj(Tcl_
3260: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
3270: 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 68 69 6c const char *chil
3280: 64 43 6d 64 2c 0a 09 20 20 20 20 54 63 6c 5f 49 dCmd,.. Tcl_I
3290: 6e 74 65 72 70 20 2a 2a 74 61 72 67 65 74 49 6e nterp **targetIn
32a0: 74 65 72 70 50 74 72 2c 20 63 6f 6e 73 74 20 63 terpPtr, const c
32b0: 68 61 72 20 2a 2a 74 61 72 67 65 74 43 6d 64 50 har **targetCmdP
32c0: 74 72 2c 0a 09 20 20 20 20 69 6e 74 20 2a 6f 62 tr,.. int *ob
32d0: 6a 63 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 2a jcPtr, Tcl_Obj *
32e0: 2a 2a 6f 62 6a 76 50 74 72 29 0a 7d 0a 64 65 63 **objvPtr).}.dec
32f0: 6c 61 72 65 20 31 35 30 20 7b 0a 20 20 20 20 76 lare 150 {. v
3300: 6f 69 64 20 2a 54 63 6c 5f 47 65 74 41 73 73 6f oid *Tcl_GetAsso
3310: 63 44 61 74 61 28 54 63 6c 5f 49 6e 74 65 72 70 cData(Tcl_Interp
3320: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
3330: 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 20 20 20 char *name,..
3340: 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c 65 74 Tcl_InterpDelet
3350: 65 50 72 6f 63 20 2a 2a 70 72 6f 63 50 74 72 29 eProc **procPtr)
3360: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 35 31 20 7b .}.declare 151 {
3370: 0a 20 20 20 20 54 63 6c 5f 43 68 61 6e 6e 65 6c . Tcl_Channel
3380: 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 28 Tcl_GetChannel(
3390: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
33a0: 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a rp, const char *
33b0: 63 68 61 6e 4e 61 6d 65 2c 0a 09 20 20 20 20 69 chanName,.. i
33c0: 6e 74 20 2a 6d 6f 64 65 50 74 72 29 0a 7d 0a 64 nt *modePtr).}.d
33d0: 65 63 6c 61 72 65 20 31 35 32 20 7b 0a 20 20 20 eclare 152 {.
33e0: 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 47 65 Tcl_Size Tcl_Ge
33f0: 74 43 68 61 6e 6e 65 6c 42 75 66 66 65 72 53 69 tChannelBufferSi
3400: 7a 65 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 ze(Tcl_Channel c
3410: 68 61 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 han).}.declare 1
3420: 35 33 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 53 {. int Tcl
3430: 5f 47 65 74 43 68 61 6e 6e 65 6c 48 61 6e 64 6c _GetChannelHandl
3440: 65 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 e(Tcl_Channel ch
3450: 61 6e 2c 20 69 6e 74 20 64 69 72 65 63 74 69 6f an, int directio
3460: 6e 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a 2a 68 n,.. void **h
3470: 61 6e 64 6c 65 50 74 72 29 0a 7d 0a 64 65 63 6c andlePtr).}.decl
3480: 61 72 65 20 31 35 34 20 7b 0a 20 20 20 20 76 6f are 154 {. vo
3490: 69 64 20 2a 54 63 6c 5f 47 65 74 43 68 61 6e 6e id *Tcl_GetChann
34a0: 65 6c 49 6e 73 74 61 6e 63 65 44 61 74 61 28 54 elInstanceData(T
34b0: 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 cl_Channel chan)
34c0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 35 35 20 7b .}.declare 155 {
34d0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 . int Tcl_Get
34e0: 43 68 61 6e 6e 65 6c 4d 6f 64 65 28 54 63 6c 5f ChannelMode(Tcl_
34f0: 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a Channel chan).}.
3500: 64 65 63 6c 61 72 65 20 31 35 36 20 7b 0a 20 20 declare 156 {.
3510: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 const char *Tc
3520: 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 l_GetChannelName
3530: 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 (Tcl_Channel cha
3540: 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 35 37 n).}.declare 157
3550: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 {. int Tcl_G
3560: 65 74 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 28 etChannelOption(
3570: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
3580: 72 70 2c 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 rp, Tcl_Channel
3590: 63 68 61 6e 2c 0a 09 20 20 20 20 63 6f 6e 73 74 chan,.. const
35a0: 20 63 68 61 72 20 2a 6f 70 74 69 6f 6e 4e 61 6d char *optionNam
35b0: 65 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a e, Tcl_DString *
35c0: 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 dsPtr).}.declare
35d0: 20 31 35 38 20 7b 0a 20 20 20 20 63 6f 6e 73 74 158 {. const
35e0: 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 Tcl_ChannelType
35f0: 20 2a 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c *Tcl_GetChannel
3600: 54 79 70 65 28 54 63 6c 5f 43 68 61 6e 6e 65 6c Type(Tcl_Channel
3610: 20 63 68 61 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 chan).}.declare
3620: 20 31 35 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 159 {. int T
3630: 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e 64 49 6e 66 cl_GetCommandInf
3640: 6f 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e o(Tcl_Interp *in
3650: 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 terp, const char
3660: 20 2a 63 6d 64 4e 61 6d 65 2c 0a 09 20 20 20 20 *cmdName,..
3670: 54 63 6c 5f 43 6d 64 49 6e 66 6f 20 2a 69 6e 66 Tcl_CmdInfo *inf
3680: 6f 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 oPtr).}.declare
3690: 31 36 30 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 160 {. const
36a0: 63 68 61 72 20 2a 54 63 6c 5f 47 65 74 43 6f 6d char *Tcl_GetCom
36b0: 6d 61 6e 64 4e 61 6d 65 28 54 63 6c 5f 49 6e 74 mandName(Tcl_Int
36c0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 20 erp *interp,..
36d0: 20 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 63 6f Tcl_Command co
36e0: 6d 6d 61 6e 64 29 0a 7d 0a 64 65 63 6c 61 72 65 mmand).}.declare
36f0: 20 31 36 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 161 {. int T
3700: 63 6c 5f 47 65 74 45 72 72 6e 6f 28 76 6f 69 64 cl_GetErrno(void
3710: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 36 32 20 ).}.declare 162
3720: 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 {. const char
3730: 20 2a 54 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d *Tcl_GetHostNam
3740: 65 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 72 e(void).}.declar
3750: 65 20 31 36 33 20 7b 0a 20 20 20 20 69 6e 74 20 e 163 {. int
3760: 54 63 6c 5f 47 65 74 49 6e 74 65 72 70 50 61 74 Tcl_GetInterpPat
3770: 68 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e h(Tcl_Interp *in
3780: 74 65 72 70 2c 20 54 63 6c 5f 49 6e 74 65 72 70 terp, Tcl_Interp
3790: 20 2a 63 68 69 6c 64 49 6e 74 65 72 70 29 0a 7d *childInterp).}
37a0: 0a 64 65 63 6c 61 72 65 20 31 36 34 20 7b 0a 20 .declare 164 {.
37b0: 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a 54 Tcl_Interp *T
37c0: 63 6c 5f 47 65 74 50 61 72 65 6e 74 28 54 63 6c cl_GetParent(Tcl
37d0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 _Interp *interp)
37e0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 36 35 20 7b .}.declare 165 {
37f0: 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 . const char
3800: 2a 54 63 6c 5f 47 65 74 4e 61 6d 65 4f 66 45 78 *Tcl_GetNameOfEx
3810: 65 63 75 74 61 62 6c 65 28 76 6f 69 64 29 0a 7d ecutable(void).}
3820: 0a 64 65 63 6c 61 72 65 20 31 36 36 20 7b 0a 20 .declare 166 {.
3830: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f Tcl_Obj *Tcl_
3840: 47 65 74 4f 62 6a 52 65 73 75 6c 74 28 54 63 6c GetObjResult(Tcl
3850: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 _Interp *interp)
3860: 0a 7d 0a 0a 23 20 54 63 6c 5f 47 65 74 4f 70 65 .}..# Tcl_GetOpe
3870: 6e 46 69 6c 65 20 69 73 20 6f 6e 6c 79 20 61 76 nFile is only av
3880: 61 69 6c 61 62 6c 65 20 6f 6e 20 75 6e 69 78 2c ailable on unix,
3890: 20 62 75 74 20 69 74 20 69 73 20 61 20 70 61 72 but it is a par
38a0: 74 20 6f 66 20 74 68 65 20 6f 6c 64 0a 23 20 67 t of the old.# g
38b0: 65 6e 65 72 69 63 20 69 6e 74 65 72 66 61 63 65 eneric interface
38c0: 2c 20 73 6f 20 77 65 20 69 6e 63 6c 75 64 65 20 , so we include
38d0: 69 74 20 68 65 72 65 20 66 6f 72 20 63 6f 6d 70 it here for comp
38e0: 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e atibility reason
38f0: 73 2e 0a 0a 64 65 63 6c 61 72 65 20 31 36 37 20 s...declare 167
3900: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 {. int Tcl_Ge
3910: 74 4f 70 65 6e 46 69 6c 65 28 54 63 6c 5f 49 6e tOpenFile(Tcl_In
3920: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f terp *interp, co
3930: 6e 73 74 20 63 68 61 72 20 2a 63 68 61 6e 49 44 nst char *chanID
3940: 2c 0a 09 20 20 20 20 69 6e 74 20 66 6f 72 57 72 ,.. int forWr
3950: 69 74 69 6e 67 2c 20 69 6e 74 20 63 68 65 63 6b iting, int check
3960: 55 73 61 67 65 2c 20 76 6f 69 64 20 2a 2a 66 69 Usage, void **fi
3970: 6c 65 50 74 72 29 0a 7d 0a 23 20 4f 62 73 6f 6c lePtr).}.# Obsol
3980: 65 74 65 2e 20 20 53 68 6f 75 6c 64 20 6e 6f 77 ete. Should now
3990: 20 75 73 65 20 54 63 6c 5f 46 53 47 65 74 50 61 use Tcl_FSGetPa
39a0: 74 68 54 79 70 65 20 77 68 69 63 68 20 69 73 20 thType which is
39b0: 6f 62 6a 65 63 74 69 66 69 65 64 0a 23 20 61 6e objectified.# an
39c0: 64 20 74 68 65 72 65 66 6f 72 65 20 75 73 75 61 d therefore usua
39d0: 6c 6c 79 20 66 61 73 74 65 72 2e 0a 64 65 63 6c lly faster..decl
39e0: 61 72 65 20 31 36 38 20 7b 0a 20 20 20 20 54 63 are 168 {. Tc
39f0: 6c 5f 50 61 74 68 54 79 70 65 20 54 63 6c 5f 47 l_PathType Tcl_G
3a00: 65 74 50 61 74 68 54 79 70 65 28 63 6f 6e 73 74 etPathType(const
3a10: 20 63 68 61 72 20 2a 70 61 74 68 29 0a 7d 0a 64 char *path).}.d
3a20: 65 63 6c 61 72 65 20 31 36 39 20 7b 0a 20 20 20 eclare 169 {.
3a30: 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 47 65 Tcl_Size Tcl_Ge
3a40: 74 73 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 ts(Tcl_Channel c
3a50: 68 61 6e 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 han, Tcl_DString
3a60: 20 2a 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 *dsPtr).}.decla
3a70: 72 65 20 31 37 30 20 7b 0a 20 20 20 20 54 63 6c re 170 {. Tcl
3a80: 5f 53 69 7a 65 20 54 63 6c 5f 47 65 74 73 4f 62 _Size Tcl_GetsOb
3a90: 6a 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 j(Tcl_Channel ch
3aa0: 61 6e 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a an, Tcl_Obj *obj
3ab0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 Ptr).}.declare 1
3ac0: 37 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 71 {. int Tcl
3ad0: 5f 47 65 74 53 65 72 76 69 63 65 4d 6f 64 65 28 _GetServiceMode(
3ae0: 76 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 72 65 20 void).}.declare
3af0: 31 37 32 20 7b 0a 20 20 20 20 54 63 6c 5f 49 6e 172 {. Tcl_In
3b00: 74 65 72 70 20 2a 54 63 6c 5f 47 65 74 43 68 69 terp *Tcl_GetChi
3b10: 6c 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ld(Tcl_Interp *i
3b20: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
3b30: 72 20 2a 6e 61 6d 65 29 0a 7d 0a 64 65 63 6c 61 r *name).}.decla
3b40: 72 65 20 31 37 33 20 7b 0a 20 20 20 20 54 63 6c re 173 {. Tcl
3b50: 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f 47 65 74 _Channel Tcl_Get
3b60: 53 74 64 43 68 61 6e 6e 65 6c 28 69 6e 74 20 74 StdChannel(int t
3b70: 79 70 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 ype).}.declare 1
3b80: 37 36 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 76 {. const c
3b90: 68 61 72 20 2a 54 63 6c 5f 47 65 74 56 61 72 32 har *Tcl_GetVar2
3ba0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
3bb0: 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
3bc0: 2a 70 61 72 74 31 2c 0a 09 20 20 20 20 63 6f 6e *part1,.. con
3bd0: 73 74 20 63 68 61 72 20 2a 70 61 72 74 32 2c 20 st char *part2,
3be0: 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 int flags).}.dec
3bf0: 6c 61 72 65 20 31 37 39 20 7b 0a 20 20 20 20 69 lare 179 {. i
3c00: 6e 74 20 54 63 6c 5f 48 69 64 65 43 6f 6d 6d 61 nt Tcl_HideComma
3c10: 6e 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 nd(Tcl_Interp *i
3c20: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
3c30: 72 20 2a 63 6d 64 4e 61 6d 65 2c 0a 09 20 20 20 r *cmdName,..
3c40: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 69 64 const char *hid
3c50: 64 65 6e 43 6d 64 54 6f 6b 65 6e 29 0a 7d 0a 64 denCmdToken).}.d
3c60: 65 63 6c 61 72 65 20 31 38 30 20 7b 0a 20 20 20 eclare 180 {.
3c70: 20 69 6e 74 20 54 63 6c 5f 49 6e 69 74 28 54 63 int Tcl_Init(Tc
3c80: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
3c90: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 38 31 20 ).}.declare 181
3ca0: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 49 {. void Tcl_I
3cb0: 6e 69 74 48 61 73 68 54 61 62 6c 65 28 54 63 6c nitHashTable(Tcl
3cc0: 5f 48 61 73 68 54 61 62 6c 65 20 2a 74 61 62 6c _HashTable *tabl
3cd0: 65 50 74 72 2c 20 69 6e 74 20 6b 65 79 54 79 70 ePtr, int keyTyp
3ce0: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 38 32 e).}.declare 182
3cf0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 49 {. int Tcl_I
3d00: 6e 70 75 74 42 6c 6f 63 6b 65 64 28 54 63 6c 5f nputBlocked(Tcl_
3d10: 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a Channel chan).}.
3d20: 64 65 63 6c 61 72 65 20 31 38 33 20 7b 0a 20 20 declare 183 {.
3d30: 20 20 69 6e 74 20 54 63 6c 5f 49 6e 70 75 74 42 int Tcl_InputB
3d40: 75 66 66 65 72 65 64 28 54 63 6c 5f 43 68 61 6e uffered(Tcl_Chan
3d50: 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a 64 65 63 6c nel chan).}.decl
3d60: 61 72 65 20 31 38 34 20 7b 0a 20 20 20 20 69 6e are 184 {. in
3d70: 74 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c 65 t Tcl_InterpDele
3d80: 74 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ted(Tcl_Interp *
3d90: 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c 61 72 interp).}.declar
3da0: 65 20 31 38 35 20 7b 0a 20 20 20 20 69 6e 74 20 e 185 {. int
3db0: 54 63 6c 5f 49 73 53 61 66 65 28 54 63 6c 5f 49 Tcl_IsSafe(Tcl_I
3dc0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d nterp *interp).}
3dd0: 0a 23 20 4f 62 73 6f 6c 65 74 65 2c 20 75 73 65 .# Obsolete, use
3de0: 20 54 63 6c 5f 46 53 4a 6f 69 6e 50 61 74 68 0a Tcl_FSJoinPath.
3df0: 64 65 63 6c 61 72 65 20 31 38 36 20 7b 0a 20 20 declare 186 {.
3e00: 20 20 63 68 61 72 20 2a 54 63 6c 5f 4a 6f 69 6e char *Tcl_Join
3e10: 50 61 74 68 28 54 63 6c 5f 53 69 7a 65 20 61 72 Path(Tcl_Size ar
3e20: 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a gc, const char *
3e30: 63 6f 6e 73 74 20 2a 61 72 67 76 2c 0a 09 20 20 const *argv,..
3e40: 20 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 72 Tcl_DString *r
3e50: 65 73 75 6c 74 50 74 72 29 0a 7d 0a 64 65 63 6c esultPtr).}.decl
3e60: 61 72 65 20 31 38 37 20 7b 0a 20 20 20 20 69 6e are 187 {. in
3e70: 74 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 54 63 t Tcl_LinkVar(Tc
3e80: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
3e90: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 , const char *va
3ea0: 72 4e 61 6d 65 2c 20 76 6f 69 64 20 2a 61 64 64 rName, void *add
3eb0: 72 2c 0a 09 20 20 20 20 69 6e 74 20 74 79 70 65 r,.. int type
3ec0: 29 0a 7d 0a 0a 23 20 54 68 69 73 20 73 6c 6f 74 ).}..# This slot
3ed0: 20 69 73 20 72 65 73 65 72 76 65 64 20 66 6f 72 is reserved for
3ee0: 20 75 73 65 20 62 79 20 74 68 65 20 70 6c 75 73 use by the plus
3ef0: 20 70 61 74 63 68 3a 0a 23 20 20 64 65 63 6c 61 patch:.# decla
3f00: 72 65 20 31 38 38 20 7b 0a 23 09 54 63 6c 5f 4d re 188 {.#.Tcl_M
3f10: 61 69 6e 4c 6f 6f 70 0a 23 20 20 7d 0a 0a 64 65 ainLoop.# }..de
3f20: 63 6c 61 72 65 20 31 38 39 20 7b 0a 20 20 20 20 clare 189 {.
3f30: 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f Tcl_Channel Tcl_
3f40: 4d 61 6b 65 46 69 6c 65 43 68 61 6e 6e 65 6c 28 MakeFileChannel(
3f50: 76 6f 69 64 20 2a 68 61 6e 64 6c 65 2c 20 69 6e void *handle, in
3f60: 74 20 6d 6f 64 65 29 0a 7d 0a 64 65 63 6c 61 72 t mode).}.declar
3f70: 65 20 31 39 31 20 7b 0a 20 20 20 20 54 63 6c 5f e 191 {. Tcl_
3f80: 43 68 61 6e 6e 65 6c 20 54 63 6c 5f 4d 61 6b 65 Channel Tcl_Make
3f90: 54 63 70 43 6c 69 65 6e 74 43 68 61 6e 6e 65 6c TcpClientChannel
3fa0: 28 76 6f 69 64 20 2a 74 63 70 53 6f 63 6b 65 74 (void *tcpSocket
3fb0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 31 39 32 20 ).}.declare 192
3fc0: 7b 0a 20 20 20 20 63 68 61 72 20 2a 54 63 6c 5f {. char *Tcl_
3fd0: 4d 65 72 67 65 28 54 63 6c 5f 53 69 7a 65 20 61 Merge(Tcl_Size a
3fe0: 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 rgc, const char
3ff0: 2a 63 6f 6e 73 74 20 2a 61 72 67 76 29 0a 7d 0a *const *argv).}.
4000: 64 65 63 6c 61 72 65 20 31 39 33 20 7b 0a 20 20 declare 193 {.
4010: 20 20 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 Tcl_HashEntry
4020: 2a 54 63 6c 5f 4e 65 78 74 48 61 73 68 45 6e 74 *Tcl_NextHashEnt
4030: 72 79 28 54 63 6c 5f 48 61 73 68 53 65 61 72 63 ry(Tcl_HashSearc
4040: 68 20 2a 73 65 61 72 63 68 50 74 72 29 0a 7d 0a h *searchPtr).}.
4050: 64 65 63 6c 61 72 65 20 31 39 34 20 7b 0a 20 20 declare 194 {.
4060: 20 20 76 6f 69 64 20 54 63 6c 5f 4e 6f 74 69 66 void Tcl_Notif
4070: 79 43 68 61 6e 6e 65 6c 28 54 63 6c 5f 43 68 61 yChannel(Tcl_Cha
4080: 6e 6e 65 6c 20 63 68 61 6e 6e 65 6c 2c 20 69 6e nnel channel, in
4090: 74 20 6d 61 73 6b 29 0a 7d 0a 64 65 63 6c 61 72 t mask).}.declar
40a0: 65 20 31 39 35 20 7b 0a 20 20 20 20 54 63 6c 5f e 195 {. Tcl_
40b0: 4f 62 6a 20 2a 54 63 6c 5f 4f 62 6a 47 65 74 56 Obj *Tcl_ObjGetV
40c0: 61 72 32 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ar2(Tcl_Interp *
40d0: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
40e0: 2a 70 61 72 74 31 50 74 72 2c 0a 09 20 20 20 20 *part1Ptr,..
40f0: 54 63 6c 5f 4f 62 6a 20 2a 70 61 72 74 32 50 74 Tcl_Obj *part2Pt
4100: 72 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a r, int flags).}.
4110: 64 65 63 6c 61 72 65 20 31 39 36 20 7b 0a 20 20 declare 196 {.
4120: 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 4f Tcl_Obj *Tcl_O
4130: 62 6a 53 65 74 56 61 72 32 28 54 63 6c 5f 49 6e bjSetVar2(Tcl_In
4140: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
4150: 6c 5f 4f 62 6a 20 2a 70 61 72 74 31 50 74 72 2c l_Obj *part1Ptr,
4160: 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 70 .. Tcl_Obj *p
4170: 61 72 74 32 50 74 72 2c 20 54 63 6c 5f 4f 62 6a art2Ptr, Tcl_Obj
4180: 20 2a 6e 65 77 56 61 6c 75 65 50 74 72 2c 20 69 *newValuePtr, i
4190: 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c nt flags).}.decl
41a0: 61 72 65 20 31 39 37 20 7b 0a 20 20 20 20 54 63 are 197 {. Tc
41b0: 6c 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f 4f 70 l_Channel Tcl_Op
41c0: 65 6e 43 6f 6d 6d 61 6e 64 43 68 61 6e 6e 65 6c enCommandChannel
41d0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
41e0: 65 72 70 2c 20 54 63 6c 5f 53 69 7a 65 20 61 72 erp, Tcl_Size ar
41f0: 67 63 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 gc,.. const c
4200: 68 61 72 20 2a 2a 61 72 67 76 2c 20 69 6e 74 20 har **argv, int
4210: 66 6c 61 67 73 29 0a 7d 0a 23 20 54 68 69 73 20 flags).}.# This
4220: 69 73 20 6f 62 73 6f 6c 65 74 65 2c 20 75 73 65 is obsolete, use
4230: 20 54 63 6c 5f 46 53 4f 70 65 6e 46 69 6c 65 43 Tcl_FSOpenFileC
4240: 68 61 6e 6e 65 6c 0a 64 65 63 6c 61 72 65 20 31 hannel.declare 1
4250: 39 38 20 7b 0a 20 20 20 20 54 63 6c 5f 43 68 61 98 {. Tcl_Cha
4260: 6e 6e 65 6c 20 54 63 6c 5f 4f 70 65 6e 46 69 6c nnel Tcl_OpenFil
4270: 65 43 68 61 6e 6e 65 6c 28 54 63 6c 5f 49 6e 74 eChannel(Tcl_Int
4280: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e erp *interp, con
4290: 73 74 20 63 68 61 72 20 2a 66 69 6c 65 4e 61 6d st char *fileNam
42a0: 65 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 e,.. const ch
42b0: 61 72 20 2a 6d 6f 64 65 53 74 72 69 6e 67 2c 20 ar *modeString,
42c0: 69 6e 74 20 70 65 72 6d 69 73 73 69 6f 6e 73 29 int permissions)
42d0: 0a 7d 0a 64 65 63 6c 61 72 65 20 31 39 39 20 7b .}.declare 199 {
42e0: 0a 20 20 20 20 54 63 6c 5f 43 68 61 6e 6e 65 6c . Tcl_Channel
42f0: 20 54 63 6c 5f 4f 70 65 6e 54 63 70 43 6c 69 65 Tcl_OpenTcpClie
4300: 6e 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 nt(Tcl_Interp *i
4310: 6e 74 65 72 70 2c 20 69 6e 74 20 70 6f 72 74 2c nterp, int port,
4320: 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 .. const char
4330: 20 2a 61 64 64 72 65 73 73 2c 20 63 6f 6e 73 74 *address, const
4340: 20 63 68 61 72 20 2a 6d 79 61 64 64 72 2c 20 69 char *myaddr, i
4350: 6e 74 20 6d 79 70 6f 72 74 2c 20 69 6e 74 20 61 nt myport, int a
4360: 73 79 6e 63 29 0a 7d 0a 64 65 63 6c 61 72 65 20 sync).}.declare
4370: 32 30 30 20 7b 0a 20 20 20 20 54 63 6c 5f 43 68 200 {. Tcl_Ch
4380: 61 6e 6e 65 6c 20 54 63 6c 5f 4f 70 65 6e 54 63 annel Tcl_OpenTc
4390: 70 53 65 72 76 65 72 28 54 63 6c 5f 49 6e 74 65 pServer(Tcl_Inte
43a0: 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 rp *interp, int
43b0: 70 6f 72 74 2c 0a 09 20 20 20 20 63 6f 6e 73 74 port,.. const
43c0: 20 63 68 61 72 20 2a 68 6f 73 74 2c 20 54 63 6c char *host, Tcl
43d0: 5f 54 63 70 41 63 63 65 70 74 50 72 6f 63 20 2a _TcpAcceptProc *
43e0: 61 63 63 65 70 74 50 72 6f 63 2c 0a 09 20 20 20 acceptProc,..
43f0: 20 76 6f 69 64 20 2a 63 61 6c 6c 62 61 63 6b 44 void *callbackD
4400: 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 ata).}.declare 2
4410: 30 31 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 01 {. void Tc
4420: 6c 5f 50 72 65 73 65 72 76 65 28 76 6f 69 64 20 l_Preserve(void
4430: 2a 64 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 *data).}.declare
4440: 20 32 30 32 20 7b 0a 20 20 20 20 76 6f 69 64 20 202 {. void
4450: 54 63 6c 5f 50 72 69 6e 74 44 6f 75 62 6c 65 28 Tcl_PrintDouble(
4460: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
4470: 72 70 2c 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 rp, double value
4480: 2c 20 63 68 61 72 20 2a 64 73 74 29 0a 7d 0a 64 , char *dst).}.d
4490: 65 63 6c 61 72 65 20 32 30 33 20 7b 0a 20 20 20 eclare 203 {.
44a0: 20 69 6e 74 20 54 63 6c 5f 50 75 74 45 6e 76 28 int Tcl_PutEnv(
44b0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 73 73 69 const char *assi
44c0: 67 6e 6d 65 6e 74 29 0a 7d 0a 64 65 63 6c 61 72 gnment).}.declar
44d0: 65 20 32 30 34 20 7b 0a 20 20 20 20 63 6f 6e 73 e 204 {. cons
44e0: 74 20 63 68 61 72 20 2a 54 63 6c 5f 50 6f 73 69 t char *Tcl_Posi
44f0: 78 45 72 72 6f 72 28 54 63 6c 5f 49 6e 74 65 72 xError(Tcl_Inter
4500: 70 20 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 p *interp).}.dec
4510: 6c 61 72 65 20 32 30 35 20 7b 0a 20 20 20 20 76 lare 205 {. v
4520: 6f 69 64 20 54 63 6c 5f 51 75 65 75 65 45 76 65 oid Tcl_QueueEve
4530: 6e 74 28 54 63 6c 5f 45 76 65 6e 74 20 2a 65 76 nt(Tcl_Event *ev
4540: 50 74 72 2c 20 69 6e 74 20 70 6f 73 69 74 69 6f Ptr, int positio
4550: 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 30 36 n).}.declare 206
4560: 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 {. Tcl_Size
4570: 54 63 6c 5f 52 65 61 64 28 54 63 6c 5f 43 68 61 Tcl_Read(Tcl_Cha
4580: 6e 6e 65 6c 20 63 68 61 6e 2c 20 63 68 61 72 20 nnel chan, char
4590: 2a 62 75 66 50 74 72 2c 20 54 63 6c 5f 53 69 7a *bufPtr, Tcl_Siz
45a0: 65 20 74 6f 52 65 61 64 29 0a 7d 0a 64 65 63 6c e toRead).}.decl
45b0: 61 72 65 20 32 30 37 20 7b 0a 20 20 20 20 76 6f are 207 {. vo
45c0: 69 64 20 54 63 6c 5f 52 65 61 70 44 65 74 61 63 id Tcl_ReapDetac
45d0: 68 65 64 50 72 6f 63 73 28 76 6f 69 64 29 0a 7d hedProcs(void).}
45e0: 0a 64 65 63 6c 61 72 65 20 32 30 38 20 7b 0a 20 .declare 208 {.
45f0: 20 20 20 69 6e 74 20 54 63 6c 5f 52 65 63 6f 72 int Tcl_Recor
4600: 64 41 6e 64 45 76 61 6c 28 54 63 6c 5f 49 6e 74 dAndEval(Tcl_Int
4610: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e erp *interp, con
4620: 73 74 20 63 68 61 72 20 2a 63 6d 64 2c 20 69 6e st char *cmd, in
4630: 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c 61 t flags).}.decla
4640: 72 65 20 32 30 39 20 7b 0a 20 20 20 20 69 6e 74 re 209 {. int
4650: 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 Tcl_RecordAndEv
4660: 61 6c 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 alObj(Tcl_Interp
4670: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 *interp, Tcl_Ob
4680: 6a 20 2a 63 6d 64 50 74 72 2c 20 69 6e 74 20 66 j *cmdPtr, int f
4690: 6c 61 67 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 lags).}.declare
46a0: 32 31 30 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 210 {. void T
46b0: 63 6c 5f 52 65 67 69 73 74 65 72 43 68 61 6e 6e cl_RegisterChann
46c0: 65 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 el(Tcl_Interp *i
46d0: 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 6e 6e nterp, Tcl_Chann
46e0: 65 6c 20 63 68 61 6e 29 0a 7d 0a 64 65 63 6c 61 el chan).}.decla
46f0: 72 65 20 32 31 31 20 7b 0a 20 20 20 20 76 6f 69 re 211 {. voi
4700: 64 20 54 63 6c 5f 52 65 67 69 73 74 65 72 4f 62 d Tcl_RegisterOb
4710: 6a 54 79 70 65 28 63 6f 6e 73 74 20 54 63 6c 5f jType(const Tcl_
4720: 4f 62 6a 54 79 70 65 20 2a 74 79 70 65 50 74 72 ObjType *typePtr
4730: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 31 32 20 ).}.declare 212
4740: 7b 0a 20 20 20 20 54 63 6c 5f 52 65 67 45 78 70 {. Tcl_RegExp
4750: 20 54 63 6c 5f 52 65 67 45 78 70 43 6f 6d 70 69 Tcl_RegExpCompi
4760: 6c 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 le(Tcl_Interp *i
4770: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
4780: 72 20 2a 70 61 74 74 65 72 6e 29 0a 7d 0a 64 65 r *pattern).}.de
4790: 63 6c 61 72 65 20 32 31 33 20 7b 0a 20 20 20 20 clare 213 {.
47a0: 69 6e 74 20 54 63 6c 5f 52 65 67 45 78 70 45 78 int Tcl_RegExpEx
47b0: 65 63 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ec(Tcl_Interp *i
47c0: 6e 74 65 72 70 2c 20 54 63 6c 5f 52 65 67 45 78 nterp, Tcl_RegEx
47d0: 70 20 72 65 67 65 78 70 2c 0a 09 20 20 20 20 63 p regexp,.. c
47e0: 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 78 74 2c onst char *text,
47f0: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 61 const char *sta
4800: 72 74 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 31 rt).}.declare 21
4810: 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4 {. int Tcl_
4820: 52 65 67 45 78 70 4d 61 74 63 68 28 54 63 6c 5f RegExpMatch(Tcl_
4830: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
4840: 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 78 74 const char *text
4850: 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 ,.. const cha
4860: 72 20 2a 70 61 74 74 65 72 6e 29 0a 7d 0a 64 65 r *pattern).}.de
4870: 63 6c 61 72 65 20 32 31 35 20 7b 0a 20 20 20 20 clare 215 {.
4880: 76 6f 69 64 20 54 63 6c 5f 52 65 67 45 78 70 52 void Tcl_RegExpR
4890: 61 6e 67 65 28 54 63 6c 5f 52 65 67 45 78 70 20 ange(Tcl_RegExp
48a0: 72 65 67 65 78 70 2c 20 54 63 6c 5f 53 69 7a 65 regexp, Tcl_Size
48b0: 20 69 6e 64 65 78 2c 0a 09 20 20 20 20 63 6f 6e index,.. con
48c0: 73 74 20 63 68 61 72 20 2a 2a 73 74 61 72 74 50 st char **startP
48d0: 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a tr, const char *
48e0: 2a 65 6e 64 50 74 72 29 0a 7d 0a 64 65 63 6c 61 *endPtr).}.decla
48f0: 72 65 20 32 31 36 20 7b 0a 20 20 20 20 76 6f 69 re 216 {. voi
4900: 64 20 54 63 6c 5f 52 65 6c 65 61 73 65 28 76 6f d Tcl_Release(vo
4910: 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a id *clientData).
4920: 7d 0a 64 65 63 6c 61 72 65 20 32 31 37 20 7b 0a }.declare 217 {.
4930: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 52 65 73 void Tcl_Res
4940: 65 74 52 65 73 75 6c 74 28 54 63 6c 5f 49 6e 74 etResult(Tcl_Int
4950: 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 erp *interp).}.d
4960: 65 63 6c 61 72 65 20 32 31 38 20 7b 0a 20 20 20 eclare 218 {.
4970: 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 53 63 Tcl_Size Tcl_Sc
4980: 61 6e 45 6c 65 6d 65 6e 74 28 63 6f 6e 73 74 20 anElement(const
4990: 63 68 61 72 20 2a 73 72 63 2c 20 69 6e 74 20 2a char *src, int *
49a0: 66 6c 61 67 50 74 72 29 0a 7d 0a 64 65 63 6c 61 flagPtr).}.decla
49b0: 72 65 20 32 31 39 20 7b 0a 20 20 20 20 54 63 6c re 219 {. Tcl
49c0: 5f 53 69 7a 65 20 54 63 6c 5f 53 63 61 6e 43 6f _Size Tcl_ScanCo
49d0: 75 6e 74 65 64 45 6c 65 6d 65 6e 74 28 63 6f 6e untedElement(con
49e0: 73 74 20 63 68 61 72 20 2a 73 72 63 2c 20 54 63 st char *src, Tc
49f0: 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 68 2c 20 69 l_Size length, i
4a00: 6e 74 20 2a 66 6c 61 67 50 74 72 29 0a 7d 0a 64 nt *flagPtr).}.d
4a10: 65 63 6c 61 72 65 20 32 32 31 20 7b 0a 20 20 20 eclare 221 {.
4a20: 20 69 6e 74 20 54 63 6c 5f 53 65 72 76 69 63 65 int Tcl_Service
4a30: 41 6c 6c 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c All(void).}.decl
4a40: 61 72 65 20 32 32 32 20 7b 0a 20 20 20 20 69 6e are 222 {. in
4a50: 74 20 54 63 6c 5f 53 65 72 76 69 63 65 45 76 65 t Tcl_ServiceEve
4a60: 6e 74 28 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a nt(int flags).}.
4a70: 64 65 63 6c 61 72 65 20 32 32 33 20 7b 0a 20 20 declare 223 {.
4a80: 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 41 73 void Tcl_SetAs
4a90: 73 6f 63 44 61 74 61 28 54 63 6c 5f 49 6e 74 65 socData(Tcl_Inte
4aa0: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 rp *interp, cons
4ab0: 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 20 t char *name,..
4ac0: 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c Tcl_InterpDel
4ad0: 65 74 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 eteProc *proc, v
4ae0: 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 oid *clientData)
4af0: 0a 7d 0a 64 65 63 6c 61 72 65 20 32 32 34 20 7b .}.declare 224 {
4b00: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 . void Tcl_Se
4b10: 74 43 68 61 6e 6e 65 6c 42 75 66 66 65 72 53 69 tChannelBufferSi
4b20: 7a 65 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 ze(Tcl_Channel c
4b30: 68 61 6e 2c 20 54 63 6c 5f 53 69 7a 65 20 73 7a han, Tcl_Size sz
4b40: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 32 35 20 ).}.declare 225
4b50: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 65 {. int Tcl_Se
4b60: 74 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 28 54 tChannelOption(T
4b70: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
4b80: 70 2c 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 p, Tcl_Channel c
4b90: 68 61 6e 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 han,.. const
4ba0: 63 68 61 72 20 2a 6f 70 74 69 6f 6e 4e 61 6d 65 char *optionName
4bb0: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 65 , const char *ne
4bc0: 77 56 61 6c 75 65 29 0a 7d 0a 64 65 63 6c 61 72 wValue).}.declar
4bd0: 65 20 32 32 36 20 7b 0a 20 20 20 20 69 6e 74 20 e 226 {. int
4be0: 54 63 6c 5f 53 65 74 43 6f 6d 6d 61 6e 64 49 6e Tcl_SetCommandIn
4bf0: 66 6f 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 fo(Tcl_Interp *i
4c00: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
4c10: 72 20 2a 63 6d 64 4e 61 6d 65 2c 0a 09 20 20 20 r *cmdName,..
4c20: 20 63 6f 6e 73 74 20 54 63 6c 5f 43 6d 64 49 6e const Tcl_CmdIn
4c30: 66 6f 20 2a 69 6e 66 6f 50 74 72 29 0a 7d 0a 64 fo *infoPtr).}.d
4c40: 65 63 6c 61 72 65 20 32 32 37 20 7b 0a 20 20 20 eclare 227 {.
4c50: 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 45 72 72 void Tcl_SetErr
4c60: 6e 6f 28 69 6e 74 20 65 72 72 29 0a 7d 0a 64 65 no(int err).}.de
4c70: 63 6c 61 72 65 20 32 32 38 20 7b 0a 20 20 20 20 clare 228 {.
4c80: 76 6f 69 64 20 54 63 6c 5f 53 65 74 45 72 72 6f void Tcl_SetErro
4c90: 72 43 6f 64 65 28 54 63 6c 5f 49 6e 74 65 72 70 rCode(Tcl_Interp
4ca0: 20 2a 69 6e 74 65 72 70 2c 20 2e 2e 2e 29 0a 7d *interp, ...).}
4cb0: 0a 64 65 63 6c 61 72 65 20 32 32 39 20 7b 0a 20 .declare 229 {.
4cc0: 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 4d void Tcl_SetM
4cd0: 61 78 42 6c 6f 63 6b 54 69 6d 65 28 63 6f 6e 73 axBlockTime(cons
4ce0: 74 20 54 63 6c 5f 54 69 6d 65 20 2a 74 69 6d 65 t Tcl_Time *time
4cf0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 Ptr).}.declare 2
4d00: 33 31 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 31 {. Tcl_Siz
4d10: 65 20 54 63 6c 5f 53 65 74 52 65 63 75 72 73 69 e Tcl_SetRecursi
4d20: 6f 6e 4c 69 6d 69 74 28 54 63 6c 5f 49 6e 74 65 onLimit(Tcl_Inte
4d30: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
4d40: 53 69 7a 65 20 64 65 70 74 68 29 0a 7d 0a 64 65 Size depth).}.de
4d50: 63 6c 61 72 65 20 32 33 33 20 7b 0a 20 20 20 20 clare 233 {.
4d60: 69 6e 74 20 54 63 6c 5f 53 65 74 53 65 72 76 69 int Tcl_SetServi
4d70: 63 65 4d 6f 64 65 28 69 6e 74 20 6d 6f 64 65 29 ceMode(int mode)
4d80: 0a 7d 0a 64 65 63 6c 61 72 65 20 32 33 34 20 7b .}.declare 234 {
4d90: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 . void Tcl_Se
4da0: 74 4f 62 6a 45 72 72 6f 72 43 6f 64 65 28 54 63 tObjErrorCode(Tc
4db0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
4dc0: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 65 72 72 6f 72 , Tcl_Obj *error
4dd0: 4f 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 ObjPtr).}.declar
4de0: 65 20 32 33 35 20 7b 0a 20 20 20 20 76 6f 69 64 e 235 {. void
4df0: 20 54 63 6c 5f 53 65 74 4f 62 6a 52 65 73 75 6c Tcl_SetObjResul
4e00: 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e t(Tcl_Interp *in
4e10: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 72 terp, Tcl_Obj *r
4e20: 65 73 75 6c 74 4f 62 6a 50 74 72 29 0a 7d 0a 64 esultObjPtr).}.d
4e30: 65 63 6c 61 72 65 20 32 33 36 20 7b 0a 20 20 20 eclare 236 {.
4e40: 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 53 74 64 void Tcl_SetStd
4e50: 43 68 61 6e 6e 65 6c 28 54 63 6c 5f 43 68 61 6e Channel(Tcl_Chan
4e60: 6e 65 6c 20 63 68 61 6e 6e 65 6c 2c 20 69 6e 74 nel channel, int
4e70: 20 74 79 70 65 29 0a 7d 0a 64 65 63 6c 61 72 65 type).}.declare
4e80: 20 32 33 38 20 7b 0a 20 20 20 20 63 6f 6e 73 74 238 {. const
4e90: 20 63 68 61 72 20 2a 54 63 6c 5f 53 65 74 56 61 char *Tcl_SetVa
4ea0: 72 32 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 r2(Tcl_Interp *i
4eb0: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
4ec0: 72 20 2a 70 61 72 74 31 2c 0a 09 20 20 20 20 63 r *part1,.. c
4ed0: 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 72 74 32 onst char *part2
4ee0: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 65 , const char *ne
4ef0: 77 56 61 6c 75 65 2c 20 69 6e 74 20 66 6c 61 67 wValue, int flag
4f00: 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 33 39 s).}.declare 239
4f10: 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 {. const cha
4f20: 72 20 2a 54 63 6c 5f 53 69 67 6e 61 6c 49 64 28 r *Tcl_SignalId(
4f30: 69 6e 74 20 73 69 67 29 0a 7d 0a 64 65 63 6c 61 int sig).}.decla
4f40: 72 65 20 32 34 30 20 7b 0a 20 20 20 20 63 6f 6e re 240 {. con
4f50: 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 53 69 67 st char *Tcl_Sig
4f60: 6e 61 6c 4d 73 67 28 69 6e 74 20 73 69 67 29 0a nalMsg(int sig).
4f70: 7d 0a 64 65 63 6c 61 72 65 20 32 34 31 20 7b 0a }.declare 241 {.
4f80: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 6f 75 void Tcl_Sou
4f90: 72 63 65 52 43 46 69 6c 65 28 54 63 6c 5f 49 6e rceRCFile(Tcl_In
4fa0: 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d 0a terp *interp).}.
4fb0: 64 65 63 6c 61 72 65 20 32 34 32 20 7b 0a 20 20 declare 242 {.
4fc0: 20 20 69 6e 74 20 54 63 6c 53 70 6c 69 74 4c 69 int TclSplitLi
4fd0: 73 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 st(Tcl_Interp *i
4fe0: 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 nterp, const cha
4ff0: 72 20 2a 6c 69 73 74 53 74 72 2c 20 76 6f 69 64 r *listStr, void
5000: 20 2a 61 72 67 63 50 74 72 2c 0a 09 20 20 20 20 *argcPtr,..
5010: 63 6f 6e 73 74 20 63 68 61 72 20 2a 2a 2a 61 72 const char ***ar
5020: 67 76 50 74 72 29 0a 7d 0a 23 20 4f 62 73 6f 6c gvPtr).}.# Obsol
5030: 65 74 65 2c 20 75 73 65 20 54 63 6c 5f 46 53 53 ete, use Tcl_FSS
5040: 70 6c 69 74 50 61 74 68 0a 64 65 63 6c 61 72 65 plitPath.declare
5050: 20 32 34 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 243 {. void
5060: 54 63 6c 53 70 6c 69 74 50 61 74 68 28 63 6f 6e TclSplitPath(con
5070: 73 74 20 63 68 61 72 20 2a 70 61 74 68 2c 20 76 st char *path, v
5080: 6f 69 64 20 2a 61 72 67 63 50 74 72 2c 20 63 6f oid *argcPtr, co
5090: 6e 73 74 20 63 68 61 72 20 2a 2a 2a 61 72 67 76 nst char ***argv
50a0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 Ptr).}.declare 2
50b0: 34 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 48 {. int Tcl
50c0: 5f 54 72 61 63 65 56 61 72 32 28 54 63 6c 5f 49 _TraceVar2(Tcl_I
50d0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 nterp *interp, c
50e0: 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 72 74 31 onst char *part1
50f0: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 , const char *pa
5100: 72 74 32 2c 0a 09 20 20 20 20 69 6e 74 20 66 6c rt2,.. int fl
5110: 61 67 73 2c 20 54 63 6c 5f 56 61 72 54 72 61 63 ags, Tcl_VarTrac
5120: 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 eProc *proc, voi
5130: 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d d *clientData).}
5140: 0a 64 65 63 6c 61 72 65 20 32 34 39 20 7b 0a 20 .declare 249 {.
5150: 20 20 20 63 68 61 72 20 2a 54 63 6c 5f 54 72 61 char *Tcl_Tra
5160: 6e 73 6c 61 74 65 46 69 6c 65 4e 61 6d 65 28 54 nslateFileName(T
5170: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
5180: 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e p, const char *n
5190: 61 6d 65 2c 0a 09 20 20 20 20 54 63 6c 5f 44 53 ame,.. Tcl_DS
51a0: 74 72 69 6e 67 20 2a 62 75 66 66 65 72 50 74 72 tring *bufferPtr
51b0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 35 30 20 ).}.declare 250
51c0: 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 {. Tcl_Size T
51d0: 63 6c 5f 55 6e 67 65 74 73 28 54 63 6c 5f 43 68 cl_Ungets(Tcl_Ch
51e0: 61 6e 6e 65 6c 20 63 68 61 6e 2c 20 63 6f 6e 73 annel chan, cons
51f0: 74 20 63 68 61 72 20 2a 73 74 72 2c 20 54 63 6c t char *str, Tcl
5200: 5f 53 69 7a 65 20 6c 65 6e 2c 20 69 6e 74 20 61 _Size len, int a
5210: 74 48 65 61 64 29 0a 7d 0a 64 65 63 6c 61 72 65 tHead).}.declare
5220: 20 32 35 31 20 7b 0a 20 20 20 20 76 6f 69 64 20 251 {. void
5230: 54 63 6c 5f 55 6e 6c 69 6e 6b 56 61 72 28 54 63 Tcl_UnlinkVar(Tc
5240: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
5250: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 , const char *va
5260: 72 4e 61 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 rName).}.declare
5270: 20 32 35 32 20 7b 0a 20 20 20 20 69 6e 74 20 54 252 {. int T
5280: 63 6c 5f 55 6e 72 65 67 69 73 74 65 72 43 68 61 cl_UnregisterCha
5290: 6e 6e 65 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 nnel(Tcl_Interp
52a0: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 *interp, Tcl_Cha
52b0: 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a 64 65 63 nnel chan).}.dec
52c0: 6c 61 72 65 20 32 35 34 20 7b 0a 20 20 20 20 69 lare 254 {. i
52d0: 6e 74 20 54 63 6c 5f 55 6e 73 65 74 56 61 72 32 nt Tcl_UnsetVar2
52e0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
52f0: 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
5300: 2a 70 61 72 74 31 2c 20 63 6f 6e 73 74 20 63 68 *part1, const ch
5310: 61 72 20 2a 70 61 72 74 32 2c 0a 09 20 20 20 20 ar *part2,..
5320: 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 int flags).}.dec
5330: 6c 61 72 65 20 32 35 36 20 7b 0a 20 20 20 20 76 lare 256 {. v
5340: 6f 69 64 20 54 63 6c 5f 55 6e 74 72 61 63 65 56 oid Tcl_UntraceV
5350: 61 72 32 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ar2(Tcl_Interp *
5360: 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 interp, const ch
5370: 61 72 20 2a 70 61 72 74 31 2c 0a 09 20 20 20 20 ar *part1,..
5380: 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 72 74 const char *part
5390: 32 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 54 63 2, int flags, Tc
53a0: 6c 5f 56 61 72 54 72 61 63 65 50 72 6f 63 20 2a l_VarTraceProc *
53b0: 70 72 6f 63 2c 0a 09 20 20 20 20 76 6f 69 64 20 proc,.. void
53c0: 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 *clientData).}.d
53d0: 65 63 6c 61 72 65 20 32 35 37 20 7b 0a 20 20 20 eclare 257 {.
53e0: 20 76 6f 69 64 20 54 63 6c 5f 55 70 64 61 74 65 void Tcl_Update
53f0: 4c 69 6e 6b 65 64 56 61 72 28 54 63 6c 5f 49 6e LinkedVar(Tcl_In
5400: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f terp *interp, co
5410: 6e 73 74 20 63 68 61 72 20 2a 76 61 72 4e 61 6d nst char *varNam
5420: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 35 39 e).}.declare 259
5430: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 {. int Tcl_U
5440: 70 56 61 72 32 28 54 63 6c 5f 49 6e 74 65 72 70 pVar2(Tcl_Interp
5450: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
5460: 63 68 61 72 20 2a 66 72 61 6d 65 4e 61 6d 65 2c char *frameName,
5470: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 72 const char *par
5480: 74 31 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 t1,.. const c
5490: 68 61 72 20 2a 70 61 72 74 32 2c 20 63 6f 6e 73 har *part2, cons
54a0: 74 20 63 68 61 72 20 2a 6c 6f 63 61 6c 4e 61 6d t char *localNam
54b0: 65 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a e, int flags).}.
54c0: 64 65 63 6c 61 72 65 20 32 36 30 20 7b 0a 20 20 declare 260 {.
54d0: 20 20 69 6e 74 20 54 63 6c 5f 56 61 72 45 76 61 int Tcl_VarEva
54e0: 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e l(Tcl_Interp *in
54f0: 74 65 72 70 2c 20 2e 2e 2e 29 0a 7d 0a 64 65 63 terp, ...).}.dec
5500: 6c 61 72 65 20 32 36 32 20 7b 0a 20 20 20 20 76 lare 262 {. v
5510: 6f 69 64 20 2a 54 63 6c 5f 56 61 72 54 72 61 63 oid *Tcl_VarTrac
5520: 65 49 6e 66 6f 32 28 54 63 6c 5f 49 6e 74 65 72 eInfo2(Tcl_Inter
5530: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 p *interp, const
5540: 20 63 68 61 72 20 2a 70 61 72 74 31 2c 0a 09 20 char *part1,..
5550: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 const char *p
5560: 61 72 74 32 2c 20 69 6e 74 20 66 6c 61 67 73 2c art2, int flags,
5570: 20 54 63 6c 5f 56 61 72 54 72 61 63 65 50 72 6f Tcl_VarTracePro
5580: 63 20 2a 70 72 6f 63 50 74 72 2c 0a 09 20 20 20 c *procPtr,..
5590: 20 76 6f 69 64 20 2a 70 72 65 76 43 6c 69 65 6e void *prevClien
55a0: 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 tData).}.declare
55b0: 20 32 36 33 20 7b 0a 20 20 20 20 54 63 6c 5f 53 263 {. Tcl_S
55c0: 69 7a 65 20 54 63 6c 5f 57 72 69 74 65 28 54 63 ize Tcl_Write(Tc
55d0: 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 2c 20 l_Channel chan,
55e0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 54 const char *s, T
55f0: 63 6c 5f 53 69 7a 65 20 73 6c 65 6e 29 0a 7d 0a cl_Size slen).}.
5600: 64 65 63 6c 61 72 65 20 32 36 34 20 7b 0a 20 20 declare 264 {.
5610: 20 20 76 6f 69 64 20 54 63 6c 5f 57 72 6f 6e 67 void Tcl_Wrong
5620: 4e 75 6d 41 72 67 73 28 54 63 6c 5f 49 6e 74 65 NumArgs(Tcl_Inte
5630: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
5640: 53 69 7a 65 20 6f 62 6a 63 2c 0a 09 20 20 20 20 Size objc,..
5650: 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 6f Tcl_Obj *const o
5660: 62 6a 76 5b 5d 2c 20 63 6f 6e 73 74 20 63 68 61 bjv[], const cha
5670: 72 20 2a 6d 65 73 73 61 67 65 29 0a 7d 0a 64 65 r *message).}.de
5680: 63 6c 61 72 65 20 32 36 35 20 7b 0a 20 20 20 20 clare 265 {.
5690: 69 6e 74 20 54 63 6c 5f 44 75 6d 70 41 63 74 69 int Tcl_DumpActi
56a0: 76 65 4d 65 6d 6f 72 79 28 63 6f 6e 73 74 20 63 veMemory(const c
56b0: 68 61 72 20 2a 66 69 6c 65 4e 61 6d 65 29 0a 7d har *fileName).}
56c0: 0a 64 65 63 6c 61 72 65 20 32 36 36 20 7b 0a 20 .declare 266 {.
56d0: 20 20 20 76 6f 69 64 20 54 63 6c 5f 56 61 6c 69 void Tcl_Vali
56e0: 64 61 74 65 41 6c 6c 4d 65 6d 6f 72 79 28 63 6f dateAllMemory(co
56f0: 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 nst char *file,
5700: 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c int line).}.decl
5710: 61 72 65 20 32 36 39 20 7b 0a 20 20 20 20 63 68 are 269 {. ch
5720: 61 72 20 2a 54 63 6c 5f 48 61 73 68 53 74 61 74 ar *Tcl_HashStat
5730: 73 28 54 63 6c 5f 48 61 73 68 54 61 62 6c 65 20 s(Tcl_HashTable
5740: 2a 74 61 62 6c 65 50 74 72 29 0a 7d 0a 64 65 63 *tablePtr).}.dec
5750: 6c 61 72 65 20 32 37 30 20 7b 0a 20 20 20 20 63 lare 270 {. c
5760: 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 50 onst char *Tcl_P
5770: 61 72 73 65 56 61 72 28 54 63 6c 5f 49 6e 74 65 arseVar(Tcl_Inte
5780: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 rp *interp, cons
5790: 74 20 63 68 61 72 20 2a 73 74 61 72 74 2c 0a 09 t char *start,..
57a0: 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a const char *
57b0: 2a 74 65 72 6d 50 74 72 29 0a 7d 0a 64 65 63 6c *termPtr).}.decl
57c0: 61 72 65 20 32 37 32 20 7b 0a 20 20 20 20 63 6f are 272 {. co
57d0: 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 50 6b nst char *Tcl_Pk
57e0: 67 50 72 65 73 65 6e 74 45 78 28 54 63 6c 5f 49 gPresentEx(Tcl_I
57f0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 nterp *interp,..
5800: 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a const char *
5810: 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 name, const char
5820: 20 2a 76 65 72 73 69 6f 6e 2c 20 69 6e 74 20 65 *version, int e
5830: 78 61 63 74 2c 0a 09 20 20 20 20 76 6f 69 64 20 xact,.. void
5840: 2a 63 6c 69 65 6e 74 44 61 74 61 50 74 72 29 0a *clientDataPtr).
5850: 7d 0a 64 65 63 6c 61 72 65 20 32 37 37 20 7b 0a }.declare 277 {.
5860: 20 20 20 20 54 63 6c 5f 50 69 64 20 54 63 6c 5f Tcl_Pid Tcl_
5870: 57 61 69 74 50 69 64 28 54 63 6c 5f 50 69 64 20 WaitPid(Tcl_Pid
5880: 70 69 64 2c 20 69 6e 74 20 2a 73 74 61 74 50 74 pid, int *statPt
5890: 72 2c 20 69 6e 74 20 6f 70 74 69 6f 6e 73 29 0a r, int options).
58a0: 7d 0a 64 65 63 6c 61 72 65 20 32 37 39 20 7b 0a }.declare 279 {.
58b0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 47 65 74 void Tcl_Get
58c0: 56 65 72 73 69 6f 6e 28 69 6e 74 20 2a 6d 61 6a Version(int *maj
58d0: 6f 72 2c 20 69 6e 74 20 2a 6d 69 6e 6f 72 2c 20 or, int *minor,
58e0: 69 6e 74 20 2a 70 61 74 63 68 4c 65 76 65 6c 2c int *patchLevel,
58f0: 20 69 6e 74 20 2a 74 79 70 65 29 0a 7d 0a 64 65 int *type).}.de
5900: 63 6c 61 72 65 20 32 38 30 20 7b 0a 20 20 20 20 clare 280 {.
5910: 76 6f 69 64 20 54 63 6c 5f 49 6e 69 74 4d 65 6d void Tcl_InitMem
5920: 6f 72 79 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ory(Tcl_Interp *
5930: 69 6e 74 65 72 70 29 0a 7d 0a 0a 23 20 41 6e 64 interp).}..# And
5940: 72 65 61 73 20 4b 75 70 72 69 65 73 20 3c 61 2e reas Kupries <a.
5950: 6b 75 70 72 69 65 73 40 77 65 73 74 65 6e 64 2e kupries@westend.
5960: 63 6f 6d 3e 2c 20 30 33 2f 32 31 2f 31 39 39 39 com>, 03/21/1999
5970: 0a 23 20 22 54 72 66 2d 50 61 74 63 68 20 66 6f .# "Trf-Patch fo
5980: 72 20 66 69 6c 74 65 72 69 6e 67 20 63 68 61 6e r filtering chan
5990: 6e 65 6c 73 22 0a 23 0a 23 20 43 2d 4c 65 76 65 nels".#.# C-Leve
59a0: 6c 20 41 50 49 20 66 6f 72 20 28 75 6e 29 73 74 l API for (un)st
59b0: 61 63 6b 69 6e 67 20 6f 66 20 63 68 61 6e 6e 65 acking of channe
59c0: 6c 73 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 ls. This allows
59d0: 74 68 65 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e the introduction
59e0: 0a 23 20 6f 66 20 66 69 6c 74 65 72 69 6e 67 20 .# of filtering
59f0: 63 68 61 6e 6e 65 6c 73 20 77 69 74 68 20 72 65 channels with re
5a00: 6c 61 74 69 76 65 6c 79 20 6c 69 74 74 6c 65 20 latively little
5a10: 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 63 changes to the c
5a20: 6f 72 65 2e 0a 23 20 54 68 69 73 20 70 61 74 63 ore..# This patc
5a30: 68 20 77 61 73 20 63 72 65 61 74 65 64 20 69 6e h was created in
5a40: 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 77 69 74 cooperation wit
5a50: 68 20 4a 61 6e 20 4e 69 6a 74 6d 61 6e 73 20 6a h Jan Nijtmans j
5a60: 2e 6e 69 6a 74 6d 61 6e 73 40 63 68 65 6c 6c 6f .nijtmans@chello
5a70: 2e 6e 6c 0a 23 20 61 6e 64 20 69 73 20 74 68 65 .nl.# and is the
5a80: 72 65 66 6f 72 65 20 70 61 72 74 20 6f 66 20 68 refore part of h
5a90: 69 73 20 70 6c 75 73 2d 70 61 74 63 68 65 73 20 is plus-patches
5aa0: 74 6f 6f 2e 0a 23 0a 23 20 49 74 20 77 6f 75 6c too..#.# It woul
5ab0: 64 20 68 61 76 65 20 62 65 65 6e 20 70 6f 73 73 d have been poss
5ac0: 69 62 6c 65 20 74 6f 20 70 6c 61 63 65 20 74 68 ible to place th
5ad0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 66 69 e following defi
5ae0: 6e 69 74 69 6f 6e 73 20 61 63 63 6f 72 64 69 6e nitions accordin
5af0: 67 0a 23 20 74 6f 20 74 68 65 20 61 6c 70 68 61 g.# to the alpha
5b00: 62 65 74 69 63 61 6c 20 6f 72 64 65 72 20 75 73 betical order us
5b10: 65 64 20 65 6c 73 65 77 68 65 72 65 20 69 6e 20 ed elsewhere in
5b20: 74 68 69 73 20 66 69 6c 65 2c 20 62 75 74 20 49 this file, but I
5b30: 20 64 65 63 69 64 65 64 0a 23 20 61 67 61 69 6e decided.# again
5b40: 73 74 20 74 68 61 74 20 74 6f 20 65 61 73 65 20 st that to ease
5b50: 74 68 65 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 the maintenance
5b60: 6f 66 20 74 68 65 20 70 61 74 63 68 20 61 63 72 of the patch acr
5b70: 6f 73 73 20 6e 65 77 20 74 63 6c 20 76 65 72 73 oss new tcl vers
5b80: 69 6f 6e 73 0a 23 20 28 70 61 74 63 68 20 75 73 ions.# (patch us
5b90: 75 61 6c 6c 79 20 68 61 73 20 6e 6f 20 70 72 6f ually has no pro
5ba0: 62 6c 65 6d 73 20 74 6f 20 69 6e 74 65 67 72 61 blems to integra
5bb0: 74 65 20 74 68 65 20 70 61 74 63 68 20 66 69 6c te the patch fil
5bc0: 65 20 66 6f 72 20 74 68 65 20 6c 61 73 74 0a 23 e for the last.#
5bd0: 20 76 65 72 73 69 6f 6e 20 69 6e 74 6f 20 74 68 version into th
5be0: 65 20 6e 65 77 20 6f 6e 65 29 2e 0a 0a 64 65 63 e new one)...dec
5bf0: 6c 61 72 65 20 32 38 31 20 7b 0a 20 20 20 20 54 lare 281 {. T
5c00: 63 6c 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f 53 cl_Channel Tcl_S
5c10: 74 61 63 6b 43 68 61 6e 6e 65 6c 28 54 63 6c 5f tackChannel(Tcl_
5c20: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a Interp *interp,.
5c30: 09 20 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 . const Tcl_C
5c40: 68 61 6e 6e 65 6c 54 79 70 65 20 2a 74 79 70 65 hannelType *type
5c50: 50 74 72 2c 20 76 6f 69 64 20 2a 69 6e 73 74 61 Ptr, void *insta
5c60: 6e 63 65 44 61 74 61 2c 0a 09 20 20 20 20 69 6e nceData,.. in
5c70: 74 20 6d 61 73 6b 2c 20 54 63 6c 5f 43 68 61 6e t mask, Tcl_Chan
5c80: 6e 65 6c 20 70 72 65 76 43 68 61 6e 29 0a 7d 0a nel prevChan).}.
5c90: 64 65 63 6c 61 72 65 20 32 38 32 20 7b 0a 20 20 declare 282 {.
5ca0: 20 20 69 6e 74 20 54 63 6c 5f 55 6e 73 74 61 63 int Tcl_Unstac
5cb0: 6b 43 68 61 6e 6e 65 6c 28 54 63 6c 5f 49 6e 74 kChannel(Tcl_Int
5cc0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
5cd0: 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d _Channel chan).}
5ce0: 0a 64 65 63 6c 61 72 65 20 32 38 33 20 7b 0a 20 .declare 283 {.
5cf0: 20 20 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 54 Tcl_Channel T
5d00: 63 6c 5f 47 65 74 53 74 61 63 6b 65 64 43 68 61 cl_GetStackedCha
5d10: 6e 6e 65 6c 28 54 63 6c 5f 43 68 61 6e 6e 65 6c nnel(Tcl_Channel
5d20: 20 63 68 61 6e 29 0a 7d 0a 0a 23 20 32 38 34 20 chan).}..# 284
5d30: 77 61 73 20 72 65 73 65 72 76 65 64 2c 20 62 75 was reserved, bu
5d40: 74 20 61 64 64 65 64 20 69 6e 20 38 2e 34 61 32 t added in 8.4a2
5d50: 0a 64 65 63 6c 61 72 65 20 32 38 34 20 7b 0a 20 .declare 284 {.
5d60: 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 4d void Tcl_SetM
5d70: 61 69 6e 4c 6f 6f 70 28 54 63 6c 5f 4d 61 69 6e ainLoop(Tcl_Main
5d80: 4c 6f 6f 70 50 72 6f 63 20 2a 70 72 6f 63 29 0a LoopProc *proc).
5d90: 7d 0a 0a 64 65 63 6c 61 72 65 20 32 38 35 20 7b }..declare 285 {
5da0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 . int Tcl_Get
5db0: 41 6c 69 61 73 4f 62 6a 28 54 63 6c 5f 49 6e 74 AliasObj(Tcl_Int
5dc0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e erp *interp, con
5dd0: 73 74 20 63 68 61 72 20 2a 63 68 69 6c 64 43 6d st char *childCm
5de0: 64 2c 0a 09 20 20 20 20 54 63 6c 5f 49 6e 74 65 d,.. Tcl_Inte
5df0: 72 70 20 2a 2a 74 61 72 67 65 74 49 6e 74 65 72 rp **targetInter
5e00: 70 50 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 pPtr, const char
5e10: 20 2a 2a 74 61 72 67 65 74 43 6d 64 50 74 72 2c **targetCmdPtr,
5e20: 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 2a .. Tcl_Size *
5e30: 6f 62 6a 63 50 74 72 2c 20 54 63 6c 5f 4f 62 6a objcPtr, Tcl_Obj
5e40: 20 2a 2a 2a 6f 62 6a 76 50 74 72 29 0a 7d 0a 0a ***objvPtr).}..
5e50: 23 20 41 64 64 65 64 20 69 6e 20 38 2e 31 3a 0a # Added in 8.1:.
5e60: 0a 64 65 63 6c 61 72 65 20 32 38 36 20 7b 0a 20 .declare 286 {.
5e70: 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 70 70 65 void Tcl_Appe
5e80: 6e 64 4f 62 6a 54 6f 4f 62 6a 28 54 63 6c 5f 4f ndObjToObj(Tcl_O
5e90: 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 54 63 6c 5f bj *objPtr, Tcl_
5ea0: 4f 62 6a 20 2a 61 70 70 65 6e 64 4f 62 6a 50 74 Obj *appendObjPt
5eb0: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 38 37 r).}.declare 287
5ec0: 20 7b 0a 20 20 20 20 54 63 6c 5f 45 6e 63 6f 64 {. Tcl_Encod
5ed0: 69 6e 67 20 54 63 6c 5f 43 72 65 61 74 65 45 6e ing Tcl_CreateEn
5ee0: 63 6f 64 69 6e 67 28 63 6f 6e 73 74 20 54 63 6c coding(const Tcl
5ef0: 5f 45 6e 63 6f 64 69 6e 67 54 79 70 65 20 2a 74 _EncodingType *t
5f00: 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 ypePtr).}.declar
5f10: 65 20 32 38 38 20 7b 0a 20 20 20 20 76 6f 69 64 e 288 {. void
5f20: 20 54 63 6c 5f 43 72 65 61 74 65 54 68 72 65 61 Tcl_CreateThrea
5f30: 64 45 78 69 74 48 61 6e 64 6c 65 72 28 54 63 6c dExitHandler(Tcl
5f40: 5f 45 78 69 74 50 72 6f 63 20 2a 70 72 6f 63 2c _ExitProc *proc,
5f50: 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 void *clientDat
5f60: 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 38 39 a).}.declare 289
5f70: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
5f80: 44 65 6c 65 74 65 54 68 72 65 61 64 45 78 69 74 DeleteThreadExit
5f90: 48 61 6e 64 6c 65 72 28 54 63 6c 5f 45 78 69 74 Handler(Tcl_Exit
5fa0: 50 72 6f 63 20 2a 70 72 6f 63 2c 20 76 6f 69 64 Proc *proc, void
5fb0: 20 2a 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a *clientData).}.
5fc0: 64 65 63 6c 61 72 65 20 32 39 31 20 7b 0a 20 20 declare 291 {.
5fd0: 20 20 69 6e 74 20 54 63 6c 5f 45 76 61 6c 45 78 int Tcl_EvalEx
5fe0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
5ff0: 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
6000: 2a 73 63 72 69 70 74 2c 20 54 63 6c 5f 53 69 7a *script, Tcl_Siz
6010: 65 20 6e 75 6d 42 79 74 65 73 2c 0a 09 20 20 20 e numBytes,..
6020: 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 int flags).}.de
6030: 63 6c 61 72 65 20 32 39 32 20 7b 0a 20 20 20 20 clare 292 {.
6040: 69 6e 74 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 76 int Tcl_EvalObjv
6050: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
6060: 65 72 70 2c 20 54 63 6c 5f 53 69 7a 65 20 6f 62 erp, Tcl_Size ob
6070: 6a 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e jc, Tcl_Obj *con
6080: 73 74 20 6f 62 6a 76 5b 5d 2c 0a 09 20 20 20 20 st objv[],..
6090: 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 int flags).}.dec
60a0: 6c 61 72 65 20 32 39 33 20 7b 0a 20 20 20 20 69 lare 293 {. i
60b0: 6e 74 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 45 78 nt Tcl_EvalObjEx
60c0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
60d0: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 erp, Tcl_Obj *ob
60e0: 6a 50 74 72 2c 20 69 6e 74 20 66 6c 61 67 73 29 jPtr, int flags)
60f0: 0a 7d 0a 64 65 63 6c 61 72 65 20 32 39 34 20 7b .}.declare 294 {
6100: 0a 20 20 20 20 54 43 4c 5f 4e 4f 52 45 54 55 52 . TCL_NORETUR
6110: 4e 20 76 6f 69 64 20 54 63 6c 5f 45 78 69 74 54 N void Tcl_ExitT
6120: 68 72 65 61 64 28 69 6e 74 20 73 74 61 74 75 73 hread(int status
6130: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 32 39 35 20 ).}.declare 295
6140: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 45 78 {. int Tcl_Ex
6150: 74 65 72 6e 61 6c 54 6f 55 74 66 28 54 63 6c 5f ternalToUtf(Tcl_
6160: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
6170: 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 20 65 6e 63 Tcl_Encoding enc
6180: 6f 64 69 6e 67 2c 0a 09 20 20 20 20 63 6f 6e 73 oding,.. cons
6190: 74 20 63 68 61 72 20 2a 73 72 63 2c 20 54 63 6c t char *src, Tcl
61a0: 5f 53 69 7a 65 20 73 72 63 4c 65 6e 2c 20 69 6e _Size srcLen, in
61b0: 74 20 66 6c 61 67 73 2c 0a 09 20 20 20 20 54 63 t flags,.. Tc
61c0: 6c 5f 45 6e 63 6f 64 69 6e 67 53 74 61 74 65 20 l_EncodingState
61d0: 2a 73 74 61 74 65 50 74 72 2c 20 63 68 61 72 20 *statePtr, char
61e0: 2a 64 73 74 2c 20 54 63 6c 5f 53 69 7a 65 20 64 *dst, Tcl_Size d
61f0: 73 74 4c 65 6e 2c 0a 09 20 20 20 20 69 6e 74 20 stLen,.. int
6200: 2a 73 72 63 52 65 61 64 50 74 72 2c 20 69 6e 74 *srcReadPtr, int
6210: 20 2a 64 73 74 57 72 6f 74 65 50 74 72 2c 20 69 *dstWrotePtr, i
6220: 6e 74 20 2a 64 73 74 43 68 61 72 73 50 74 72 29 nt *dstCharsPtr)
6230: 0a 7d 0a 64 65 63 6c 61 72 65 20 32 39 36 20 7b .}.declare 296 {
6240: 0a 20 20 20 20 63 68 61 72 20 2a 54 63 6c 5f 45 . char *Tcl_E
6250: 78 74 65 72 6e 61 6c 54 6f 55 74 66 44 53 74 72 xternalToUtfDStr
6260: 69 6e 67 28 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 ing(Tcl_Encoding
6270: 20 65 6e 63 6f 64 69 6e 67 2c 0a 09 20 20 20 20 encoding,..
6280: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 63 2c const char *src,
6290: 20 54 63 6c 5f 53 69 7a 65 20 73 72 63 4c 65 6e Tcl_Size srcLen
62a0: 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 , Tcl_DString *d
62b0: 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 sPtr).}.declare
62c0: 32 39 37 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 297 {. void T
62d0: 63 6c 5f 46 69 6e 61 6c 69 7a 65 54 68 72 65 61 cl_FinalizeThrea
62e0: 64 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 72 d(void).}.declar
62f0: 65 20 32 39 38 20 7b 0a 20 20 20 20 76 6f 69 64 e 298 {. void
6300: 20 54 63 6c 5f 46 69 6e 61 6c 69 7a 65 4e 6f 74 Tcl_FinalizeNot
6310: 69 66 69 65 72 28 76 6f 69 64 20 2a 63 6c 69 65 ifier(void *clie
6320: 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 ntData).}.declar
6330: 65 20 32 39 39 20 7b 0a 20 20 20 20 76 6f 69 64 e 299 {. void
6340: 20 54 63 6c 5f 46 72 65 65 45 6e 63 6f 64 69 6e Tcl_FreeEncodin
6350: 67 28 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 20 65 g(Tcl_Encoding e
6360: 6e 63 6f 64 69 6e 67 29 0a 7d 0a 64 65 63 6c 61 ncoding).}.decla
6370: 72 65 20 33 30 30 20 7b 0a 20 20 20 20 54 63 6c re 300 {. Tcl
6380: 5f 54 68 72 65 61 64 49 64 20 54 63 6c 5f 47 65 _ThreadId Tcl_Ge
6390: 74 43 75 72 72 65 6e 74 54 68 72 65 61 64 28 76 tCurrentThread(v
63a0: 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 oid).}.declare 3
63b0: 30 31 20 7b 0a 20 20 20 20 54 63 6c 5f 45 6e 63 01 {. Tcl_Enc
63c0: 6f 64 69 6e 67 20 54 63 6c 5f 47 65 74 45 6e 63 oding Tcl_GetEnc
63d0: 6f 64 69 6e 67 28 54 63 6c 5f 49 6e 74 65 72 70 oding(Tcl_Interp
63e0: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
63f0: 63 68 61 72 20 2a 6e 61 6d 65 29 0a 7d 0a 64 65 char *name).}.de
6400: 63 6c 61 72 65 20 33 30 32 20 7b 0a 20 20 20 20 clare 302 {.
6410: 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f const char *Tcl_
6420: 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 6d 65 28 GetEncodingName(
6430: 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 20 65 6e 63 Tcl_Encoding enc
6440: 6f 64 69 6e 67 29 0a 7d 0a 64 65 63 6c 61 72 65 oding).}.declare
6450: 20 33 30 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 303 {. void
6460: 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 4e Tcl_GetEncodingN
6470: 61 6d 65 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 ames(Tcl_Interp
6480: 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c 61 *interp).}.decla
6490: 72 65 20 33 30 34 20 7b 0a 20 20 20 20 69 6e 74 re 304 {. int
64a0: 20 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f Tcl_GetIndexFro
64b0: 6d 4f 62 6a 53 74 72 75 63 74 28 54 63 6c 5f 49 mObjStruct(Tcl_I
64c0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
64d0: 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a cl_Obj *objPtr,.
64e0: 09 20 20 20 20 63 6f 6e 73 74 20 76 6f 69 64 20 . const void
64f0: 2a 74 61 62 6c 65 50 74 72 2c 20 54 63 6c 5f 53 *tablePtr, Tcl_S
6500: 69 7a 65 20 6f 66 66 73 65 74 2c 20 63 6f 6e 73 ize offset, cons
6510: 74 20 63 68 61 72 20 2a 6d 73 67 2c 20 69 6e 74 t char *msg, int
6520: 20 66 6c 61 67 73 2c 0a 09 20 20 20 20 76 6f 69 flags,.. voi
6530: 64 20 2a 69 6e 64 65 78 50 74 72 29 0a 7d 0a 64 d *indexPtr).}.d
6540: 65 63 6c 61 72 65 20 33 30 35 20 7b 0a 20 20 20 eclare 305 {.
6550: 20 76 6f 69 64 20 2a 54 63 6c 5f 47 65 74 54 68 void *Tcl_GetTh
6560: 72 65 61 64 44 61 74 61 28 54 63 6c 5f 54 68 72 readData(Tcl_Thr
6570: 65 61 64 44 61 74 61 4b 65 79 20 2a 6b 65 79 50 eadDataKey *keyP
6580: 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 73 69 7a tr, Tcl_Size siz
6590: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 30 36 e).}.declare 306
65a0: 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a {. Tcl_Obj *
65b0: 54 63 6c 5f 47 65 74 56 61 72 32 45 78 28 54 63 Tcl_GetVar2Ex(Tc
65c0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
65d0: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 , const char *pa
65e0: 72 74 31 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 rt1,.. const
65f0: 63 68 61 72 20 2a 70 61 72 74 32 2c 20 69 6e 74 char *part2, int
6600: 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c 61 72 flags).}.declar
6610: 65 20 33 30 37 20 7b 0a 20 20 20 20 76 6f 69 64 e 307 {. void
6620: 20 2a 54 63 6c 5f 49 6e 69 74 4e 6f 74 69 66 69 *Tcl_InitNotifi
6630: 65 72 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 er(void).}.decla
6640: 72 65 20 33 30 38 20 7b 0a 20 20 20 20 76 6f 69 re 308 {. voi
6650: 64 20 54 63 6c 5f 4d 75 74 65 78 4c 6f 63 6b 28 d Tcl_MutexLock(
6660: 54 63 6c 5f 4d 75 74 65 78 20 2a 6d 75 74 65 78 Tcl_Mutex *mutex
6670: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 Ptr).}.declare 3
6680: 30 39 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 09 {. void Tc
6690: 6c 5f 4d 75 74 65 78 55 6e 6c 6f 63 6b 28 54 63 l_MutexUnlock(Tc
66a0: 6c 5f 4d 75 74 65 78 20 2a 6d 75 74 65 78 50 74 l_Mutex *mutexPt
66b0: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 31 30 r).}.declare 310
66c0: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
66d0: 43 6f 6e 64 69 74 69 6f 6e 4e 6f 74 69 66 79 28 ConditionNotify(
66e0: 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 20 2a 63 Tcl_Condition *c
66f0: 6f 6e 64 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 ondPtr).}.declar
6700: 65 20 33 31 31 20 7b 0a 20 20 20 20 76 6f 69 64 e 311 {. void
6710: 20 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 57 61 Tcl_ConditionWa
6720: 69 74 28 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e it(Tcl_Condition
6730: 20 2a 63 6f 6e 64 50 74 72 2c 20 54 63 6c 5f 4d *condPtr, Tcl_M
6740: 75 74 65 78 20 2a 6d 75 74 65 78 50 74 72 2c 0a utex *mutexPtr,.
6750: 09 20 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f 54 . const Tcl_T
6760: 69 6d 65 20 2a 74 69 6d 65 50 74 72 29 0a 7d 0a ime *timePtr).}.
6770: 64 65 63 6c 61 72 65 20 33 31 32 20 7b 0a 20 20 declare 312 {.
6780: 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 4e 75 Tcl_Size TclNu
6790: 6d 55 74 66 43 68 61 72 73 28 63 6f 6e 73 74 20 mUtfChars(const
67a0: 63 68 61 72 20 2a 73 72 63 2c 20 54 63 6c 5f 53 char *src, Tcl_S
67b0: 69 7a 65 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 ize length).}.de
67c0: 63 6c 61 72 65 20 33 31 33 20 7b 0a 20 20 20 20 clare 313 {.
67d0: 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 52 65 61 Tcl_Size Tcl_Rea
67e0: 64 43 68 61 72 73 28 54 63 6c 5f 43 68 61 6e 6e dChars(Tcl_Chann
67f0: 65 6c 20 63 68 61 6e 6e 65 6c 2c 20 54 63 6c 5f el channel, Tcl_
6800: 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 Obj *objPtr,..
6810: 20 20 54 63 6c 5f 53 69 7a 65 20 63 68 61 72 73 Tcl_Size chars
6820: 54 6f 52 65 61 64 2c 20 69 6e 74 20 61 70 70 65 ToRead, int appe
6830: 6e 64 46 6c 61 67 29 0a 7d 0a 64 65 63 6c 61 72 ndFlag).}.declar
6840: 65 20 33 31 36 20 7b 0a 20 20 20 20 69 6e 74 20 e 316 {. int
6850: 54 63 6c 5f 53 65 74 53 79 73 74 65 6d 45 6e 63 Tcl_SetSystemEnc
6860: 6f 64 69 6e 67 28 54 63 6c 5f 49 6e 74 65 72 70 oding(Tcl_Interp
6870: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
6880: 63 68 61 72 20 2a 6e 61 6d 65 29 0a 7d 0a 64 65 char *name).}.de
6890: 63 6c 61 72 65 20 33 31 37 20 7b 0a 20 20 20 20 clare 317 {.
68a0: 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 53 65 74 Tcl_Obj *Tcl_Set
68b0: 56 61 72 32 45 78 28 54 63 6c 5f 49 6e 74 65 72 Var2Ex(Tcl_Inter
68c0: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 p *interp, const
68d0: 20 63 68 61 72 20 2a 70 61 72 74 31 2c 0a 09 20 char *part1,..
68e0: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 const char *p
68f0: 61 72 74 32 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6e art2, Tcl_Obj *n
6900: 65 77 56 61 6c 75 65 50 74 72 2c 20 69 6e 74 20 ewValuePtr, int
6910: 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c 61 72 65 flags).}.declare
6920: 20 33 31 38 20 7b 0a 20 20 20 20 76 6f 69 64 20 318 {. void
6930: 54 63 6c 5f 54 68 72 65 61 64 41 6c 65 72 74 28 Tcl_ThreadAlert(
6940: 54 63 6c 5f 54 68 72 65 61 64 49 64 20 74 68 72 Tcl_ThreadId thr
6950: 65 61 64 49 64 29 0a 7d 0a 64 65 63 6c 61 72 65 eadId).}.declare
6960: 20 33 31 39 20 7b 0a 20 20 20 20 76 6f 69 64 20 319 {. void
6970: 54 63 6c 5f 54 68 72 65 61 64 51 75 65 75 65 45 Tcl_ThreadQueueE
6980: 76 65 6e 74 28 54 63 6c 5f 54 68 72 65 61 64 49 vent(Tcl_ThreadI
6990: 64 20 74 68 72 65 61 64 49 64 2c 20 54 63 6c 5f d threadId, Tcl_
69a0: 45 76 65 6e 74 20 2a 65 76 50 74 72 2c 0a 09 20 Event *evPtr,..
69b0: 20 20 20 69 6e 74 20 70 6f 73 69 74 69 6f 6e 29 int position)
69c0: 0a 7d 0a 64 65 63 6c 61 72 65 20 33 32 30 20 7b .}.declare 320 {
69d0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 6e 69 . int Tcl_Uni
69e0: 43 68 61 72 41 74 49 6e 64 65 78 28 63 6f 6e 73 CharAtIndex(cons
69f0: 74 20 63 68 61 72 20 2a 73 72 63 2c 20 54 63 6c t char *src, Tcl
6a00: 5f 53 69 7a 65 20 69 6e 64 65 78 29 0a 7d 0a 64 _Size index).}.d
6a10: 65 63 6c 61 72 65 20 33 32 31 20 7b 0a 20 20 20 eclare 321 {.
6a20: 20 69 6e 74 20 54 63 6c 5f 55 6e 69 43 68 61 72 int Tcl_UniChar
6a30: 54 6f 4c 6f 77 65 72 28 69 6e 74 20 63 68 29 0a ToLower(int ch).
6a40: 7d 0a 64 65 63 6c 61 72 65 20 33 32 32 20 7b 0a }.declare 322 {.
6a50: 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 6e 69 43 int Tcl_UniC
6a60: 68 61 72 54 6f 54 69 74 6c 65 28 69 6e 74 20 63 harToTitle(int c
6a70: 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 32 33 h).}.declare 323
6a80: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 {. int Tcl_U
6a90: 6e 69 43 68 61 72 54 6f 55 70 70 65 72 28 69 6e niCharToUpper(in
6aa0: 74 20 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 t ch).}.declare
6ab0: 33 32 34 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 324 {. Tcl_Si
6ac0: 7a 65 20 54 63 6c 5f 55 6e 69 43 68 61 72 54 6f ze Tcl_UniCharTo
6ad0: 55 74 66 28 69 6e 74 20 63 68 2c 20 63 68 61 72 Utf(int ch, char
6ae0: 20 2a 62 75 66 29 0a 7d 0a 64 65 63 6c 61 72 65 *buf).}.declare
6af0: 20 33 32 35 20 7b 0a 20 20 20 20 63 6f 6e 73 74 325 {. const
6b00: 20 63 68 61 72 20 2a 54 63 6c 55 74 66 41 74 49 char *TclUtfAtI
6b10: 6e 64 65 78 28 63 6f 6e 73 74 20 63 68 61 72 20 ndex(const char
6b20: 2a 73 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 69 *src, Tcl_Size i
6b30: 6e 64 65 78 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ndex).}.declare
6b40: 33 32 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 326 {. int Tc
6b50: 6c 55 74 66 43 68 61 72 43 6f 6d 70 6c 65 74 65 lUtfCharComplete
6b60: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 63 (const char *src
6b70: 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 , Tcl_Size lengt
6b80: 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 32 37 h).}.declare 327
6b90: 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 {. Tcl_Size
6ba0: 54 63 6c 5f 55 74 66 42 61 63 6b 73 6c 61 73 68 Tcl_UtfBackslash
6bb0: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 63 (const char *src
6bc0: 2c 20 69 6e 74 20 2a 72 65 61 64 50 74 72 2c 20 , int *readPtr,
6bd0: 63 68 61 72 20 2a 64 73 74 29 0a 7d 0a 64 65 63 char *dst).}.dec
6be0: 6c 61 72 65 20 33 32 38 20 7b 0a 20 20 20 20 63 lare 328 {. c
6bf0: 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 55 onst char *Tcl_U
6c00: 74 66 46 69 6e 64 46 69 72 73 74 28 63 6f 6e 73 tfFindFirst(cons
6c10: 74 20 63 68 61 72 20 2a 73 72 63 2c 20 69 6e 74 t char *src, int
6c20: 20 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 ch).}.declare 3
6c30: 32 39 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 29 {. const c
6c40: 68 61 72 20 2a 54 63 6c 5f 55 74 66 46 69 6e 64 har *Tcl_UtfFind
6c50: 4c 61 73 74 28 63 6f 6e 73 74 20 63 68 61 72 20 Last(const char
6c60: 2a 73 72 63 2c 20 69 6e 74 20 63 68 29 0a 7d 0a *src, int ch).}.
6c70: 64 65 63 6c 61 72 65 20 33 33 30 20 7b 0a 20 20 declare 330 {.
6c80: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 const char *Tc
6c90: 6c 55 74 66 4e 65 78 74 28 63 6f 6e 73 74 20 63 lUtfNext(const c
6ca0: 68 61 72 20 2a 73 72 63 29 0a 7d 0a 64 65 63 6c har *src).}.decl
6cb0: 61 72 65 20 33 33 31 20 7b 0a 20 20 20 20 63 6f are 331 {. co
6cc0: 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 55 74 66 nst char *TclUtf
6cd0: 50 72 65 76 28 63 6f 6e 73 74 20 63 68 61 72 20 Prev(const char
6ce0: 2a 73 72 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 *src, const char
6cf0: 20 2a 73 74 61 72 74 29 0a 7d 0a 64 65 63 6c 61 *start).}.decla
6d00: 72 65 20 33 33 32 20 7b 0a 20 20 20 20 69 6e 74 re 332 {. int
6d10: 20 54 63 6c 5f 55 74 66 54 6f 45 78 74 65 72 6e Tcl_UtfToExtern
6d20: 61 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 al(Tcl_Interp *i
6d30: 6e 74 65 72 70 2c 20 54 63 6c 5f 45 6e 63 6f 64 nterp, Tcl_Encod
6d40: 69 6e 67 20 65 6e 63 6f 64 69 6e 67 2c 0a 09 20 ing encoding,..
6d50: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 const char *s
6d60: 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 73 72 63 rc, Tcl_Size src
6d70: 4c 65 6e 2c 20 69 6e 74 20 66 6c 61 67 73 2c 0a Len, int flags,.
6d80: 09 20 20 20 20 54 63 6c 5f 45 6e 63 6f 64 69 6e . Tcl_Encodin
6d90: 67 53 74 61 74 65 20 2a 73 74 61 74 65 50 74 72 gState *statePtr
6da0: 2c 20 63 68 61 72 20 2a 64 73 74 2c 20 54 63 6c , char *dst, Tcl
6db0: 5f 53 69 7a 65 20 64 73 74 4c 65 6e 2c 0a 09 20 _Size dstLen,..
6dc0: 20 20 20 69 6e 74 20 2a 73 72 63 52 65 61 64 50 int *srcReadP
6dd0: 74 72 2c 20 69 6e 74 20 2a 64 73 74 57 72 6f 74 tr, int *dstWrot
6de0: 65 50 74 72 2c 20 69 6e 74 20 2a 64 73 74 43 68 ePtr, int *dstCh
6df0: 61 72 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 arsPtr).}.declar
6e00: 65 20 33 33 33 20 7b 0a 20 20 20 20 63 68 61 72 e 333 {. char
6e10: 20 2a 54 63 6c 5f 55 74 66 54 6f 45 78 74 65 72 *Tcl_UtfToExter
6e20: 6e 61 6c 44 53 74 72 69 6e 67 28 54 63 6c 5f 45 nalDString(Tcl_E
6e30: 6e 63 6f 64 69 6e 67 20 65 6e 63 6f 64 69 6e 67 ncoding encoding
6e40: 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 ,.. const cha
6e50: 72 20 2a 73 72 63 2c 20 54 63 6c 5f 53 69 7a 65 r *src, Tcl_Size
6e60: 20 73 72 63 4c 65 6e 2c 20 54 63 6c 5f 44 53 74 srcLen, Tcl_DSt
6e70: 72 69 6e 67 20 2a 64 73 50 74 72 29 0a 7d 0a 64 ring *dsPtr).}.d
6e80: 65 63 6c 61 72 65 20 33 33 34 20 7b 0a 20 20 20 eclare 334 {.
6e90: 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 55 74 Tcl_Size Tcl_Ut
6ea0: 66 54 6f 4c 6f 77 65 72 28 63 68 61 72 20 2a 73 fToLower(char *s
6eb0: 72 63 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 33 rc).}.declare 33
6ec0: 35 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 5 {. Tcl_Size
6ed0: 20 54 63 6c 5f 55 74 66 54 6f 54 69 74 6c 65 28 Tcl_UtfToTitle(
6ee0: 63 68 61 72 20 2a 73 72 63 29 0a 7d 0a 64 65 63 char *src).}.dec
6ef0: 6c 61 72 65 20 33 33 36 20 7b 0a 20 20 20 20 54 lare 336 {. T
6f00: 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 55 74 66 54 cl_Size Tcl_UtfT
6f10: 6f 43 68 61 72 31 36 28 63 6f 6e 73 74 20 63 68 oChar16(const ch
6f20: 61 72 20 2a 73 72 63 2c 20 75 6e 73 69 67 6e 65 ar *src, unsigne
6f30: 64 20 73 68 6f 72 74 20 2a 63 68 50 74 72 29 0a d short *chPtr).
6f40: 7d 0a 64 65 63 6c 61 72 65 20 33 33 37 20 7b 0a }.declare 337 {.
6f50: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c Tcl_Size Tcl
6f60: 5f 55 74 66 54 6f 55 70 70 65 72 28 63 68 61 72 _UtfToUpper(char
6f70: 20 2a 73 72 63 29 0a 7d 0a 64 65 63 6c 61 72 65 *src).}.declare
6f80: 20 33 33 38 20 7b 0a 20 20 20 20 54 63 6c 5f 53 338 {. Tcl_S
6f90: 69 7a 65 20 54 63 6c 5f 57 72 69 74 65 43 68 61 ize Tcl_WriteCha
6fa0: 72 73 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 rs(Tcl_Channel c
6fb0: 68 61 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 han, const char
6fc0: 2a 73 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 73 *src, Tcl_Size s
6fd0: 72 63 4c 65 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 rcLen).}.declare
6fe0: 20 33 33 39 20 7b 0a 20 20 20 20 54 63 6c 5f 53 339 {. Tcl_S
6ff0: 69 7a 65 20 54 63 6c 5f 57 72 69 74 65 4f 62 6a ize Tcl_WriteObj
7000: 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 (Tcl_Channel cha
7010: 6e 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 n, Tcl_Obj *objP
7020: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 34 tr).}.declare 34
7030: 30 20 7b 0a 20 20 20 20 6c 6f 6e 67 20 6c 6f 6e 0 {. long lon
7040: 67 20 54 63 6c 5f 47 65 74 4d 6f 6e 6f 74 6f 6e g Tcl_GetMonoton
7050: 69 63 54 69 6d 65 28 76 6f 69 64 29 0a 7d 0a 64 icTime(void).}.d
7060: 65 63 6c 61 72 65 20 33 34 31 20 7b 0a 20 20 20 eclare 341 {.
7070: 20 54 63 6c 5f 54 69 6d 65 72 54 6f 6b 65 6e 20 Tcl_TimerToken
7080: 20 54 63 6c 5f 43 72 65 61 74 65 54 69 6d 65 72 Tcl_CreateTimer
7090: 48 61 6e 64 6c 65 72 4d 69 63 72 6f 53 65 63 6f HandlerMicroSeco
70a0: 6e 64 73 28 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 69 nds(long long mi
70b0: 63 72 6f 53 65 63 6f 6e 64 73 2c 0a 09 20 20 20 croSeconds,..
70c0: 20 54 63 6c 5f 54 69 6d 65 72 50 72 6f 63 20 2a Tcl_TimerProc *
70d0: 70 72 6f 63 2c 20 76 6f 69 64 20 2a 63 6c 69 65 proc, void *clie
70e0: 6e 74 44 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 ntData).}.declar
70f0: 65 20 33 34 32 20 7b 0a 20 20 20 20 76 6f 69 64 e 342 {. void
7100: 20 54 63 6c 5f 53 6c 65 65 70 4d 69 63 72 6f 53 Tcl_SleepMicroS
7110: 65 63 6f 6e 64 73 28 6c 6f 6e 67 20 6c 6f 6e 67 econds(long long
7120: 20 6d 69 63 72 6f 53 65 63 6f 6e 64 73 29 0a 7d microSeconds).}
7130: 0a 64 65 63 6c 61 72 65 20 33 34 33 20 7b 0a 20 .declare 343 {.
7140: 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 6c 65 72 void Tcl_Aler
7150: 74 4e 6f 74 69 66 69 65 72 28 76 6f 69 64 20 2a tNotifier(void *
7160: 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 clientData).}.de
7170: 63 6c 61 72 65 20 33 34 34 20 7b 0a 20 20 20 20 clare 344 {.
7180: 76 6f 69 64 20 54 63 6c 5f 53 65 72 76 69 63 65 void Tcl_Service
7190: 4d 6f 64 65 48 6f 6f 6b 28 69 6e 74 20 6d 6f 64 ModeHook(int mod
71a0: 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 34 35 e).}.declare 345
71b0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 {. int Tcl_U
71c0: 6e 69 43 68 61 72 49 73 41 6c 6e 75 6d 28 69 6e niCharIsAlnum(in
71d0: 74 20 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 t ch).}.declare
71e0: 33 34 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 346 {. int Tc
71f0: 6c 5f 55 6e 69 43 68 61 72 49 73 41 6c 70 68 61 l_UniCharIsAlpha
7200: 28 69 6e 74 20 63 68 29 0a 7d 0a 64 65 63 6c 61 (int ch).}.decla
7210: 72 65 20 33 34 37 20 7b 0a 20 20 20 20 69 6e 74 re 347 {. int
7220: 20 54 63 6c 5f 55 6e 69 43 68 61 72 49 73 44 69 Tcl_UniCharIsDi
7230: 67 69 74 28 69 6e 74 20 63 68 29 0a 7d 0a 64 65 git(int ch).}.de
7240: 63 6c 61 72 65 20 33 34 38 20 7b 0a 20 20 20 20 clare 348 {.
7250: 69 6e 74 20 54 63 6c 5f 55 6e 69 43 68 61 72 49 int Tcl_UniCharI
7260: 73 4c 6f 77 65 72 28 69 6e 74 20 63 68 29 0a 7d sLower(int ch).}
7270: 0a 64 65 63 6c 61 72 65 20 33 34 39 20 7b 0a 20 .declare 349 {.
7280: 20 20 20 69 6e 74 20 54 63 6c 5f 55 6e 69 43 68 int Tcl_UniCh
7290: 61 72 49 73 53 70 61 63 65 28 69 6e 74 20 63 68 arIsSpace(int ch
72a0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 35 30 20 ).}.declare 350
72b0: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 6e {. int Tcl_Un
72c0: 69 43 68 61 72 49 73 55 70 70 65 72 28 69 6e 74 iCharIsUpper(int
72d0: 20 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 ch).}.declare 3
72e0: 35 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 51 {. int Tcl
72f0: 5f 55 6e 69 43 68 61 72 49 73 57 6f 72 64 43 68 _UniCharIsWordCh
7300: 61 72 28 69 6e 74 20 63 68 29 0a 7d 0a 64 65 63 ar(int ch).}.dec
7310: 6c 61 72 65 20 33 35 32 20 7b 0a 20 20 20 20 54 lare 352 {. T
7320: 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 43 68 61 72 cl_Size Tcl_Char
7330: 31 36 4c 65 6e 28 63 6f 6e 73 74 20 75 6e 73 69 16Len(const unsi
7340: 67 6e 65 64 20 73 68 6f 72 74 20 2a 75 6e 69 53 gned short *uniS
7350: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 35 tr).}.declare 35
7360: 34 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 54 63 4 {. char *Tc
7370: 6c 5f 43 68 61 72 31 36 54 6f 55 74 66 44 53 74 l_Char16ToUtfDSt
7380: 72 69 6e 67 28 63 6f 6e 73 74 20 75 6e 73 69 67 ring(const unsig
7390: 6e 65 64 20 73 68 6f 72 74 20 2a 75 6e 69 53 74 ned short *uniSt
73a0: 72 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 r,.. Tcl_Size
73b0: 20 75 6e 69 4c 65 6e 67 74 68 2c 20 54 63 6c 5f uniLength, Tcl_
73c0: 44 53 74 72 69 6e 67 20 2a 64 73 50 74 72 29 0a DString *dsPtr).
73d0: 7d 0a 64 65 63 6c 61 72 65 20 33 35 35 20 7b 0a }.declare 355 {.
73e0: 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 68 6f unsigned sho
73f0: 72 74 20 2a 54 63 6c 5f 55 74 66 54 6f 43 68 61 rt *Tcl_UtfToCha
7400: 72 31 36 44 53 74 72 69 6e 67 28 63 6f 6e 73 74 r16DString(const
7410: 20 63 68 61 72 20 2a 73 72 63 2c 0a 09 20 20 20 char *src,..
7420: 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 68 Tcl_Size length
7430: 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 , Tcl_DString *d
7440: 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 sPtr).}.declare
7450: 33 35 36 20 7b 0a 20 20 20 20 54 63 6c 5f 52 65 356 {. Tcl_Re
7460: 67 45 78 70 20 54 63 6c 5f 47 65 74 52 65 67 45 gExp Tcl_GetRegE
7470: 78 70 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e xpFromObj(Tcl_In
7480: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
7490: 6c 5f 4f 62 6a 20 2a 70 61 74 4f 62 6a 2c 0a 09 l_Obj *patObj,..
74a0: 20 20 20 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d int flags).}
74b0: 0a 64 65 63 6c 61 72 65 20 33 35 38 20 7b 0a 20 .declare 358 {.
74c0: 20 20 20 76 6f 69 64 20 54 63 6c 5f 46 72 65 65 void Tcl_Free
74d0: 50 61 72 73 65 28 54 63 6c 5f 50 61 72 73 65 20 Parse(Tcl_Parse
74e0: 2a 70 61 72 73 65 50 74 72 29 0a 7d 0a 64 65 63 *parsePtr).}.dec
74f0: 6c 61 72 65 20 33 35 39 20 7b 0a 20 20 20 20 76 lare 359 {. v
7500: 6f 69 64 20 54 63 6c 5f 4c 6f 67 43 6f 6d 6d 61 oid Tcl_LogComma
7510: 6e 64 49 6e 66 6f 28 54 63 6c 5f 49 6e 74 65 72 ndInfo(Tcl_Inter
7520: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 p *interp, const
7530: 20 63 68 61 72 20 2a 73 63 72 69 70 74 2c 0a 09 char *script,..
7540: 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a const char *
7550: 63 6f 6d 6d 61 6e 64 2c 20 54 63 6c 5f 53 69 7a command, Tcl_Siz
7560: 65 20 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 6c e length).}.decl
7570: 61 72 65 20 33 36 30 20 7b 0a 20 20 20 20 69 6e are 360 {. in
7580: 74 20 54 63 6c 5f 50 61 72 73 65 42 72 61 63 65 t Tcl_ParseBrace
7590: 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e s(Tcl_Interp *in
75a0: 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 terp, const char
75b0: 20 2a 73 74 61 72 74 2c 0a 09 20 20 20 20 54 63 *start,.. Tc
75c0: 6c 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 73 2c l_Size numBytes,
75d0: 20 54 63 6c 5f 50 61 72 73 65 20 2a 70 61 72 73 Tcl_Parse *pars
75e0: 65 50 74 72 2c 20 69 6e 74 20 61 70 70 65 6e 64 ePtr, int append
75f0: 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 ,.. const cha
7600: 72 20 2a 2a 74 65 72 6d 50 74 72 29 0a 7d 0a 64 r **termPtr).}.d
7610: 65 63 6c 61 72 65 20 33 36 31 20 7b 0a 20 20 20 eclare 361 {.
7620: 20 69 6e 74 20 54 63 6c 5f 50 61 72 73 65 43 6f int Tcl_ParseCo
7630: 6d 6d 61 6e 64 28 54 63 6c 5f 49 6e 74 65 72 70 mmand(Tcl_Interp
7640: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
7650: 63 68 61 72 20 2a 73 74 61 72 74 2c 0a 09 20 20 char *start,..
7660: 20 20 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 42 79 Tcl_Size numBy
7670: 74 65 73 2c 20 69 6e 74 20 6e 65 73 74 65 64 2c tes, int nested,
7680: 20 54 63 6c 5f 50 61 72 73 65 20 2a 70 61 72 73 Tcl_Parse *pars
7690: 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ePtr).}.declare
76a0: 33 36 32 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 362 {. int Tc
76b0: 6c 5f 50 61 72 73 65 45 78 70 72 28 54 63 6c 5f l_ParseExpr(Tcl_
76c0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
76d0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 61 72 const char *star
76e0: 74 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 t,.. Tcl_Size
76f0: 20 6e 75 6d 42 79 74 65 73 2c 20 54 63 6c 5f 50 numBytes, Tcl_P
7700: 61 72 73 65 20 2a 70 61 72 73 65 50 74 72 29 0a arse *parsePtr).
7710: 7d 0a 64 65 63 6c 61 72 65 20 33 36 33 20 7b 0a }.declare 363 {.
7720: 20 20 20 20 69 6e 74 20 54 63 6c 5f 50 61 72 73 int Tcl_Pars
7730: 65 51 75 6f 74 65 64 53 74 72 69 6e 67 28 54 63 eQuotedString(Tc
7740: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
7750: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 , const char *st
7760: 61 72 74 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 art,.. Tcl_Si
7770: 7a 65 20 6e 75 6d 42 79 74 65 73 2c 20 54 63 6c ze numBytes, Tcl
7780: 5f 50 61 72 73 65 20 2a 70 61 72 73 65 50 74 72 _Parse *parsePtr
7790: 2c 20 69 6e 74 20 61 70 70 65 6e 64 2c 0a 09 20 , int append,..
77a0: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 2a const char **
77b0: 74 65 72 6d 50 74 72 29 0a 7d 0a 64 65 63 6c 61 termPtr).}.decla
77c0: 72 65 20 33 36 34 20 7b 0a 20 20 20 20 69 6e 74 re 364 {. int
77d0: 20 54 63 6c 5f 50 61 72 73 65 56 61 72 4e 61 6d Tcl_ParseVarNam
77e0: 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e e(Tcl_Interp *in
77f0: 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 terp, const char
7800: 20 2a 73 74 61 72 74 2c 0a 09 20 20 20 20 54 63 *start,.. Tc
7810: 6c 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 73 2c l_Size numBytes,
7820: 20 54 63 6c 5f 50 61 72 73 65 20 2a 70 61 72 73 Tcl_Parse *pars
7830: 65 50 74 72 2c 20 69 6e 74 20 61 70 70 65 6e 64 ePtr, int append
7840: 29 0a 7d 0a 23 20 54 68 65 73 65 20 34 20 66 75 ).}.# These 4 fu
7850: 6e 63 74 69 6f 6e 73 20 61 72 65 20 6f 62 73 6f nctions are obso
7860: 6c 65 74 65 2c 20 75 73 65 20 54 63 6c 5f 46 53 lete, use Tcl_FS
7870: 47 65 74 43 77 64 2c 20 54 63 6c 5f 46 53 43 68 GetCwd, Tcl_FSCh
7880: 64 69 72 2c 0a 23 20 54 63 6c 5f 46 53 41 63 63 dir,.# Tcl_FSAcc
7890: 65 73 73 20 61 6e 64 20 54 63 6c 5f 46 53 53 74 ess and Tcl_FSSt
78a0: 61 74 0a 64 65 63 6c 61 72 65 20 33 36 35 20 7b at.declare 365 {
78b0: 0a 20 20 20 20 63 68 61 72 20 2a 54 63 6c 5f 47 . char *Tcl_G
78c0: 65 74 43 77 64 28 54 63 6c 5f 49 6e 74 65 72 70 etCwd(Tcl_Interp
78d0: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 44 53 *interp, Tcl_DS
78e0: 74 72 69 6e 67 20 2a 63 77 64 50 74 72 29 0a 7d tring *cwdPtr).}
78f0: 0a 64 65 63 6c 61 72 65 20 33 36 36 20 7b 0a 20 .declare 366 {.
7900: 20 20 20 69 6e 74 20 54 63 6c 5f 43 68 64 69 72 int Tcl_Chdir
7910: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 69 72 (const char *dir
7920: 4e 61 6d 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 Name).}.declare
7930: 33 36 37 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 367 {. int Tc
7940: 6c 5f 41 63 63 65 73 73 28 63 6f 6e 73 74 20 63 l_Access(const c
7950: 68 61 72 20 2a 70 61 74 68 2c 20 69 6e 74 20 6d har *path, int m
7960: 6f 64 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 ode).}.declare 3
7970: 36 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 68 {. int Tcl
7980: 5f 53 74 61 74 28 63 6f 6e 73 74 20 63 68 61 72 _Stat(const char
7990: 20 2a 70 61 74 68 2c 20 73 74 72 75 63 74 20 73 *path, struct s
79a0: 74 61 74 20 2a 62 75 66 50 74 72 29 0a 7d 0a 64 tat *bufPtr).}.d
79b0: 65 63 6c 61 72 65 20 33 36 39 20 7b 0a 20 20 20 eclare 369 {.
79c0: 20 69 6e 74 20 54 63 6c 55 74 66 4e 63 6d 70 28 int TclUtfNcmp(
79d0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 31 2c 20 const char *s1,
79e0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 2c 20 const char *s2,
79f0: 73 69 7a 65 5f 74 20 6e 29 0a 7d 0a 64 65 63 6c size_t n).}.decl
7a00: 61 72 65 20 33 37 30 20 7b 0a 20 20 20 20 69 6e are 370 {. in
7a10: 74 20 54 63 6c 55 74 66 4e 63 61 73 65 63 6d 70 t TclUtfNcasecmp
7a20: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 31 2c (const char *s1,
7a30: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 2c const char *s2,
7a40: 20 73 69 7a 65 5f 74 20 6e 29 0a 7d 0a 64 65 63 size_t n).}.dec
7a50: 6c 61 72 65 20 33 37 31 20 7b 0a 20 20 20 20 69 lare 371 {. i
7a60: 6e 74 20 54 63 6c 5f 53 74 72 69 6e 67 43 61 73 nt Tcl_StringCas
7a70: 65 4d 61 74 63 68 28 63 6f 6e 73 74 20 63 68 61 eMatch(const cha
7a80: 72 20 2a 73 74 72 2c 20 63 6f 6e 73 74 20 63 68 r *str, const ch
7a90: 61 72 20 2a 70 61 74 74 65 72 6e 2c 20 69 6e 74 ar *pattern, int
7aa0: 20 6e 6f 63 61 73 65 29 0a 7d 0a 64 65 63 6c 61 nocase).}.decla
7ab0: 72 65 20 33 37 32 20 7b 0a 20 20 20 20 69 6e 74 re 372 {. int
7ac0: 20 54 63 6c 5f 55 6e 69 43 68 61 72 49 73 43 6f Tcl_UniCharIsCo
7ad0: 6e 74 72 6f 6c 28 69 6e 74 20 63 68 29 0a 7d 0a ntrol(int ch).}.
7ae0: 64 65 63 6c 61 72 65 20 33 37 33 20 7b 0a 20 20 declare 373 {.
7af0: 20 20 69 6e 74 20 54 63 6c 5f 55 6e 69 43 68 61 int Tcl_UniCha
7b00: 72 49 73 47 72 61 70 68 28 69 6e 74 20 63 68 29 rIsGraph(int ch)
7b10: 0a 7d 0a 64 65 63 6c 61 72 65 20 33 37 34 20 7b .}.declare 374 {
7b20: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 55 6e 69 . int Tcl_Uni
7b30: 43 68 61 72 49 73 50 72 69 6e 74 28 69 6e 74 20 CharIsPrint(int
7b40: 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 37 ch).}.declare 37
7b50: 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 5 {. int Tcl_
7b60: 55 6e 69 43 68 61 72 49 73 50 75 6e 63 74 28 69 UniCharIsPunct(i
7b70: 6e 74 20 63 68 29 0a 7d 0a 64 65 63 6c 61 72 65 nt ch).}.declare
7b80: 20 33 37 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 376 {. int T
7b90: 63 6c 5f 52 65 67 45 78 70 45 78 65 63 4f 62 6a cl_RegExpExecObj
7ba0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
7bb0: 65 72 70 2c 20 54 63 6c 5f 52 65 67 45 78 70 20 erp, Tcl_RegExp
7bc0: 72 65 67 65 78 70 2c 0a 09 20 20 20 20 54 63 6c regexp,.. Tcl
7bd0: 5f 4f 62 6a 20 2a 74 65 78 74 4f 62 6a 2c 20 54 _Obj *textObj, T
7be0: 63 6c 5f 53 69 7a 65 20 6f 66 66 73 65 74 2c 20 cl_Size offset,
7bf0: 54 63 6c 5f 53 69 7a 65 20 6e 6d 61 74 63 68 65 Tcl_Size nmatche
7c00: 73 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a s, int flags).}.
7c10: 64 65 63 6c 61 72 65 20 33 37 37 20 7b 0a 20 20 declare 377 {.
7c20: 20 20 76 6f 69 64 20 54 63 6c 5f 52 65 67 45 78 void Tcl_RegEx
7c30: 70 47 65 74 49 6e 66 6f 28 54 63 6c 5f 52 65 67 pGetInfo(Tcl_Reg
7c40: 45 78 70 20 72 65 67 65 78 70 2c 20 54 63 6c 5f Exp regexp, Tcl_
7c50: 52 65 67 45 78 70 49 6e 66 6f 20 2a 69 6e 66 6f RegExpInfo *info
7c60: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 Ptr).}.declare 3
7c70: 37 38 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 78 {. Tcl_Obj
7c80: 20 2a 54 63 6c 5f 4e 65 77 55 6e 69 63 6f 64 65 *Tcl_NewUnicode
7c90: 4f 62 6a 28 63 6f 6e 73 74 20 54 63 6c 5f 55 6e Obj(const Tcl_Un
7ca0: 69 43 68 61 72 20 2a 75 6e 69 63 6f 64 65 2c 20 iChar *unicode,
7cb0: 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 43 68 61 72 Tcl_Size numChar
7cc0: 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 37 39 s).}.declare 379
7cd0: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
7ce0: 53 65 74 55 6e 69 63 6f 64 65 4f 62 6a 28 54 63 SetUnicodeObj(Tc
7cf0: 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 63 l_Obj *objPtr, c
7d00: 6f 6e 73 74 20 54 63 6c 5f 55 6e 69 43 68 61 72 onst Tcl_UniChar
7d10: 20 2a 75 6e 69 63 6f 64 65 2c 0a 09 20 20 20 20 *unicode,..
7d20: 54 63 6c 5f 53 69 7a 65 20 6e 75 6d 43 68 61 72 Tcl_Size numChar
7d30: 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 38 30 s).}.declare 380
7d40: 20 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 {. Tcl_Size
7d50: 54 63 6c 47 65 74 43 68 61 72 4c 65 6e 67 74 68 TclGetCharLength
7d60: 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 (Tcl_Obj *objPtr
7d70: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 38 31 20 ).}.declare 381
7d80: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 47 65 74 {. int TclGet
7d90: 55 6e 69 43 68 61 72 28 54 63 6c 5f 4f 62 6a 20 UniChar(Tcl_Obj
7da0: 2a 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 53 69 7a *objPtr, Tcl_Siz
7db0: 65 20 69 6e 64 65 78 29 0a 7d 0a 64 65 63 6c 61 e index).}.decla
7dc0: 72 65 20 33 38 33 20 7b 0a 20 20 20 20 54 63 6c re 383 {. Tcl
7dd0: 5f 4f 62 6a 20 2a 54 63 6c 47 65 74 52 61 6e 67 _Obj *TclGetRang
7de0: 65 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 e(Tcl_Obj *objPt
7df0: 72 2c 20 54 63 6c 5f 53 69 7a 65 20 66 69 72 73 r, Tcl_Size firs
7e00: 74 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 61 73 74 t, Tcl_Size last
7e10: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 38 34 20 ).}.declare 384
7e20: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 {. void Tcl_A
7e30: 70 70 65 6e 64 55 6e 69 63 6f 64 65 54 6f 4f 62 ppendUnicodeToOb
7e40: 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 j(Tcl_Obj *objPt
7e50: 72 2c 20 63 6f 6e 73 74 20 54 63 6c 5f 55 6e 69 r, const Tcl_Uni
7e60: 43 68 61 72 20 2a 75 6e 69 63 6f 64 65 2c 0a 09 Char *unicode,..
7e70: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 6c 65 6e Tcl_Size len
7e80: 67 74 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 gth).}.declare 3
7e90: 38 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 85 {. int Tcl
7ea0: 5f 52 65 67 45 78 70 4d 61 74 63 68 4f 62 6a 28 _RegExpMatchObj(
7eb0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
7ec0: 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 74 65 78 rp, Tcl_Obj *tex
7ed0: 74 4f 62 6a 2c 0a 09 20 20 20 20 54 63 6c 5f 4f tObj,.. Tcl_O
7ee0: 62 6a 20 2a 70 61 74 74 65 72 6e 4f 62 6a 29 0a bj *patternObj).
7ef0: 7d 0a 64 65 63 6c 61 72 65 20 33 38 36 20 7b 0a }.declare 386 {.
7f00: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 void Tcl_Set
7f10: 4e 6f 74 69 66 69 65 72 28 63 6f 6e 73 74 20 54 Notifier(const T
7f20: 63 6c 5f 4e 6f 74 69 66 69 65 72 50 72 6f 63 73 cl_NotifierProcs
7f30: 20 2a 6e 6f 74 69 66 69 65 72 50 72 6f 63 50 74 *notifierProcPt
7f40: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 38 37 r).}.declare 387
7f50: 20 7b 0a 20 20 20 20 54 63 6c 5f 4d 75 74 65 78 {. Tcl_Mutex
7f60: 20 2a 54 63 6c 5f 47 65 74 41 6c 6c 6f 63 4d 75 *Tcl_GetAllocMu
7f70: 74 65 78 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c tex(void).}.decl
7f80: 61 72 65 20 33 38 38 20 7b 0a 20 20 20 20 69 6e are 388 {. in
7f90: 74 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c t Tcl_GetChannel
7fa0: 4e 61 6d 65 73 28 54 63 6c 5f 49 6e 74 65 72 70 Names(Tcl_Interp
7fb0: 20 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c *interp).}.decl
7fc0: 61 72 65 20 33 38 39 20 7b 0a 20 20 20 20 69 6e are 389 {. in
7fd0: 74 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c t Tcl_GetChannel
7fe0: 4e 61 6d 65 73 45 78 28 54 63 6c 5f 49 6e 74 65 NamesEx(Tcl_Inte
7ff0: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 rp *interp, cons
8000: 74 20 63 68 61 72 20 2a 70 61 74 74 65 72 6e 29 t char *pattern)
8010: 0a 7d 0a 64 65 63 6c 61 72 65 20 33 39 30 20 7b .}.declare 390 {
8020: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 50 72 6f . int Tcl_Pro
8030: 63 4f 62 6a 43 6d 64 28 76 6f 69 64 20 2a 63 6c cObjCmd(void *cl
8040: 69 65 6e 74 44 61 74 61 2c 20 54 63 6c 5f 49 6e ientData, Tcl_In
8050: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 terp *interp,..
8060: 20 20 20 54 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 Tcl_Size objc
8070: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 , Tcl_Obj *const
8080: 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 65 63 6c 61 objv[]).}.decla
8090: 72 65 20 33 39 31 20 7b 0a 20 20 20 20 76 6f 69 re 391 {. voi
80a0: 64 20 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 46 d Tcl_ConditionF
80b0: 69 6e 61 6c 69 7a 65 28 54 63 6c 5f 43 6f 6e 64 inalize(Tcl_Cond
80c0: 69 74 69 6f 6e 20 2a 63 6f 6e 64 50 74 72 29 0a ition *condPtr).
80d0: 7d 0a 64 65 63 6c 61 72 65 20 33 39 32 20 7b 0a }.declare 392 {.
80e0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 4d 75 74 void Tcl_Mut
80f0: 65 78 46 69 6e 61 6c 69 7a 65 28 54 63 6c 5f 4d exFinalize(Tcl_M
8100: 75 74 65 78 20 2a 6d 75 74 65 78 29 0a 7d 0a 64 utex *mutex).}.d
8110: 65 63 6c 61 72 65 20 33 39 33 20 7b 0a 20 20 20 eclare 393 {.
8120: 20 69 6e 74 20 54 63 6c 5f 43 72 65 61 74 65 54 int Tcl_CreateT
8130: 68 72 65 61 64 28 54 63 6c 5f 54 68 72 65 61 64 hread(Tcl_Thread
8140: 49 64 20 2a 69 64 50 74 72 2c 20 54 63 6c 5f 54 Id *idPtr, Tcl_T
8150: 68 72 65 61 64 43 72 65 61 74 65 50 72 6f 63 20 hreadCreateProc
8160: 2a 70 72 6f 63 2c 0a 09 20 20 20 20 76 6f 69 64 *proc,.. void
8170: 20 2a 63 6c 69 65 6e 74 44 61 74 61 2c 20 73 69 *clientData, si
8180: 7a 65 5f 74 20 73 74 61 63 6b 53 69 7a 65 2c 20 ze_t stackSize,
8190: 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 0a 23 20 int flags).}..#
81a0: 49 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 38 2e Introduced in 8.
81b0: 33 2e 32 0a 64 65 63 6c 61 72 65 20 33 39 34 20 3.2.declare 394
81c0: 7b 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 {. Tcl_Size T
81d0: 63 6c 5f 52 65 61 64 52 61 77 28 54 63 6c 5f 43 cl_ReadRaw(Tcl_C
81e0: 68 61 6e 6e 65 6c 20 63 68 61 6e 2c 20 63 68 61 hannel chan, cha
81f0: 72 20 2a 64 73 74 2c 20 54 63 6c 5f 53 69 7a 65 r *dst, Tcl_Size
8200: 20 62 79 74 65 73 54 6f 52 65 61 64 29 0a 7d 0a bytesToRead).}.
8210: 64 65 63 6c 61 72 65 20 33 39 35 20 7b 0a 20 20 declare 395 {.
8220: 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f 57 Tcl_Size Tcl_W
8230: 72 69 74 65 52 61 77 28 54 63 6c 5f 43 68 61 6e riteRaw(Tcl_Chan
8240: 6e 65 6c 20 63 68 61 6e 2c 20 63 6f 6e 73 74 20 nel chan, const
8250: 63 68 61 72 20 2a 73 72 63 2c 20 54 63 6c 5f 53 char *src, Tcl_S
8260: 69 7a 65 20 73 72 63 4c 65 6e 29 0a 7d 0a 64 65 ize srcLen).}.de
8270: 63 6c 61 72 65 20 33 39 36 20 7b 0a 20 20 20 20 clare 396 {.
8280: 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f Tcl_Channel Tcl_
8290: 47 65 74 54 6f 70 43 68 61 6e 6e 65 6c 28 54 63 GetTopChannel(Tc
82a0: 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 0a l_Channel chan).
82b0: 7d 0a 64 65 63 6c 61 72 65 20 33 39 37 20 7b 0a }.declare 397 {.
82c0: 20 20 20 20 69 6e 74 20 54 63 6c 5f 43 68 61 6e int Tcl_Chan
82d0: 6e 65 6c 42 75 66 66 65 72 65 64 28 54 63 6c 5f nelBuffered(Tcl_
82e0: 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a Channel chan).}.
82f0: 64 65 63 6c 61 72 65 20 33 39 38 20 7b 0a 20 20 declare 398 {.
8300: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 const char *Tc
8310: 6c 5f 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 63 6f l_ChannelName(co
8320: 6e 73 74 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 nst Tcl_ChannelT
8330: 79 70 65 20 2a 63 68 61 6e 54 79 70 65 50 74 72 ype *chanTypePtr
8340: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 33 39 39 20 ).}.declare 399
8350: 7b 0a 20 20 20 20 54 63 6c 5f 43 68 61 6e 6e 65 {. Tcl_Channe
8360: 6c 54 79 70 65 56 65 72 73 69 6f 6e 20 54 63 6c lTypeVersion Tcl
8370: 5f 43 68 61 6e 6e 65 6c 56 65 72 73 69 6f 6e 28 _ChannelVersion(
8380: 0a 09 20 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f .. const Tcl_
8390: 43 68 61 6e 6e 65 6c 54 79 70 65 20 2a 63 68 61 ChannelType *cha
83a0: 6e 54 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 6c nTypePtr).}.decl
83b0: 61 72 65 20 34 30 30 20 7b 0a 20 20 20 20 54 63 are 400 {. Tc
83c0: 6c 5f 44 72 69 76 65 72 42 6c 6f 63 6b 4d 6f 64 l_DriverBlockMod
83d0: 65 50 72 6f 63 20 2a 54 63 6c 5f 43 68 61 6e 6e eProc *Tcl_Chann
83e0: 65 6c 42 6c 6f 63 6b 4d 6f 64 65 50 72 6f 63 28 elBlockModeProc(
83f0: 0a 09 20 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f .. const Tcl_
8400: 43 68 61 6e 6e 65 6c 54 79 70 65 20 2a 63 68 61 ChannelType *cha
8410: 6e 54 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 6c nTypePtr).}.decl
8420: 61 72 65 20 34 30 32 20 7b 0a 20 20 20 20 54 63 are 402 {. Tc
8430: 6c 5f 44 72 69 76 65 72 43 6c 6f 73 65 32 50 72 l_DriverClose2Pr
8440: 6f 63 20 2a 54 63 6c 5f 43 68 61 6e 6e 65 6c 43 oc *Tcl_ChannelC
8450: 6c 6f 73 65 32 50 72 6f 63 28 0a 09 20 20 20 20 lose2Proc(..
8460: 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e 6e 65 const Tcl_Channe
8470: 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 65 50 lType *chanTypeP
8480: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 30 tr).}.declare 40
8490: 33 20 7b 0a 20 20 20 20 54 63 6c 5f 44 72 69 76 3 {. Tcl_Driv
84a0: 65 72 49 6e 70 75 74 50 72 6f 63 20 2a 54 63 6c erInputProc *Tcl
84b0: 5f 43 68 61 6e 6e 65 6c 49 6e 70 75 74 50 72 6f _ChannelInputPro
84c0: 63 28 0a 09 20 20 20 20 63 6f 6e 73 74 20 54 63 c(.. const Tc
84d0: 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 20 2a 63 l_ChannelType *c
84e0: 68 61 6e 54 79 70 65 50 74 72 29 0a 7d 0a 64 65 hanTypePtr).}.de
84f0: 63 6c 61 72 65 20 34 30 34 20 7b 0a 20 20 20 20 clare 404 {.
8500: 54 63 6c 5f 44 72 69 76 65 72 4f 75 74 70 75 74 Tcl_DriverOutput
8510: 50 72 6f 63 20 2a 54 63 6c 5f 43 68 61 6e 6e 65 Proc *Tcl_Channe
8520: 6c 4f 75 74 70 75 74 50 72 6f 63 28 0a 09 20 20 lOutputProc(..
8530: 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e const Tcl_Chan
8540: 6e 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 nelType *chanTyp
8550: 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ePtr).}.declare
8560: 34 30 36 20 7b 0a 20 20 20 20 54 63 6c 5f 44 72 406 {. Tcl_Dr
8570: 69 76 65 72 53 65 74 4f 70 74 69 6f 6e 50 72 6f iverSetOptionPro
8580: 63 20 2a 54 63 6c 5f 43 68 61 6e 6e 65 6c 53 65 c *Tcl_ChannelSe
8590: 74 4f 70 74 69 6f 6e 50 72 6f 63 28 0a 09 20 20 tOptionProc(..
85a0: 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e const Tcl_Chan
85b0: 6e 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 nelType *chanTyp
85c0: 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ePtr).}.declare
85d0: 34 30 37 20 7b 0a 20 20 20 20 54 63 6c 5f 44 72 407 {. Tcl_Dr
85e0: 69 76 65 72 47 65 74 4f 70 74 69 6f 6e 50 72 6f iverGetOptionPro
85f0: 63 20 2a 54 63 6c 5f 43 68 61 6e 6e 65 6c 47 65 c *Tcl_ChannelGe
8600: 74 4f 70 74 69 6f 6e 50 72 6f 63 28 0a 09 20 20 tOptionProc(..
8610: 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e const Tcl_Chan
8620: 6e 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 nelType *chanTyp
8630: 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ePtr).}.declare
8640: 34 30 38 20 7b 0a 20 20 20 20 54 63 6c 5f 44 72 408 {. Tcl_Dr
8650: 69 76 65 72 57 61 74 63 68 50 72 6f 63 20 2a 54 iverWatchProc *T
8660: 63 6c 5f 43 68 61 6e 6e 65 6c 57 61 74 63 68 50 cl_ChannelWatchP
8670: 72 6f 63 28 0a 09 20 20 20 20 63 6f 6e 73 74 20 roc(.. const
8680: 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 20 Tcl_ChannelType
8690: 2a 63 68 61 6e 54 79 70 65 50 74 72 29 0a 7d 0a *chanTypePtr).}.
86a0: 64 65 63 6c 61 72 65 20 34 30 39 20 7b 0a 20 20 declare 409 {.
86b0: 20 20 54 63 6c 5f 44 72 69 76 65 72 47 65 74 48 Tcl_DriverGetH
86c0: 61 6e 64 6c 65 50 72 6f 63 20 2a 54 63 6c 5f 43 andleProc *Tcl_C
86d0: 68 61 6e 6e 65 6c 47 65 74 48 61 6e 64 6c 65 50 hannelGetHandleP
86e0: 72 6f 63 28 0a 09 20 20 20 20 63 6f 6e 73 74 20 roc(.. const
86f0: 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 20 Tcl_ChannelType
8700: 2a 63 68 61 6e 54 79 70 65 50 74 72 29 0a 7d 0a *chanTypePtr).}.
8710: 64 65 63 6c 61 72 65 20 34 31 30 20 7b 0a 20 20 declare 410 {.
8720: 20 20 54 63 6c 5f 44 72 69 76 65 72 46 6c 75 73 Tcl_DriverFlus
8730: 68 50 72 6f 63 20 2a 54 63 6c 5f 43 68 61 6e 6e hProc *Tcl_Chann
8740: 65 6c 46 6c 75 73 68 50 72 6f 63 28 0a 09 20 20 elFlushProc(..
8750: 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e const Tcl_Chan
8760: 6e 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 nelType *chanTyp
8770: 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 ePtr).}.declare
8780: 34 31 31 20 7b 0a 20 20 20 20 54 63 6c 5f 44 72 411 {. Tcl_Dr
8790: 69 76 65 72 48 61 6e 64 6c 65 72 50 72 6f 63 20 iverHandlerProc
87a0: 2a 54 63 6c 5f 43 68 61 6e 6e 65 6c 48 61 6e 64 *Tcl_ChannelHand
87b0: 6c 65 72 50 72 6f 63 28 0a 09 20 20 20 20 63 6f lerProc(.. co
87c0: 6e 73 74 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 nst Tcl_ChannelT
87d0: 79 70 65 20 2a 63 68 61 6e 54 79 70 65 50 74 72 ype *chanTypePtr
87e0: 29 0a 7d 0a 0a 23 20 49 6e 74 72 6f 64 75 63 65 ).}..# Introduce
87f0: 64 20 69 6e 20 38 2e 34 61 32 0a 64 65 63 6c 61 d in 8.4a2.decla
8800: 72 65 20 34 31 32 20 7b 0a 20 20 20 20 69 6e 74 re 412 {. int
8810: 20 54 63 6c 5f 4a 6f 69 6e 54 68 72 65 61 64 28 Tcl_JoinThread(
8820: 54 63 6c 5f 54 68 72 65 61 64 49 64 20 74 68 72 Tcl_ThreadId thr
8830: 65 61 64 49 64 2c 20 69 6e 74 20 2a 72 65 73 75 eadId, int *resu
8840: 6c 74 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 31 lt).}.declare 41
8850: 33 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 3 {. int Tcl_
8860: 49 73 43 68 61 6e 6e 65 6c 53 68 61 72 65 64 28 IsChannelShared(
8870: 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e Tcl_Channel chan
8880: 6e 65 6c 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 nel).}.declare 4
8890: 31 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 14 {. int Tcl
88a0: 5f 49 73 43 68 61 6e 6e 65 6c 52 65 67 69 73 74 _IsChannelRegist
88b0: 65 72 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 ered(Tcl_Interp
88c0: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 *interp, Tcl_Cha
88d0: 6e 6e 65 6c 20 63 68 61 6e 6e 65 6c 29 0a 7d 0a nnel channel).}.
88e0: 64 65 63 6c 61 72 65 20 34 31 35 20 7b 0a 20 20 declare 415 {.
88f0: 20 20 76 6f 69 64 20 54 63 6c 5f 43 75 74 43 68 void Tcl_CutCh
8900: 61 6e 6e 65 6c 28 54 63 6c 5f 43 68 61 6e 6e 65 annel(Tcl_Channe
8910: 6c 20 63 68 61 6e 6e 65 6c 29 0a 7d 0a 64 65 63 l channel).}.dec
8920: 6c 61 72 65 20 34 31 36 20 7b 0a 20 20 20 20 76 lare 416 {. v
8930: 6f 69 64 20 54 63 6c 5f 53 70 6c 69 63 65 43 68 oid Tcl_SpliceCh
8940: 61 6e 6e 65 6c 28 54 63 6c 5f 43 68 61 6e 6e 65 annel(Tcl_Channe
8950: 6c 20 63 68 61 6e 6e 65 6c 29 0a 7d 0a 64 65 63 l channel).}.dec
8960: 6c 61 72 65 20 34 31 37 20 7b 0a 20 20 20 20 76 lare 417 {. v
8970: 6f 69 64 20 54 63 6c 5f 43 6c 65 61 72 43 68 61 oid Tcl_ClearCha
8980: 6e 6e 65 6c 48 61 6e 64 6c 65 72 73 28 54 63 6c nnelHandlers(Tcl
8990: 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 6e 65 6c _Channel channel
89a0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 31 38 20 ).}.declare 418
89b0: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 49 73 {. int Tcl_Is
89c0: 43 68 61 6e 6e 65 6c 45 78 69 73 74 69 6e 67 28 ChannelExisting(
89d0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 68 61 6e const char *chan
89e0: 6e 65 6c 4e 61 6d 65 29 0a 7d 0a 64 65 63 6c 61 nelName).}.decla
89f0: 72 65 20 34 32 31 20 7b 0a 20 20 20 20 54 63 6c re 421 {. Tcl
8a00: 5f 48 61 73 68 45 6e 74 72 79 20 2a 54 63 6c 5f _HashEntry *Tcl_
8a10: 44 62 43 72 65 61 74 65 48 61 73 68 45 6e 74 72 DbCreateHashEntr
8a20: 79 28 54 63 6c 5f 48 61 73 68 54 61 62 6c 65 20 y(Tcl_HashTable
8a30: 2a 74 61 62 6c 65 50 74 72 2c 0a 09 20 20 20 20 *tablePtr,..
8a40: 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c const void *key,
8a50: 20 69 6e 74 20 2a 6e 65 77 50 74 72 2c 20 63 6f int *newPtr, co
8a60: 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 nst char *file,
8a70: 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c int line).}.decl
8a80: 61 72 65 20 34 32 32 20 7b 0a 20 20 20 20 54 63 are 422 {. Tc
8a90: 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 54 63 6c l_HashEntry *Tcl
8aa0: 5f 43 72 65 61 74 65 48 61 73 68 45 6e 74 72 79 _CreateHashEntry
8ab0: 28 54 63 6c 5f 48 61 73 68 54 61 62 6c 65 20 2a (Tcl_HashTable *
8ac0: 74 61 62 6c 65 50 74 72 2c 0a 09 20 20 20 20 63 tablePtr,.. c
8ad0: 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 onst void *key,
8ae0: 69 6e 74 20 2a 6e 65 77 50 74 72 29 0a 7d 0a 64 int *newPtr).}.d
8af0: 65 63 6c 61 72 65 20 34 32 33 20 7b 0a 20 20 20 eclare 423 {.
8b00: 20 76 6f 69 64 20 54 63 6c 5f 49 6e 69 74 43 75 void Tcl_InitCu
8b10: 73 74 6f 6d 48 61 73 68 54 61 62 6c 65 28 54 63 stomHashTable(Tc
8b20: 6c 5f 48 61 73 68 54 61 62 6c 65 20 2a 74 61 62 l_HashTable *tab
8b30: 6c 65 50 74 72 2c 20 69 6e 74 20 6b 65 79 54 79 lePtr, int keyTy
8b40: 70 65 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 54 pe,.. const T
8b50: 63 6c 5f 48 61 73 68 4b 65 79 54 79 70 65 20 2a cl_HashKeyType *
8b60: 74 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 typePtr).}.decla
8b70: 72 65 20 34 32 34 20 7b 0a 20 20 20 20 76 6f 69 re 424 {. voi
8b80: 64 20 54 63 6c 5f 49 6e 69 74 4f 62 6a 48 61 73 d Tcl_InitObjHas
8b90: 68 54 61 62 6c 65 28 54 63 6c 5f 48 61 73 68 54 hTable(Tcl_HashT
8ba0: 61 62 6c 65 20 2a 74 61 62 6c 65 50 74 72 29 0a able *tablePtr).
8bb0: 7d 0a 64 65 63 6c 61 72 65 20 34 32 35 20 7b 0a }.declare 425 {.
8bc0: 20 20 20 20 76 6f 69 64 20 2a 54 63 6c 5f 43 6f void *Tcl_Co
8bd0: 6d 6d 61 6e 64 54 72 61 63 65 49 6e 66 6f 28 54 mmandTraceInfo(T
8be0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
8bf0: 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 p, const char *v
8c00: 61 72 4e 61 6d 65 2c 0a 09 20 20 20 20 69 6e 74 arName,.. int
8c10: 20 66 6c 61 67 73 2c 20 54 63 6c 5f 43 6f 6d 6d flags, Tcl_Comm
8c20: 61 6e 64 54 72 61 63 65 50 72 6f 63 20 2a 70 72 andTraceProc *pr
8c30: 6f 63 50 74 72 2c 0a 09 20 20 20 20 76 6f 69 64 ocPtr,.. void
8c40: 20 2a 70 72 65 76 43 6c 69 65 6e 74 44 61 74 61 *prevClientData
8c50: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 32 36 20 ).}.declare 426
8c60: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 54 72 {. int Tcl_Tr
8c70: 61 63 65 43 6f 6d 6d 61 6e 64 28 54 63 6c 5f 49 aceCommand(Tcl_I
8c80: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 nterp *interp, c
8c90: 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 72 4e 61 onst char *varNa
8ca0: 6d 65 2c 20 69 6e 74 20 66 6c 61 67 73 2c 0a 09 me, int flags,..
8cb0: 20 20 20 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 54 Tcl_CommandT
8cc0: 72 61 63 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 raceProc *proc,
8cd0: 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 void *clientData
8ce0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 32 37 20 ).}.declare 427
8cf0: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 55 {. void Tcl_U
8d00: 6e 74 72 61 63 65 43 6f 6d 6d 61 6e 64 28 54 63 ntraceCommand(Tc
8d10: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
8d20: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 , const char *va
8d30: 72 4e 61 6d 65 2c 0a 09 20 20 20 20 69 6e 74 20 rName,.. int
8d40: 66 6c 61 67 73 2c 20 54 63 6c 5f 43 6f 6d 6d 61 flags, Tcl_Comma
8d50: 6e 64 54 72 61 63 65 50 72 6f 63 20 2a 70 72 6f ndTraceProc *pro
8d60: 63 2c 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 c, void *clientD
8d70: 61 74 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 ata).}.declare 4
8d80: 32 38 20 7b 0a 20 20 20 20 76 6f 69 64 20 2a 54 28 {. void *T
8d90: 63 6c 5f 41 74 74 65 6d 70 74 41 6c 6c 6f 63 28 cl_AttemptAlloc(
8da0: 73 69 7a 65 5f 74 20 73 69 7a 65 29 0a 7d 0a 64 size_t size).}.d
8db0: 65 63 6c 61 72 65 20 34 32 39 20 7b 0a 20 20 20 eclare 429 {.
8dc0: 20 76 6f 69 64 20 2a 54 63 6c 5f 41 74 74 65 6d void *Tcl_Attem
8dd0: 70 74 44 62 43 6b 61 6c 6c 6f 63 28 73 69 7a 65 ptDbCkalloc(size
8de0: 5f 74 20 73 69 7a 65 2c 20 63 6f 6e 73 74 20 63 _t size, const c
8df0: 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 6c har *file, int l
8e00: 69 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 ine).}.declare 4
8e10: 33 30 20 7b 0a 20 20 20 20 76 6f 69 64 20 2a 54 30 {. void *T
8e20: 63 6c 5f 41 74 74 65 6d 70 74 52 65 61 6c 6c 6f cl_AttemptReallo
8e30: 63 28 76 6f 69 64 20 2a 70 74 72 2c 20 73 69 7a c(void *ptr, siz
8e40: 65 5f 74 20 73 69 7a 65 29 0a 7d 0a 64 65 63 6c e_t size).}.decl
8e50: 61 72 65 20 34 33 31 20 7b 0a 20 20 20 20 76 6f are 431 {. vo
8e60: 69 64 20 2a 54 63 6c 5f 41 74 74 65 6d 70 74 44 id *Tcl_AttemptD
8e70: 62 43 6b 72 65 61 6c 6c 6f 63 28 76 6f 69 64 20 bCkrealloc(void
8e80: 2a 70 74 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a *ptr, size_t siz
8e90: 65 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 e,.. const ch
8ea0: 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 6c 69 ar *file, int li
8eb0: 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 33 ne).}.declare 43
8ec0: 32 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 2 {. int Tcl_
8ed0: 41 74 74 65 6d 70 74 53 65 74 4f 62 6a 4c 65 6e AttemptSetObjLen
8ee0: 67 74 68 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a gth(Tcl_Obj *obj
8ef0: 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 Ptr, Tcl_Size le
8f00: 6e 67 74 68 29 0a 7d 0a 0a 23 20 54 49 50 23 31 ngth).}..# TIP#1
8f10: 30 20 28 74 68 72 65 61 64 2d 61 77 61 72 65 20 0 (thread-aware
8f20: 63 68 61 6e 6e 65 6c 73 29 20 61 6b 75 70 72 69 channels) akupri
8f30: 65 73 0a 64 65 63 6c 61 72 65 20 34 33 33 20 7b es.declare 433 {
8f40: 0a 20 20 20 20 54 63 6c 5f 54 68 72 65 61 64 49 . Tcl_ThreadI
8f50: 64 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c d Tcl_GetChannel
8f60: 54 68 72 65 61 64 28 54 63 6c 5f 43 68 61 6e 6e Thread(Tcl_Chann
8f70: 65 6c 20 63 68 61 6e 6e 65 6c 29 0a 7d 0a 0a 23 el channel).}..#
8f80: 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 38 introduced in 8
8f90: 2e 34 61 33 0a 64 65 63 6c 61 72 65 20 34 33 34 .4a3.declare 434
8fa0: 20 7b 0a 20 20 20 20 54 63 6c 5f 55 6e 69 43 68 {. Tcl_UniCh
8fb0: 61 72 20 2a 54 63 6c 47 65 74 55 6e 69 63 6f 64 ar *TclGetUnicod
8fc0: 65 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 4f 62 6a eFromObj(Tcl_Obj
8fd0: 20 2a 6f 62 6a 50 74 72 2c 20 76 6f 69 64 20 2a *objPtr, void *
8fe0: 6c 65 6e 67 74 68 50 74 72 29 0a 7d 0a 0a 23 20 lengthPtr).}..#
8ff0: 54 49 50 23 33 36 20 28 62 65 74 74 65 72 20 61 TIP#36 (better a
9000: 63 63 65 73 73 20 74 6f 20 27 73 75 62 73 74 27 ccess to 'subst'
9010: 29 20 64 6b 66 0a 64 65 63 6c 61 72 65 20 34 33 ) dkf.declare 43
9020: 37 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 7 {. Tcl_Obj
9030: 2a 54 63 6c 5f 53 75 62 73 74 4f 62 6a 28 54 63 *Tcl_SubstObj(Tc
9040: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
9050: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 , Tcl_Obj *objPt
9060: 72 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a r, int flags).}.
9070: 0a 23 20 54 49 50 23 31 37 20 28 76 69 72 74 75 .# TIP#17 (virtu
9080: 61 6c 20 66 69 6c 65 73 79 73 74 65 6d 20 6c 61 al filesystem la
9090: 79 65 72 29 20 76 64 61 72 6c 65 79 0a 64 65 63 yer) vdarley.dec
90a0: 6c 61 72 65 20 34 33 38 20 7b 0a 20 20 20 20 69 lare 438 {. i
90b0: 6e 74 20 54 63 6c 5f 44 65 74 61 63 68 43 68 61 nt Tcl_DetachCha
90c0: 6e 6e 65 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 nnel(Tcl_Interp
90d0: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 *interp, Tcl_Cha
90e0: 6e 6e 65 6c 20 63 68 61 6e 6e 65 6c 29 0a 7d 0a nnel channel).}.
90f0: 64 65 63 6c 61 72 65 20 34 33 39 20 7b 0a 20 20 declare 439 {.
9100: 20 20 69 6e 74 20 54 63 6c 5f 49 73 53 74 61 6e int Tcl_IsStan
9110: 64 61 72 64 43 68 61 6e 6e 65 6c 28 54 63 6c 5f dardChannel(Tcl_
9120: 43 68 61 6e 6e 65 6c 20 63 68 61 6e 6e 65 6c 29 Channel channel)
9130: 0a 7d 0a 64 65 63 6c 61 72 65 20 34 34 30 20 7b .}.declare 440 {
9140: 0a 20 20 20 20 69 6e 74 09 54 63 6c 5f 46 53 43 . int.Tcl_FSC
9150: 6f 70 79 46 69 6c 65 28 54 63 6c 5f 4f 62 6a 20 opyFile(Tcl_Obj
9160: 2a 73 72 63 50 61 74 68 50 74 72 2c 20 54 63 6c *srcPathPtr, Tcl
9170: 5f 4f 62 6a 20 2a 64 65 73 74 50 61 74 68 50 74 _Obj *destPathPt
9180: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 34 31 r).}.declare 441
9190: 20 7b 0a 20 20 20 20 69 6e 74 09 54 63 6c 5f 46 {. int.Tcl_F
91a0: 53 43 6f 70 79 44 69 72 65 63 74 6f 72 79 28 54 SCopyDirectory(T
91b0: 63 6c 5f 4f 62 6a 20 2a 73 72 63 50 61 74 68 50 cl_Obj *srcPathP
91c0: 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a tr,.. Tcl_Obj
91d0: 20 2a 64 65 73 74 50 61 74 68 50 74 72 2c 20 54 *destPathPtr, T
91e0: 63 6c 5f 4f 62 6a 20 2a 2a 65 72 72 6f 72 50 74 cl_Obj **errorPt
91f0: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 34 32 r).}.declare 442
9200: 20 7b 0a 20 20 20 20 69 6e 74 09 54 63 6c 5f 46 {. int.Tcl_F
9210: 53 43 72 65 61 74 65 44 69 72 65 63 74 6f 72 79 SCreateDirectory
9220: 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 (Tcl_Obj *pathPt
9230: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 34 33 r).}.declare 443
9240: 20 7b 0a 20 20 20 20 69 6e 74 09 54 63 6c 5f 46 {. int.Tcl_F
9250: 53 44 65 6c 65 74 65 46 69 6c 65 28 54 63 6c 5f SDeleteFile(Tcl_
9260: 4f 62 6a 20 2a 70 61 74 68 50 74 72 29 0a 7d 0a Obj *pathPtr).}.
9270: 64 65 63 6c 61 72 65 20 34 34 34 20 7b 0a 20 20 declare 444 {.
9280: 20 20 69 6e 74 09 54 63 6c 5f 46 53 4c 6f 61 64 int.Tcl_FSLoad
9290: 46 69 6c 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 File(Tcl_Interp
92a0: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a *interp, Tcl_Obj
92b0: 20 2a 70 61 74 68 50 74 72 2c 20 63 6f 6e 73 74 *pathPtr, const
92c0: 20 63 68 61 72 20 2a 73 79 6d 31 2c 0a 09 20 20 char *sym1,..
92d0: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 79 const char *sy
92e0: 6d 32 2c 20 54 63 6c 5f 4c 69 62 72 61 72 79 49 m2, Tcl_LibraryI
92f0: 6e 69 74 50 72 6f 63 20 2a 2a 70 72 6f 63 31 50 nitProc **proc1P
9300: 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 4c 69 62 tr,.. Tcl_Lib
9310: 72 61 72 79 49 6e 69 74 50 72 6f 63 20 2a 2a 70 raryInitProc **p
9320: 72 6f 63 32 50 74 72 2c 20 54 63 6c 5f 4c 6f 61 roc2Ptr, Tcl_Loa
9330: 64 48 61 6e 64 6c 65 20 2a 68 61 6e 64 6c 65 50 dHandle *handleP
9340: 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 46 53 55 tr,.. Tcl_FSU
9350: 6e 6c 6f 61 64 46 69 6c 65 50 72 6f 63 20 2a 2a nloadFileProc **
9360: 75 6e 6c 6f 61 64 50 72 6f 63 50 74 72 29 0a 7d unloadProcPtr).}
9370: 0a 64 65 63 6c 61 72 65 20 34 34 35 20 7b 0a 20 .declare 445 {.
9380: 20 20 20 69 6e 74 09 54 63 6c 5f 46 53 4d 61 74 int.Tcl_FSMat
9390: 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 54 63 chInDirectory(Tc
93a0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
93b0: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 72 65 73 75 6c , Tcl_Obj *resul
93c0: 74 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 t,.. Tcl_Obj
93d0: 2a 70 61 74 68 50 74 72 2c 20 63 6f 6e 73 74 20 *pathPtr, const
93e0: 63 68 61 72 20 2a 70 61 74 74 65 72 6e 2c 20 54 char *pattern, T
93f0: 63 6c 5f 47 6c 6f 62 54 79 70 65 44 61 74 61 20 cl_GlobTypeData
9400: 2a 74 79 70 65 73 29 0a 7d 0a 64 65 63 6c 61 72 *types).}.declar
9410: 65 20 34 34 36 20 7b 0a 20 20 20 20 54 63 6c 5f e 446 {. Tcl_
9420: 4f 62 6a 20 2a 54 63 6c 5f 46 53 4c 69 6e 6b 28 Obj *Tcl_FSLink(
9430: 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 Tcl_Obj *pathPtr
9440: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 74 6f 50 74 72 , Tcl_Obj *toPtr
9450: 2c 20 69 6e 74 20 6c 69 6e 6b 41 63 74 69 6f 6e , int linkAction
9460: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 34 37 20 ).}.declare 447
9470: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 53 {. int Tcl_FS
9480: 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 RemoveDirectory(
9490: 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 Tcl_Obj *pathPtr
94a0: 2c 0a 09 20 20 20 20 69 6e 74 20 72 65 63 75 72 ,.. int recur
94b0: 73 69 76 65 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a sive, Tcl_Obj **
94c0: 65 72 72 6f 72 50 74 72 29 0a 7d 0a 64 65 63 6c errorPtr).}.decl
94d0: 61 72 65 20 34 34 38 20 7b 0a 20 20 20 20 69 6e are 448 {. in
94e0: 74 09 54 63 6c 5f 46 53 52 65 6e 61 6d 65 46 69 t.Tcl_FSRenameFi
94f0: 6c 65 28 54 63 6c 5f 4f 62 6a 20 2a 73 72 63 50 le(Tcl_Obj *srcP
9500: 61 74 68 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 athPtr, Tcl_Obj
9510: 2a 64 65 73 74 50 61 74 68 50 74 72 29 0a 7d 0a *destPathPtr).}.
9520: 64 65 63 6c 61 72 65 20 34 34 39 20 7b 0a 20 20 declare 449 {.
9530: 20 20 69 6e 74 09 54 63 6c 5f 46 53 4c 73 74 61 int.Tcl_FSLsta
9540: 74 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 t(Tcl_Obj *pathP
9550: 74 72 2c 20 54 63 6c 5f 53 74 61 74 42 75 66 20 tr, Tcl_StatBuf
9560: 2a 62 75 66 29 0a 7d 0a 64 65 63 6c 61 72 65 20 *buf).}.declare
9570: 34 35 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 450 {. int Tc
9580: 6c 5f 46 53 55 74 69 6d 65 28 54 63 6c 5f 4f 62 l_FSUtime(Tcl_Ob
9590: 6a 20 2a 70 61 74 68 50 74 72 2c 20 73 74 72 75 j *pathPtr, stru
95a0: 63 74 20 75 74 69 6d 62 75 66 20 2a 74 76 61 6c ct utimbuf *tval
95b0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 35 31 20 ).}.declare 451
95c0: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 53 {. int Tcl_FS
95d0: 46 69 6c 65 41 74 74 72 73 47 65 74 28 54 63 6c FileAttrsGet(Tcl
95e0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c _Interp *interp,
95f0: 0a 09 20 20 20 20 69 6e 74 20 69 6e 64 65 78 2c .. int index,
9600: 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 Tcl_Obj *pathPt
9610: 72 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a 6f 62 6a r, Tcl_Obj **obj
9620: 50 74 72 52 65 66 29 0a 7d 0a 64 65 63 6c 61 72 PtrRef).}.declar
9630: 65 20 34 35 32 20 7b 0a 20 20 20 20 69 6e 74 20 e 452 {. int
9640: 54 63 6c 5f 46 53 46 69 6c 65 41 74 74 72 73 53 Tcl_FSFileAttrsS
9650: 65 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 et(Tcl_Interp *i
9660: 6e 74 65 72 70 2c 0a 09 20 20 20 20 69 6e 74 20 nterp,.. int
9670: 69 6e 64 65 78 2c 20 54 63 6c 5f 4f 62 6a 20 2a index, Tcl_Obj *
9680: 70 61 74 68 50 74 72 2c 20 54 63 6c 5f 4f 62 6a pathPtr, Tcl_Obj
9690: 20 2a 6f 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c *objPtr).}.decl
96a0: 61 72 65 20 34 35 33 20 7b 0a 20 20 20 20 63 6f are 453 {. co
96b0: 6e 73 74 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 nst char *const
96c0: 2a 54 63 6c 5f 46 53 46 69 6c 65 41 74 74 72 53 *Tcl_FSFileAttrS
96d0: 74 72 69 6e 67 73 28 54 63 6c 5f 4f 62 6a 20 2a trings(Tcl_Obj *
96e0: 70 61 74 68 50 74 72 2c 0a 09 20 20 20 20 54 63 pathPtr,.. Tc
96f0: 6c 5f 4f 62 6a 20 2a 2a 6f 62 6a 50 74 72 52 65 l_Obj **objPtrRe
9700: 66 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 35 34 f).}.declare 454
9710: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 {. int Tcl_F
9720: 53 53 74 61 74 28 54 63 6c 5f 4f 62 6a 20 2a 70 SStat(Tcl_Obj *p
9730: 61 74 68 50 74 72 2c 20 54 63 6c 5f 53 74 61 74 athPtr, Tcl_Stat
9740: 42 75 66 20 2a 62 75 66 29 0a 7d 0a 64 65 63 6c Buf *buf).}.decl
9750: 61 72 65 20 34 35 35 20 7b 0a 20 20 20 20 69 6e are 455 {. in
9760: 74 20 54 63 6c 5f 46 53 41 63 63 65 73 73 28 54 t Tcl_FSAccess(T
9770: 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 2c cl_Obj *pathPtr,
9780: 20 69 6e 74 20 6d 6f 64 65 29 0a 7d 0a 64 65 63 int mode).}.dec
9790: 6c 61 72 65 20 34 35 36 20 7b 0a 20 20 20 20 54 lare 456 {. T
97a0: 63 6c 5f 43 68 61 6e 6e 65 6c 20 54 63 6c 5f 46 cl_Channel Tcl_F
97b0: 53 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 6c SOpenFileChannel
97c0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
97d0: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 erp, Tcl_Obj *pa
97e0: 74 68 50 74 72 2c 0a 09 20 20 20 20 63 6f 6e 73 thPtr,.. cons
97f0: 74 20 63 68 61 72 20 2a 6d 6f 64 65 53 74 72 69 t char *modeStri
9800: 6e 67 2c 20 69 6e 74 20 70 65 72 6d 69 73 73 69 ng, int permissi
9810: 6f 6e 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 ons).}.declare 4
9820: 35 37 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 57 {. Tcl_Obj
9830: 20 2a 54 63 6c 5f 46 53 47 65 74 43 77 64 28 54 *Tcl_FSGetCwd(T
9840: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
9850: 70 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 35 38 p).}.declare 458
9860: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 {. int Tcl_F
9870: 53 43 68 64 69 72 28 54 63 6c 5f 4f 62 6a 20 2a SChdir(Tcl_Obj *
9880: 70 61 74 68 50 74 72 29 0a 7d 0a 64 65 63 6c 61 pathPtr).}.decla
9890: 72 65 20 34 35 39 20 7b 0a 20 20 20 20 69 6e 74 re 459 {. int
98a0: 20 54 63 6c 5f 46 53 43 6f 6e 76 65 72 74 54 6f Tcl_FSConvertTo
98b0: 50 61 74 68 54 79 70 65 28 54 63 6c 5f 49 6e 74 PathType(Tcl_Int
98c0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
98d0: 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 29 0a 7d _Obj *pathPtr).}
98e0: 0a 64 65 63 6c 61 72 65 20 34 36 30 20 7b 0a 20 .declare 460 {.
98f0: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f Tcl_Obj *Tcl_
9900: 46 53 4a 6f 69 6e 50 61 74 68 28 54 63 6c 5f 4f FSJoinPath(Tcl_O
9910: 62 6a 20 2a 6c 69 73 74 4f 62 6a 2c 20 54 63 6c bj *listObj, Tcl
9920: 5f 53 69 7a 65 20 65 6c 65 6d 65 6e 74 73 29 0a _Size elements).
9930: 7d 0a 64 65 63 6c 61 72 65 20 34 36 31 20 7b 0a }.declare 461 {.
9940: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c Tcl_Obj *Tcl
9950: 46 53 53 70 6c 69 74 50 61 74 68 28 54 63 6c 5f FSSplitPath(Tcl_
9960: 4f 62 6a 20 2a 70 61 74 68 50 74 72 2c 20 76 6f Obj *pathPtr, vo
9970: 69 64 20 2a 6c 65 6e 50 74 72 29 0a 7d 0a 64 65 id *lenPtr).}.de
9980: 63 6c 61 72 65 20 34 36 32 20 7b 0a 20 20 20 20 clare 462 {.
9990: 69 6e 74 20 54 63 6c 5f 46 53 45 71 75 61 6c 50 int Tcl_FSEqualP
99a0: 61 74 68 73 28 54 63 6c 5f 4f 62 6a 20 2a 66 69 aths(Tcl_Obj *fi
99b0: 72 73 74 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 rstPtr, Tcl_Obj
99c0: 2a 73 65 63 6f 6e 64 50 74 72 29 0a 7d 0a 64 65 *secondPtr).}.de
99d0: 63 6c 61 72 65 20 34 36 33 20 7b 0a 20 20 20 20 clare 463 {.
99e0: 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 46 53 47 Tcl_Obj *Tcl_FSG
99f0: 65 74 4e 6f 72 6d 61 6c 69 7a 65 64 50 61 74 68 etNormalizedPath
9a00: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
9a10: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 erp, Tcl_Obj *pa
9a20: 74 68 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 thPtr).}.declare
9a30: 20 34 36 34 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 464 {. Tcl_O
9a40: 62 6a 20 2a 54 63 6c 5f 46 53 4a 6f 69 6e 54 6f bj *Tcl_FSJoinTo
9a50: 50 61 74 68 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 Path(Tcl_Obj *pa
9a60: 74 68 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 thPtr, Tcl_Size
9a70: 6f 62 6a 63 2c 0a 09 20 20 20 20 54 63 6c 5f 4f objc,.. Tcl_O
9a80: 62 6a 20 2a 63 6f 6e 73 74 20 6f 62 6a 76 5b 5d bj *const objv[]
9a90: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 36 35 20 ).}.declare 465
9aa0: 7b 0a 20 20 20 20 76 6f 69 64 20 2a 54 63 6c 5f {. void *Tcl_
9ab0: 46 53 47 65 74 49 6e 74 65 72 6e 61 6c 52 65 70 FSGetInternalRep
9ac0: 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 (Tcl_Obj *pathPt
9ad0: 72 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 54 63 r,.. const Tc
9ae0: 6c 5f 46 69 6c 65 73 79 73 74 65 6d 20 2a 66 73 l_Filesystem *fs
9af0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 Ptr).}.declare 4
9b00: 36 36 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 66 {. Tcl_Obj
9b10: 20 2a 54 63 6c 5f 46 53 47 65 74 54 72 61 6e 73 *Tcl_FSGetTrans
9b20: 6c 61 74 65 64 50 61 74 68 28 54 63 6c 5f 49 6e latedPath(Tcl_In
9b30: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
9b40: 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 29 0a l_Obj *pathPtr).
9b50: 7d 0a 64 65 63 6c 61 72 65 20 34 36 37 20 7b 0a }.declare 467 {.
9b60: 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 53 45 76 int Tcl_FSEv
9b70: 61 6c 46 69 6c 65 28 54 63 6c 5f 49 6e 74 65 72 alFile(Tcl_Inter
9b80: 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f p *interp, Tcl_O
9b90: 62 6a 20 2a 66 69 6c 65 4e 61 6d 65 29 0a 7d 0a bj *fileName).}.
9ba0: 64 65 63 6c 61 72 65 20 34 36 38 20 7b 0a 20 20 declare 468 {.
9bb0: 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 46 Tcl_Obj *Tcl_F
9bc0: 53 4e 65 77 4e 61 74 69 76 65 50 61 74 68 28 63 SNewNativePath(c
9bd0: 6f 6e 73 74 20 54 63 6c 5f 46 69 6c 65 73 79 73 onst Tcl_Filesys
9be0: 74 65 6d 20 2a 66 72 6f 6d 46 69 6c 65 73 79 73 tem *fromFilesys
9bf0: 74 65 6d 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a tem,.. void *
9c00: 63 6c 69 65 6e 74 44 61 74 61 29 0a 7d 0a 64 65 clientData).}.de
9c10: 63 6c 61 72 65 20 34 36 39 20 7b 0a 20 20 20 20 clare 469 {.
9c20: 63 6f 6e 73 74 20 76 6f 69 64 20 2a 54 63 6c 5f const void *Tcl_
9c30: 46 53 47 65 74 4e 61 74 69 76 65 50 61 74 68 28 FSGetNativePath(
9c40: 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 Tcl_Obj *pathPtr
9c50: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 37 30 20 ).}.declare 470
9c60: 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 {. Tcl_Obj *T
9c70: 63 6c 5f 46 53 46 69 6c 65 53 79 73 74 65 6d 49 cl_FSFileSystemI
9c80: 6e 66 6f 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 nfo(Tcl_Obj *pat
9c90: 68 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 hPtr).}.declare
9ca0: 34 37 31 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 471 {. Tcl_Ob
9cb0: 6a 20 2a 54 63 6c 5f 46 53 50 61 74 68 53 65 70 j *Tcl_FSPathSep
9cc0: 61 72 61 74 6f 72 28 54 63 6c 5f 4f 62 6a 20 2a arator(Tcl_Obj *
9cd0: 70 61 74 68 50 74 72 29 0a 7d 0a 64 65 63 6c 61 pathPtr).}.decla
9ce0: 72 65 20 34 37 32 20 7b 0a 20 20 20 20 54 63 6c re 472 {. Tcl
9cf0: 5f 4f 62 6a 20 2a 54 63 6c 5f 46 53 4c 69 73 74 _Obj *Tcl_FSList
9d00: 56 6f 6c 75 6d 65 73 28 76 6f 69 64 29 0a 7d 0a Volumes(void).}.
9d10: 64 65 63 6c 61 72 65 20 34 37 33 20 7b 0a 20 20 declare 473 {.
9d20: 20 20 69 6e 74 20 54 63 6c 5f 46 53 52 65 67 69 int Tcl_FSRegi
9d30: 73 74 65 72 28 76 6f 69 64 20 2a 63 6c 69 65 6e ster(void *clien
9d40: 74 44 61 74 61 2c 20 63 6f 6e 73 74 20 54 63 6c tData, const Tcl
9d50: 5f 46 69 6c 65 73 79 73 74 65 6d 20 2a 66 73 50 _Filesystem *fsP
9d60: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 37 tr).}.declare 47
9d70: 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4 {. int Tcl_
9d80: 46 53 55 6e 72 65 67 69 73 74 65 72 28 63 6f 6e FSUnregister(con
9d90: 73 74 20 54 63 6c 5f 46 69 6c 65 73 79 73 74 65 st Tcl_Filesyste
9da0: 6d 20 2a 66 73 50 74 72 29 0a 7d 0a 64 65 63 6c m *fsPtr).}.decl
9db0: 61 72 65 20 34 37 35 20 7b 0a 20 20 20 20 76 6f are 475 {. vo
9dc0: 69 64 20 2a 54 63 6c 5f 46 53 44 61 74 61 28 63 id *Tcl_FSData(c
9dd0: 6f 6e 73 74 20 54 63 6c 5f 46 69 6c 65 73 79 73 onst Tcl_Filesys
9de0: 74 65 6d 20 2a 66 73 50 74 72 29 0a 7d 0a 64 65 tem *fsPtr).}.de
9df0: 63 6c 61 72 65 20 34 37 36 20 7b 0a 20 20 20 20 clare 476 {.
9e00: 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f const char *Tcl_
9e10: 46 53 47 65 74 54 72 61 6e 73 6c 61 74 65 64 53 FSGetTranslatedS
9e20: 74 72 69 6e 67 50 61 74 68 28 54 63 6c 5f 49 6e tringPath(Tcl_In
9e30: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 terp *interp,..
9e40: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 Tcl_Obj *path
9e50: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 Ptr).}.declare 4
9e60: 37 37 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 54 77 {. const T
9e70: 63 6c 5f 46 69 6c 65 73 79 73 74 65 6d 20 2a 54 cl_Filesystem *T
9e80: 63 6c 5f 46 53 47 65 74 46 69 6c 65 53 79 73 74 cl_FSGetFileSyst
9e90: 65 6d 46 6f 72 50 61 74 68 28 54 63 6c 5f 4f 62 emForPath(Tcl_Ob
9ea0: 6a 20 2a 70 61 74 68 50 74 72 29 0a 7d 0a 64 65 j *pathPtr).}.de
9eb0: 63 6c 61 72 65 20 34 37 38 20 7b 0a 20 20 20 20 clare 478 {.
9ec0: 54 63 6c 5f 50 61 74 68 54 79 70 65 20 54 63 6c Tcl_PathType Tcl
9ed0: 5f 46 53 47 65 74 50 61 74 68 54 79 70 65 28 54 _FSGetPathType(T
9ee0: 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 29 cl_Obj *pathPtr)
9ef0: 0a 7d 0a 0a 23 20 54 49 50 23 34 39 20 28 64 65 .}..# TIP#49 (de
9f00: 74 65 63 74 69 6f 6e 20 6f 66 20 6f 75 74 70 75 tection of outpu
9f10: 74 20 62 75 66 66 65 72 69 6e 67 29 20 61 6b 75 t buffering) aku
9f20: 70 72 69 65 73 0a 64 65 63 6c 61 72 65 20 34 37 pries.declare 47
9f30: 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 9 {. int Tcl_
9f40: 4f 75 74 70 75 74 42 75 66 66 65 72 65 64 28 54 OutputBuffered(T
9f50: 63 6c 5f 43 68 61 6e 6e 65 6c 20 63 68 61 6e 29 cl_Channel chan)
9f60: 0a 7d 0a 64 65 63 6c 61 72 65 20 34 38 30 20 7b .}.declare 480 {
9f70: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 46 53 . void Tcl_FS
9f80: 4d 6f 75 6e 74 73 43 68 61 6e 67 65 64 28 63 6f MountsChanged(co
9f90: 6e 73 74 20 54 63 6c 5f 46 69 6c 65 73 79 73 74 nst Tcl_Filesyst
9fa0: 65 6d 20 2a 66 73 50 74 72 29 0a 7d 0a 0a 23 20 em *fsPtr).}..#
9fb0: 54 49 50 23 35 36 20 28 65 76 61 6c 75 61 74 65 TIP#56 (evaluate
9fc0: 20 61 20 70 61 72 73 65 64 20 73 63 72 69 70 74 a parsed script
9fd0: 29 20 6d 73 6f 66 65 72 0a 64 65 63 6c 61 72 65 ) msofer.declare
9fe0: 20 34 38 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 481 {. int T
9ff0: 63 6c 5f 45 76 61 6c 54 6f 6b 65 6e 73 53 74 61 cl_EvalTokensSta
a000: 6e 64 61 72 64 28 54 63 6c 5f 49 6e 74 65 72 70 ndard(Tcl_Interp
a010: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 54 6f *interp, Tcl_To
a020: 6b 65 6e 20 2a 74 6f 6b 65 6e 50 74 72 2c 0a 09 ken *tokenPtr,..
a030: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 63 6f 75 Tcl_Size cou
a040: 6e 74 29 0a 7d 0a 0a 23 20 54 49 50 23 37 33 20 nt).}..# TIP#73
a050: 28 61 63 63 65 73 73 20 74 6f 20 63 75 72 72 65 (access to curre
a060: 6e 74 20 74 69 6d 65 29 20 6b 62 6b 0a 64 65 63 nt time) kbk.dec
a070: 6c 61 72 65 20 34 38 32 20 7b 0a 20 20 20 20 76 lare 482 {. v
a080: 6f 69 64 20 54 63 6c 5f 47 65 74 54 69 6d 65 28 oid Tcl_GetTime(
a090: 54 63 6c 5f 54 69 6d 65 20 2a 74 69 6d 65 42 75 Tcl_Time *timeBu
a0a0: 66 29 0a 7d 0a 0a 23 20 54 49 50 23 33 32 20 28 f).}..# TIP#32 (
a0b0: 6f 62 6a 65 63 74 2d 65 6e 61 62 6c 65 64 20 74 object-enabled t
a0c0: 72 61 63 65 73 29 20 6b 62 6b 0a 64 65 63 6c 61 races) kbk.decla
a0d0: 72 65 20 34 38 33 20 7b 0a 20 20 20 20 54 63 6c re 483 {. Tcl
a0e0: 5f 54 72 61 63 65 20 54 63 6c 5f 43 72 65 61 74 _Trace Tcl_Creat
a0f0: 65 4f 62 6a 54 72 61 63 65 28 54 63 6c 5f 49 6e eObjTrace(Tcl_In
a100: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
a110: 6c 5f 53 69 7a 65 20 6c 65 76 65 6c 2c 20 69 6e l_Size level, in
a120: 74 20 66 6c 61 67 73 2c 0a 09 20 20 20 20 54 63 t flags,.. Tc
a130: 6c 5f 43 6d 64 4f 62 6a 54 72 61 63 65 50 72 6f l_CmdObjTracePro
a140: 63 20 2a 6f 62 6a 50 72 6f 63 2c 20 76 6f 69 64 c *objProc, void
a150: 20 2a 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 *clientData,..
a160: 20 20 20 54 63 6c 5f 43 6d 64 4f 62 6a 54 72 61 Tcl_CmdObjTra
a170: 63 65 44 65 6c 65 74 65 50 72 6f 63 20 2a 64 65 ceDeleteProc *de
a180: 6c 50 72 6f 63 29 0a 7d 0a 64 65 63 6c 61 72 65 lProc).}.declare
a190: 20 34 38 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 484 {. int T
a1a0: 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e 64 49 6e 66 cl_GetCommandInf
a1b0: 6f 46 72 6f 6d 54 6f 6b 65 6e 28 54 63 6c 5f 43 oFromToken(Tcl_C
a1c0: 6f 6d 6d 61 6e 64 20 74 6f 6b 65 6e 2c 20 54 63 ommand token, Tc
a1d0: 6c 5f 43 6d 64 49 6e 66 6f 20 2a 69 6e 66 6f 50 l_CmdInfo *infoP
a1e0: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 38 tr).}.declare 48
a1f0: 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 5 {. int Tcl_
a200: 53 65 74 43 6f 6d 6d 61 6e 64 49 6e 66 6f 46 72 SetCommandInfoFr
a210: 6f 6d 54 6f 6b 65 6e 28 54 63 6c 5f 43 6f 6d 6d omToken(Tcl_Comm
a220: 61 6e 64 20 74 6f 6b 65 6e 2c 0a 09 20 20 20 20 and token,..
a230: 63 6f 6e 73 74 20 54 63 6c 5f 43 6d 64 49 6e 66 const Tcl_CmdInf
a240: 6f 20 2a 69 6e 66 6f 50 74 72 29 0a 7d 0a 0a 23 o *infoPtr).}..#
a250: 23 23 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 73 ## New functions
a260: 20 6f 6e 20 36 34 2d 62 69 74 20 64 65 76 20 62 on 64-bit dev b
a270: 72 61 6e 63 68 20 23 23 23 0a 23 20 54 49 50 23 ranch ###.# TIP#
a280: 37 32 20 28 36 34 2d 62 69 74 20 76 61 6c 75 65 72 (64-bit value
a290: 73 29 20 64 6b 66 0a 64 65 63 6c 61 72 65 20 34 s) dkf.declare 4
a2a0: 38 36 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 86 {. Tcl_Obj
a2b0: 20 2a 54 63 6c 5f 44 62 4e 65 77 57 69 64 65 49 *Tcl_DbNewWideI
a2c0: 6e 74 4f 62 6a 28 54 63 6c 5f 57 69 64 65 49 6e ntObj(Tcl_WideIn
a2d0: 74 20 77 69 64 65 56 61 6c 75 65 2c 0a 09 20 20 t wideValue,..
a2e0: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 const char *fi
a2f0: 6c 65 2c 20 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a le, int line).}.
a300: 64 65 63 6c 61 72 65 20 34 38 37 20 7b 0a 20 20 declare 487 {.
a310: 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 57 69 64 int Tcl_GetWid
a320: 65 49 6e 74 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f eIntFromObj(Tcl_
a330: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
a340: 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c Tcl_Obj *objPtr,
a350: 0a 09 20 20 20 20 54 63 6c 5f 57 69 64 65 49 6e .. Tcl_WideIn
a360: 74 20 2a 77 69 64 65 50 74 72 29 0a 7d 0a 64 65 t *widePtr).}.de
a370: 63 6c 61 72 65 20 34 38 38 20 7b 0a 20 20 20 20 clare 488 {.
a380: 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 4e 65 77 Tcl_Obj *Tcl_New
a390: 57 69 64 65 49 6e 74 4f 62 6a 28 54 63 6c 5f 57 WideIntObj(Tcl_W
a3a0: 69 64 65 49 6e 74 20 77 69 64 65 56 61 6c 75 65 ideInt wideValue
a3b0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 38 39 20 ).}.declare 489
a3c0: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 {. void Tcl_S
a3d0: 65 74 57 69 64 65 49 6e 74 4f 62 6a 28 54 63 6c etWideIntObj(Tcl
a3e0: 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 54 63 _Obj *objPtr, Tc
a3f0: 6c 5f 57 69 64 65 49 6e 74 20 77 69 64 65 56 61 l_WideInt wideVa
a400: 6c 75 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 lue).}.declare 4
a410: 39 30 20 7b 0a 20 20 20 20 54 63 6c 5f 53 74 61 90 {. Tcl_Sta
a420: 74 42 75 66 20 2a 54 63 6c 5f 41 6c 6c 6f 63 53 tBuf *Tcl_AllocS
a430: 74 61 74 42 75 66 28 76 6f 69 64 29 0a 7d 0a 64 tatBuf(void).}.d
a440: 65 63 6c 61 72 65 20 34 39 31 20 7b 0a 20 20 20 eclare 491 {.
a450: 20 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 6c 5f 53 long long Tcl_S
a460: 65 65 6b 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 eek(Tcl_Channel
a470: 63 68 61 6e 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 chan, long long
a480: 6f 66 66 73 65 74 2c 20 69 6e 74 20 6d 6f 64 65 offset, int mode
a490: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 34 39 32 20 ).}.declare 492
a4a0: 7b 0a 20 20 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 {. long long
a4b0: 54 63 6c 5f 54 65 6c 6c 28 54 63 6c 5f 43 68 61 Tcl_Tell(Tcl_Cha
a4c0: 6e 6e 65 6c 20 63 68 61 6e 29 0a 7d 0a 0a 23 20 nnel chan).}..#
a4d0: 54 49 50 23 39 31 20 28 62 61 63 6b 2d 63 6f 6d TIP#91 (back-com
a4e0: 70 61 74 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73 pat enhancements
a4f0: 20 66 6f 72 20 63 68 61 6e 6e 65 6c 73 29 20 64 for channels) d
a500: 6b 66 0a 64 65 63 6c 61 72 65 20 34 39 33 20 7b kf.declare 493 {
a510: 0a 20 20 20 20 54 63 6c 5f 44 72 69 76 65 72 57 . Tcl_DriverW
a520: 69 64 65 53 65 65 6b 50 72 6f 63 20 2a 54 63 6c ideSeekProc *Tcl
a530: 5f 43 68 61 6e 6e 65 6c 57 69 64 65 53 65 65 6b _ChannelWideSeek
a540: 50 72 6f 63 28 0a 09 20 20 20 20 63 6f 6e 73 74 Proc(.. const
a550: 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 79 70 65 Tcl_ChannelType
a560: 20 2a 63 68 61 6e 54 79 70 65 50 74 72 29 0a 7d *chanTypePtr).}
a570: 0a 0a 23 20 2d 2d 2d 2d 2d 20 42 41 53 45 4c 49 ..# ----- BASELI
a580: 4e 45 20 2d 2d 20 46 4f 52 20 2d 2d 20 38 2e 34 NE -- FOR -- 8.4
a590: 2e 30 20 2d 2d 2d 2d 2d 20 23 0a 0a 23 20 54 49 .0 ----- #..# TI
a5a0: 50 23 31 31 31 20 28 64 69 63 74 69 6f 6e 61 72 P#111 (dictionar
a5b0: 69 65 73 29 20 64 6b 66 0a 64 65 63 6c 61 72 65 ies) dkf.declare
a5c0: 20 34 39 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 494 {. int T
a5d0: 63 6c 5f 44 69 63 74 4f 62 6a 50 75 74 28 54 63 cl_DictObjPut(Tc
a5e0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
a5f0: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 64 69 63 74 50 , Tcl_Obj *dictP
a600: 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a tr,.. Tcl_Obj
a610: 20 2a 6b 65 79 50 74 72 2c 20 54 63 6c 5f 4f 62 *keyPtr, Tcl_Ob
a620: 6a 20 2a 76 61 6c 75 65 50 74 72 29 0a 7d 0a 64 j *valuePtr).}.d
a630: 65 63 6c 61 72 65 20 34 39 35 20 7b 0a 20 20 20 eclare 495 {.
a640: 20 69 6e 74 20 54 63 6c 5f 44 69 63 74 4f 62 6a int Tcl_DictObj
a650: 47 65 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a Get(Tcl_Interp *
a660: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
a670: 2a 64 69 63 74 50 74 72 2c 20 54 63 6c 5f 4f 62 *dictPtr, Tcl_Ob
a680: 6a 20 2a 6b 65 79 50 74 72 2c 0a 09 20 20 20 20 j *keyPtr,..
a690: 54 63 6c 5f 4f 62 6a 20 2a 2a 76 61 6c 75 65 50 Tcl_Obj **valueP
a6a0: 74 72 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 trPtr).}.declare
a6b0: 20 34 39 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 496 {. int T
a6c0: 63 6c 5f 44 69 63 74 4f 62 6a 52 65 6d 6f 76 65 cl_DictObjRemove
a6d0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
a6e0: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 64 69 erp, Tcl_Obj *di
a6f0: 63 74 50 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f ctPtr,.. Tcl_
a700: 4f 62 6a 20 2a 6b 65 79 50 74 72 29 0a 7d 0a 64 Obj *keyPtr).}.d
a710: 65 63 6c 61 72 65 20 34 39 37 20 7b 0a 20 20 20 eclare 497 {.
a720: 20 69 6e 74 20 54 63 6c 44 69 63 74 4f 62 6a 53 int TclDictObjS
a730: 69 7a 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ize(Tcl_Interp *
a740: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
a750: 2a 64 69 63 74 50 74 72 2c 20 76 6f 69 64 20 2a *dictPtr, void *
a760: 73 69 7a 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 sizePtr).}.decla
a770: 72 65 20 34 39 38 20 7b 0a 20 20 20 20 69 6e 74 re 498 {. int
a780: 20 54 63 6c 5f 44 69 63 74 4f 62 6a 46 69 72 73 Tcl_DictObjFirs
a790: 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e t(Tcl_Interp *in
a7a0: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 64 terp, Tcl_Obj *d
a7b0: 69 63 74 50 74 72 2c 0a 09 20 20 20 20 54 63 6c ictPtr,.. Tcl
a7c0: 5f 44 69 63 74 53 65 61 72 63 68 20 2a 73 65 61 _DictSearch *sea
a7d0: 72 63 68 50 74 72 2c 0a 09 20 20 20 20 54 63 6c rchPtr,.. Tcl
a7e0: 5f 4f 62 6a 20 2a 2a 6b 65 79 50 74 72 50 74 72 _Obj **keyPtrPtr
a7f0: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a 76 61 6c 75 , Tcl_Obj **valu
a800: 65 50 74 72 50 74 72 2c 20 69 6e 74 20 2a 64 6f ePtrPtr, int *do
a810: 6e 65 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 nePtr).}.declare
a820: 20 34 39 39 20 7b 0a 20 20 20 20 76 6f 69 64 20 499 {. void
a830: 54 63 6c 5f 44 69 63 74 4f 62 6a 4e 65 78 74 28 Tcl_DictObjNext(
a840: 54 63 6c 5f 44 69 63 74 53 65 61 72 63 68 20 2a Tcl_DictSearch *
a850: 73 65 61 72 63 68 50 74 72 2c 0a 09 20 20 20 20 searchPtr,..
a860: 54 63 6c 5f 4f 62 6a 20 2a 2a 6b 65 79 50 74 72 Tcl_Obj **keyPtr
a870: 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a 76 Ptr, Tcl_Obj **v
a880: 61 6c 75 65 50 74 72 50 74 72 2c 20 69 6e 74 20 aluePtrPtr, int
a890: 2a 64 6f 6e 65 50 74 72 29 0a 7d 0a 64 65 63 6c *donePtr).}.decl
a8a0: 61 72 65 20 35 30 30 20 7b 0a 20 20 20 20 76 6f are 500 {. vo
a8b0: 69 64 20 54 63 6c 5f 44 69 63 74 4f 62 6a 44 6f id Tcl_DictObjDo
a8c0: 6e 65 28 54 63 6c 5f 44 69 63 74 53 65 61 72 63 ne(Tcl_DictSearc
a8d0: 68 20 2a 73 65 61 72 63 68 50 74 72 29 0a 7d 0a h *searchPtr).}.
a8e0: 64 65 63 6c 61 72 65 20 35 30 31 20 7b 0a 20 20 declare 501 {.
a8f0: 20 20 69 6e 74 20 54 63 6c 5f 44 69 63 74 4f 62 int Tcl_DictOb
a900: 6a 50 75 74 4b 65 79 4c 69 73 74 28 54 63 6c 5f jPutKeyList(Tcl_
a910: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
a920: 54 63 6c 5f 4f 62 6a 20 2a 64 69 63 74 50 74 72 Tcl_Obj *dictPtr
a930: 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 ,.. Tcl_Size
a940: 6b 65 79 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 keyc, Tcl_Obj *c
a950: 6f 6e 73 74 20 2a 6b 65 79 76 2c 20 54 63 6c 5f onst *keyv, Tcl_
a960: 4f 62 6a 20 2a 76 61 6c 75 65 50 74 72 29 0a 7d Obj *valuePtr).}
a970: 0a 64 65 63 6c 61 72 65 20 35 30 32 20 7b 0a 20 .declare 502 {.
a980: 20 20 20 69 6e 74 20 54 63 6c 5f 44 69 63 74 4f int Tcl_DictO
a990: 62 6a 52 65 6d 6f 76 65 4b 65 79 4c 69 73 74 28 bjRemoveKeyList(
a9a0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
a9b0: 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 64 69 63 rp, Tcl_Obj *dic
a9c0: 74 50 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 53 tPtr,.. Tcl_S
a9d0: 69 7a 65 20 6b 65 79 63 2c 20 54 63 6c 5f 4f 62 ize keyc, Tcl_Ob
a9e0: 6a 20 2a 63 6f 6e 73 74 20 2a 6b 65 79 76 29 0a j *const *keyv).
a9f0: 7d 0a 64 65 63 6c 61 72 65 20 35 30 33 20 7b 0a }.declare 503 {.
aa00: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c Tcl_Obj *Tcl
aa10: 5f 4e 65 77 44 69 63 74 4f 62 6a 28 76 6f 69 64 _NewDictObj(void
aa20: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 30 34 20 ).}.declare 504
aa30: 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 {. Tcl_Obj *T
aa40: 63 6c 5f 44 62 4e 65 77 44 69 63 74 4f 62 6a 28 cl_DbNewDictObj(
aa50: 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 const char *file
aa60: 2c 20 69 6e 74 20 6c 69 6e 65 29 0a 7d 0a 0a 23 , int line).}..#
aa70: 20 54 49 50 23 35 39 20 28 63 6f 6e 66 69 67 75 TIP#59 (configu
aa80: 72 61 74 69 6f 6e 20 72 65 70 6f 72 74 69 6e 67 ration reporting
aa90: 29 20 61 6b 75 70 72 69 65 73 0a 64 65 63 6c 61 ) akupries.decla
aaa0: 72 65 20 35 30 35 20 7b 0a 20 20 20 20 76 6f 69 re 505 {. voi
aab0: 64 20 54 63 6c 5f 52 65 67 69 73 74 65 72 43 6f d Tcl_RegisterCo
aac0: 6e 66 69 67 28 54 63 6c 5f 49 6e 74 65 72 70 20 nfig(Tcl_Interp
aad0: 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 *interp, const c
aae0: 68 61 72 20 2a 70 6b 67 4e 61 6d 65 2c 0a 09 20 har *pkgName,..
aaf0: 20 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 6f 6e const Tcl_Con
ab00: 66 69 67 20 2a 63 6f 6e 66 69 67 75 72 61 74 69 fig *configurati
ab10: 6f 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a on, const char *
ab20: 76 61 6c 45 6e 63 6f 64 69 6e 67 29 0a 7d 0a 0a valEncoding).}..
ab30: 23 20 54 49 50 20 23 31 33 39 20 28 70 61 72 74 # TIP #139 (part
ab40: 69 61 6c 20 65 78 70 6f 73 75 72 65 20 6f 66 20 ial exposure of
ab50: 6e 61 6d 65 73 70 61 63 65 20 41 50 49 20 2d 20 namespace API -
ab60: 74 72 61 6e 73 66 65 72 72 65 64 20 66 72 6f 6d transferred from
ab70: 20 74 63 6c 49 6e 74 2e 64 65 63 6c 73 29 0a 23 tclInt.decls).#
ab80: 20 64 6b 66 2c 20 41 50 49 20 62 79 20 42 72 65 dkf, API by Bre
ab90: 6e 74 20 57 65 6c 63 68 3f 0a 64 65 63 6c 61 72 nt Welch?.declar
aba0: 65 20 35 30 36 20 7b 0a 20 20 20 20 54 63 6c 5f e 506 {. Tcl_
abb0: 4e 61 6d 65 73 70 61 63 65 20 2a 54 63 6c 5f 43 Namespace *Tcl_C
abc0: 72 65 61 74 65 4e 61 6d 65 73 70 61 63 65 28 54 reateNamespace(T
abd0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
abe0: 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e p, const char *n
abf0: 61 6d 65 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a ame,.. void *
ac00: 63 6c 69 65 6e 74 44 61 74 61 2c 20 54 63 6c 5f clientData, Tcl_
ac10: 4e 61 6d 65 73 70 61 63 65 44 65 6c 65 74 65 50 NamespaceDeleteP
ac20: 72 6f 63 20 2a 64 65 6c 65 74 65 50 72 6f 63 29 roc *deleteProc)
ac30: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 30 37 20 7b .}.declare 507 {
ac40: 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 . void Tcl_De
ac50: 6c 65 74 65 4e 61 6d 65 73 70 61 63 65 28 54 63 leteNamespace(Tc
ac60: 6c 5f 4e 61 6d 65 73 70 61 63 65 20 2a 6e 73 50 l_Namespace *nsP
ac70: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 30 tr).}.declare 50
ac80: 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 8 {. int Tcl_
ac90: 41 70 70 65 6e 64 45 78 70 6f 72 74 4c 69 73 74 AppendExportList
aca0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
acb0: 65 72 70 2c 20 54 63 6c 5f 4e 61 6d 65 73 70 61 erp, Tcl_Namespa
acc0: 63 65 20 2a 6e 73 50 74 72 2c 0a 09 20 20 20 20 ce *nsPtr,..
acd0: 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 Tcl_Obj *objPtr)
ace0: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 30 39 20 7b .}.declare 509 {
acf0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 45 78 70 . int Tcl_Exp
ad00: 6f 72 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ort(Tcl_Interp *
ad10: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4e 61 6d 65 interp, Tcl_Name
ad20: 73 70 61 63 65 20 2a 6e 73 50 74 72 2c 0a 09 20 space *nsPtr,..
ad30: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 const char *p
ad40: 61 74 74 65 72 6e 2c 20 69 6e 74 20 72 65 73 65 attern, int rese
ad50: 74 4c 69 73 74 46 69 72 73 74 29 0a 7d 0a 64 65 tListFirst).}.de
ad60: 63 6c 61 72 65 20 35 31 30 20 7b 0a 20 20 20 20 clare 510 {.
ad70: 69 6e 74 20 54 63 6c 5f 49 6d 70 6f 72 74 28 54 int Tcl_Import(T
ad80: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
ad90: 70 2c 20 54 63 6c 5f 4e 61 6d 65 73 70 61 63 65 p, Tcl_Namespace
ada0: 20 2a 6e 73 50 74 72 2c 0a 09 20 20 20 20 63 6f *nsPtr,.. co
adb0: 6e 73 74 20 63 68 61 72 20 2a 70 61 74 74 65 72 nst char *patter
adc0: 6e 2c 20 69 6e 74 20 61 6c 6c 6f 77 4f 76 65 72 n, int allowOver
add0: 77 72 69 74 65 29 0a 7d 0a 64 65 63 6c 61 72 65 write).}.declare
ade0: 20 35 31 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 511 {. int T
adf0: 63 6c 5f 46 6f 72 67 65 74 49 6d 70 6f 72 74 28 cl_ForgetImport(
ae00: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
ae10: 72 70 2c 20 54 63 6c 5f 4e 61 6d 65 73 70 61 63 rp, Tcl_Namespac
ae20: 65 20 2a 6e 73 50 74 72 2c 0a 09 20 20 20 20 63 e *nsPtr,.. c
ae30: 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 74 74 65 onst char *patte
ae40: 72 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 31 rn).}.declare 51
ae50: 32 20 7b 0a 20 20 20 20 54 63 6c 5f 4e 61 6d 65 2 {. Tcl_Name
ae60: 73 70 61 63 65 20 2a 54 63 6c 5f 47 65 74 43 75 space *Tcl_GetCu
ae70: 72 72 65 6e 74 4e 61 6d 65 73 70 61 63 65 28 54 rrentNamespace(T
ae80: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
ae90: 70 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 31 33 p).}.declare 513
aea0: 20 7b 0a 20 20 20 20 54 63 6c 5f 4e 61 6d 65 73 {. Tcl_Names
aeb0: 70 61 63 65 20 2a 54 63 6c 5f 47 65 74 47 6c 6f pace *Tcl_GetGlo
aec0: 62 61 6c 4e 61 6d 65 73 70 61 63 65 28 54 63 6c balNamespace(Tcl
aed0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 _Interp *interp)
aee0: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 31 34 20 7b .}.declare 514 {
aef0: 0a 20 20 20 20 54 63 6c 5f 4e 61 6d 65 73 70 61 . Tcl_Namespa
af00: 63 65 20 2a 54 63 6c 5f 46 69 6e 64 4e 61 6d 65 ce *Tcl_FindName
af10: 73 70 61 63 65 28 54 63 6c 5f 49 6e 74 65 72 70 space(Tcl_Interp
af20: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
af30: 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 20 20 20 char *name,..
af40: 20 54 63 6c 5f 4e 61 6d 65 73 70 61 63 65 20 2a Tcl_Namespace *
af50: 63 6f 6e 74 65 78 74 4e 73 50 74 72 2c 20 69 6e contextNsPtr, in
af60: 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c 61 t flags).}.decla
af70: 72 65 20 35 31 35 20 7b 0a 20 20 20 20 54 63 6c re 515 {. Tcl
af80: 5f 43 6f 6d 6d 61 6e 64 20 54 63 6c 5f 46 69 6e _Command Tcl_Fin
af90: 64 43 6f 6d 6d 61 6e 64 28 54 63 6c 5f 49 6e 74 dCommand(Tcl_Int
afa0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e erp *interp, con
afb0: 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 st char *name,..
afc0: 20 20 20 20 54 63 6c 5f 4e 61 6d 65 73 70 61 63 Tcl_Namespac
afd0: 65 20 2a 63 6f 6e 74 65 78 74 4e 73 50 74 72 2c e *contextNsPtr,
afe0: 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 int flags).}.de
aff0: 63 6c 61 72 65 20 35 31 36 20 7b 0a 20 20 20 20 clare 516 {.
b000: 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 54 63 6c 5f Tcl_Command Tcl_
b010: 47 65 74 43 6f 6d 6d 61 6e 64 46 72 6f 6d 4f 62 GetCommandFromOb
b020: 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e j(Tcl_Interp *in
b030: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f terp, Tcl_Obj *o
b040: 62 6a 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 bjPtr).}.declare
b050: 20 35 31 37 20 7b 0a 20 20 20 20 76 6f 69 64 20 517 {. void
b060: 54 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e 64 46 75 Tcl_GetCommandFu
b070: 6c 6c 4e 61 6d 65 28 54 63 6c 5f 49 6e 74 65 72 llName(Tcl_Inter
b080: 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 p *interp, Tcl_C
b090: 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2c 0a ommand command,.
b0a0: 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 . Tcl_Obj *ob
b0b0: 6a 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 23 31 jPtr).}..# TIP#1
b0c0: 33 37 20 28 65 6e 63 6f 64 69 6e 67 2d 61 77 61 37 (encoding-awa
b0d0: 72 65 20 73 6f 75 72 63 65 20 63 6f 6d 6d 61 6e re source comman
b0e0: 64 29 20 64 67 70 20 66 6f 72 20 41 6e 74 6f 6e d) dgp for Anton
b0f0: 20 4b 6f 76 61 6c 65 6e 6b 6f 0a 64 65 63 6c 61 Kovalenko.decla
b100: 72 65 20 35 31 38 20 7b 0a 20 20 20 20 69 6e 74 re 518 {. int
b110: 20 54 63 6c 5f 46 53 45 76 61 6c 46 69 6c 65 45 Tcl_FSEvalFileE
b120: 78 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e x(Tcl_Interp *in
b130: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 66 terp, Tcl_Obj *f
b140: 69 6c 65 4e 61 6d 65 2c 0a 09 20 20 20 20 63 6f ileName,.. co
b150: 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 69 nst char *encodi
b160: 6e 67 4e 61 6d 65 29 0a 7d 0a 0a 23 20 54 49 50 ngName).}..# TIP
b170: 23 31 34 33 20 28 72 65 73 6f 75 72 63 65 20 6c #143 (resource l
b180: 69 6d 69 74 73 29 20 64 6b 66 0a 64 65 63 6c 61 imits) dkf.decla
b190: 72 65 20 35 32 30 20 7b 0a 20 20 20 20 76 6f 69 re 520 {. voi
b1a0: 64 20 54 63 6c 5f 4c 69 6d 69 74 41 64 64 48 61 d Tcl_LimitAddHa
b1b0: 6e 64 6c 65 72 28 54 63 6c 5f 49 6e 74 65 72 70 ndler(Tcl_Interp
b1c0: 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 74 79 *interp, int ty
b1d0: 70 65 2c 0a 09 20 20 20 20 54 63 6c 5f 4c 69 6d pe,.. Tcl_Lim
b1e0: 69 74 48 61 6e 64 6c 65 72 50 72 6f 63 20 2a 68 itHandlerProc *h
b1f0: 61 6e 64 6c 65 72 50 72 6f 63 2c 20 76 6f 69 64 andlerProc, void
b200: 20 2a 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 *clientData,..
b210: 20 20 20 54 63 6c 5f 4c 69 6d 69 74 48 61 6e 64 Tcl_LimitHand
b220: 6c 65 72 44 65 6c 65 74 65 50 72 6f 63 20 2a 64 lerDeleteProc *d
b230: 65 6c 65 74 65 50 72 6f 63 29 0a 7d 0a 64 65 63 eleteProc).}.dec
b240: 6c 61 72 65 20 35 32 31 20 7b 0a 20 20 20 20 76 lare 521 {. v
b250: 6f 69 64 20 54 63 6c 5f 4c 69 6d 69 74 52 65 6d oid Tcl_LimitRem
b260: 6f 76 65 48 61 6e 64 6c 65 72 28 54 63 6c 5f 49 oveHandler(Tcl_I
b270: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 nterp *interp, i
b280: 6e 74 20 74 79 70 65 2c 0a 09 20 20 20 20 54 63 nt type,.. Tc
b290: 6c 5f 4c 69 6d 69 74 48 61 6e 64 6c 65 72 50 72 l_LimitHandlerPr
b2a0: 6f 63 20 2a 68 61 6e 64 6c 65 72 50 72 6f 63 2c oc *handlerProc,
b2b0: 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 void *clientDat
b2c0: 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 32 32 a).}.declare 522
b2d0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4c {. int Tcl_L
b2e0: 69 6d 69 74 52 65 61 64 79 28 54 63 6c 5f 49 6e imitReady(Tcl_In
b2f0: 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d 0a terp *interp).}.
b300: 64 65 63 6c 61 72 65 20 35 32 33 20 7b 0a 20 20 declare 523 {.
b310: 20 20 69 6e 74 20 54 63 6c 5f 4c 69 6d 69 74 43 int Tcl_LimitC
b320: 68 65 63 6b 28 54 63 6c 5f 49 6e 74 65 72 70 20 heck(Tcl_Interp
b330: 2a 69 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c 61 *interp).}.decla
b340: 72 65 20 35 32 34 20 7b 0a 20 20 20 20 69 6e 74 re 524 {. int
b350: 20 54 63 6c 5f 4c 69 6d 69 74 45 78 63 65 65 64 Tcl_LimitExceed
b360: 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ed(Tcl_Interp *i
b370: 6e 74 65 72 70 29 0a 7d 0a 64 65 63 6c 61 72 65 nterp).}.declare
b380: 20 35 32 35 20 7b 0a 20 20 20 20 76 6f 69 64 20 525 {. void
b390: 54 63 6c 5f 4c 69 6d 69 74 53 65 74 43 6f 6d 6d Tcl_LimitSetComm
b3a0: 61 6e 64 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 ands(Tcl_Interp
b3b0: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 53 69 7a *interp, Tcl_Siz
b3c0: 65 20 63 6f 6d 6d 61 6e 64 4c 69 6d 69 74 29 0a e commandLimit).
b3d0: 7d 0a 64 65 63 6c 61 72 65 20 35 32 36 20 7b 0a }.declare 526 {.
b3e0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 4c 69 6d void Tcl_Lim
b3f0: 69 74 53 65 74 54 69 6d 65 28 54 63 6c 5f 49 6e itSetTime(Tcl_In
b400: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
b410: 6c 5f 54 69 6d 65 20 2a 74 69 6d 65 4c 69 6d 69 l_Time *timeLimi
b420: 74 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 tPtr).}.declare
b430: 35 32 37 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 527 {. void T
b440: 63 6c 5f 4c 69 6d 69 74 53 65 74 47 72 61 6e 75 cl_LimitSetGranu
b450: 6c 61 72 69 74 79 28 54 63 6c 5f 49 6e 74 65 72 larity(Tcl_Inter
b460: 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 74 p *interp, int t
b470: 79 70 65 2c 20 69 6e 74 20 67 72 61 6e 75 6c 61 ype, int granula
b480: 72 69 74 79 29 0a 7d 0a 64 65 63 6c 61 72 65 20 rity).}.declare
b490: 35 32 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 528 {. int Tc
b4a0: 6c 5f 4c 69 6d 69 74 54 79 70 65 45 6e 61 62 6c l_LimitTypeEnabl
b4b0: 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ed(Tcl_Interp *i
b4c0: 6e 74 65 72 70 2c 20 69 6e 74 20 74 79 70 65 29 nterp, int type)
b4d0: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 32 39 20 7b .}.declare 529 {
b4e0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4c 69 6d . int Tcl_Lim
b4f0: 69 74 54 79 70 65 45 78 63 65 65 64 65 64 28 54 itTypeExceeded(T
b500: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
b510: 70 2c 20 69 6e 74 20 74 79 70 65 29 0a 7d 0a 64 p, int type).}.d
b520: 65 63 6c 61 72 65 20 35 33 30 20 7b 0a 20 20 20 eclare 530 {.
b530: 20 76 6f 69 64 20 54 63 6c 5f 4c 69 6d 69 74 54 void Tcl_LimitT
b540: 79 70 65 53 65 74 28 54 63 6c 5f 49 6e 74 65 72 ypeSet(Tcl_Inter
b550: 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 74 p *interp, int t
b560: 79 70 65 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 ype).}.declare 5
b570: 33 31 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 31 {. void Tc
b580: 6c 5f 4c 69 6d 69 74 54 79 70 65 52 65 73 65 74 l_LimitTypeReset
b590: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
b5a0: 65 72 70 2c 20 69 6e 74 20 74 79 70 65 29 0a 7d erp, int type).}
b5b0: 0a 64 65 63 6c 61 72 65 20 35 33 32 20 7b 0a 20 .declare 532 {.
b5c0: 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f Tcl_Size Tcl_
b5d0: 4c 69 6d 69 74 47 65 74 43 6f 6d 6d 61 6e 64 73 LimitGetCommands
b5e0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
b5f0: 65 72 70 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 erp).}.declare 5
b600: 33 33 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 33 {. void Tc
b610: 6c 5f 4c 69 6d 69 74 47 65 74 54 69 6d 65 28 54 l_LimitGetTime(T
b620: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
b630: 70 2c 20 54 63 6c 5f 54 69 6d 65 20 2a 74 69 6d p, Tcl_Time *tim
b640: 65 4c 69 6d 69 74 50 74 72 29 0a 7d 0a 64 65 63 eLimitPtr).}.dec
b650: 6c 61 72 65 20 35 33 34 20 7b 0a 20 20 20 20 69 lare 534 {. i
b660: 6e 74 20 54 63 6c 5f 4c 69 6d 69 74 47 65 74 47 nt Tcl_LimitGetG
b670: 72 61 6e 75 6c 61 72 69 74 79 28 54 63 6c 5f 49 ranularity(Tcl_I
b680: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 nterp *interp, i
b690: 6e 74 20 74 79 70 65 29 0a 7d 0a 0a 23 20 54 49 nt type).}..# TI
b6a0: 50 23 32 32 36 20 28 69 6e 74 65 72 70 72 65 74 P#226 (interpret
b6b0: 65 72 20 72 65 73 75 6c 74 20 73 74 61 74 65 20 er result state
b6c0: 6d 61 6e 61 67 65 6d 65 6e 74 29 20 64 67 70 0a management) dgp.
b6d0: 64 65 63 6c 61 72 65 20 35 33 35 20 7b 0a 20 20 declare 535 {.
b6e0: 20 20 54 63 6c 5f 49 6e 74 65 72 70 53 74 61 74 Tcl_InterpStat
b6f0: 65 20 54 63 6c 5f 53 61 76 65 49 6e 74 65 72 70 e Tcl_SaveInterp
b700: 53 74 61 74 65 28 54 63 6c 5f 49 6e 74 65 72 70 State(Tcl_Interp
b710: 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 73 74 *interp, int st
b720: 61 74 75 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 atus).}.declare
b730: 35 33 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 536 {. int Tc
b740: 6c 5f 52 65 73 74 6f 72 65 49 6e 74 65 72 70 53 l_RestoreInterpS
b750: 74 61 74 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 tate(Tcl_Interp
b760: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 49 6e 74 *interp, Tcl_Int
b770: 65 72 70 53 74 61 74 65 20 73 74 61 74 65 29 0a erpState state).
b780: 7d 0a 64 65 63 6c 61 72 65 20 35 33 37 20 7b 0a }.declare 537 {.
b790: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 44 69 73 void Tcl_Dis
b7a0: 63 61 72 64 49 6e 74 65 72 70 53 74 61 74 65 28 cardInterpState(
b7b0: 54 63 6c 5f 49 6e 74 65 72 70 53 74 61 74 65 20 Tcl_InterpState
b7c0: 73 74 61 74 65 29 0a 7d 0a 0a 23 20 54 49 50 23 state).}..# TIP#
b7d0: 32 32 37 20 28 72 65 74 75 72 6e 20 6f 70 74 69 227 (return opti
b7e0: 6f 6e 73 20 69 6e 74 65 72 66 61 63 65 29 20 64 ons interface) d
b7f0: 67 70 0a 64 65 63 6c 61 72 65 20 35 33 38 20 7b gp.declare 538 {
b800: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 65 74 . int Tcl_Set
b810: 52 65 74 75 72 6e 4f 70 74 69 6f 6e 73 28 54 63 ReturnOptions(Tc
b820: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
b830: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 70 74 69 6f , Tcl_Obj *optio
b840: 6e 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 33 ns).}.declare 53
b850: 39 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 9 {. Tcl_Obj
b860: 2a 54 63 6c 5f 47 65 74 52 65 74 75 72 6e 4f 70 *Tcl_GetReturnOp
b870: 74 69 6f 6e 73 28 54 63 6c 5f 49 6e 74 65 72 70 tions(Tcl_Interp
b880: 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 72 65 *interp, int re
b890: 73 75 6c 74 29 0a 7d 0a 0a 23 20 54 49 50 23 32 sult).}..# TIP#2
b8a0: 33 35 20 28 65 6e 73 65 6d 62 6c 65 73 29 20 64 35 (ensembles) d
b8b0: 6b 66 0a 64 65 63 6c 61 72 65 20 35 34 30 20 7b kf.declare 540 {
b8c0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 49 73 45 . int Tcl_IsE
b8d0: 6e 73 65 6d 62 6c 65 28 54 63 6c 5f 43 6f 6d 6d nsemble(Tcl_Comm
b8e0: 61 6e 64 20 74 6f 6b 65 6e 29 0a 7d 0a 64 65 63 and token).}.dec
b8f0: 6c 61 72 65 20 35 34 31 20 7b 0a 20 20 20 20 54 lare 541 {. T
b900: 63 6c 5f 43 6f 6d 6d 61 6e 64 20 54 63 6c 5f 43 cl_Command Tcl_C
b910: 72 65 61 74 65 45 6e 73 65 6d 62 6c 65 28 54 63 reateEnsemble(Tc
b920: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
b930: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 , const char *na
b940: 6d 65 2c 0a 09 20 20 20 20 54 63 6c 5f 4e 61 6d me,.. Tcl_Nam
b950: 65 73 70 61 63 65 20 2a 6e 61 6d 65 73 70 61 63 espace *namespac
b960: 65 50 74 72 2c 20 69 6e 74 20 66 6c 61 67 73 29 ePtr, int flags)
b970: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 34 32 20 7b .}.declare 542 {
b980: 0a 20 20 20 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 . Tcl_Command
b990: 20 54 63 6c 5f 46 69 6e 64 45 6e 73 65 6d 62 6c Tcl_FindEnsembl
b9a0: 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e e(Tcl_Interp *in
b9b0: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 terp, Tcl_Obj *c
b9c0: 6d 64 4e 61 6d 65 4f 62 6a 2c 0a 09 20 20 20 20 mdNameObj,..
b9d0: 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 int flags).}.dec
b9e0: 6c 61 72 65 20 35 34 33 20 7b 0a 20 20 20 20 69 lare 543 {. i
b9f0: 6e 74 20 54 63 6c 5f 53 65 74 45 6e 73 65 6d 62 nt Tcl_SetEnsemb
ba00: 6c 65 53 75 62 63 6f 6d 6d 61 6e 64 4c 69 73 74 leSubcommandList
ba10: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
ba20: 65 72 70 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 erp, Tcl_Command
ba30: 20 74 6f 6b 65 6e 2c 0a 09 20 20 20 20 54 63 6c token,.. Tcl
ba40: 5f 4f 62 6a 20 2a 73 75 62 63 6d 64 4c 69 73 74 _Obj *subcmdList
ba50: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 34 34 20 ).}.declare 544
ba60: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 65 {. int Tcl_Se
ba70: 74 45 6e 73 65 6d 62 6c 65 4d 61 70 70 69 6e 67 tEnsembleMapping
ba80: 44 69 63 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 Dict(Tcl_Interp
ba90: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 6f 6d *interp, Tcl_Com
baa0: 6d 61 6e 64 20 74 6f 6b 65 6e 2c 0a 09 20 20 20 mand token,..
bab0: 20 54 63 6c 5f 4f 62 6a 20 2a 6d 61 70 44 69 63 Tcl_Obj *mapDic
bac0: 74 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 34 35 t).}.declare 545
bad0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 {. int Tcl_S
bae0: 65 74 45 6e 73 65 6d 62 6c 65 55 6e 6b 6e 6f 77 etEnsembleUnknow
baf0: 6e 48 61 6e 64 6c 65 72 28 54 63 6c 5f 49 6e 74 nHandler(Tcl_Int
bb00: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
bb10: 5f 43 6f 6d 6d 61 6e 64 20 74 6f 6b 65 6e 2c 0a _Command token,.
bb20: 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 75 6e . Tcl_Obj *un
bb30: 6b 6e 6f 77 6e 4c 69 73 74 29 0a 7d 0a 64 65 63 knownList).}.dec
bb40: 6c 61 72 65 20 35 34 36 20 7b 0a 20 20 20 20 69 lare 546 {. i
bb50: 6e 74 20 54 63 6c 5f 53 65 74 45 6e 73 65 6d 62 nt Tcl_SetEnsemb
bb60: 6c 65 46 6c 61 67 73 28 54 63 6c 5f 49 6e 74 65 leFlags(Tcl_Inte
bb70: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
bb80: 43 6f 6d 6d 61 6e 64 20 74 6f 6b 65 6e 2c 20 69 Command token, i
bb90: 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 65 63 6c nt flags).}.decl
bba0: 61 72 65 20 35 34 37 20 7b 0a 20 20 20 20 69 6e are 547 {. in
bbb0: 74 20 54 63 6c 5f 47 65 74 45 6e 73 65 6d 62 6c t Tcl_GetEnsembl
bbc0: 65 53 75 62 63 6f 6d 6d 61 6e 64 4c 69 73 74 28 eSubcommandList(
bbd0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
bbe0: 72 70 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 rp, Tcl_Command
bbf0: 74 6f 6b 65 6e 2c 0a 09 20 20 20 20 54 63 6c 5f token,.. Tcl_
bc00: 4f 62 6a 20 2a 2a 73 75 62 63 6d 64 4c 69 73 74 Obj **subcmdList
bc10: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 Ptr).}.declare 5
bc20: 34 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 48 {. int Tcl
bc30: 5f 47 65 74 45 6e 73 65 6d 62 6c 65 4d 61 70 70 _GetEnsembleMapp
bc40: 69 6e 67 44 69 63 74 28 54 63 6c 5f 49 6e 74 65 ingDict(Tcl_Inte
bc50: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
bc60: 43 6f 6d 6d 61 6e 64 20 74 6f 6b 65 6e 2c 0a 09 Command token,..
bc70: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 2a 6d 61 Tcl_Obj **ma
bc80: 70 44 69 63 74 50 74 72 29 0a 7d 0a 64 65 63 6c pDictPtr).}.decl
bc90: 61 72 65 20 35 34 39 20 7b 0a 20 20 20 20 69 6e are 549 {. in
bca0: 74 20 54 63 6c 5f 47 65 74 45 6e 73 65 6d 62 6c t Tcl_GetEnsembl
bcb0: 65 55 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 28 eUnknownHandler(
bcc0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
bcd0: 72 70 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 rp, Tcl_Command
bce0: 74 6f 6b 65 6e 2c 0a 09 20 20 20 20 54 63 6c 5f token,.. Tcl_
bcf0: 4f 62 6a 20 2a 2a 75 6e 6b 6e 6f 77 6e 4c 69 73 Obj **unknownLis
bd00: 74 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 tPtr).}.declare
bd10: 35 35 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 550 {. int Tc
bd20: 6c 5f 47 65 74 45 6e 73 65 6d 62 6c 65 46 6c 61 l_GetEnsembleFla
bd30: 67 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 gs(Tcl_Interp *i
bd40: 6e 74 65 72 70 2c 20 54 63 6c 5f 43 6f 6d 6d 61 nterp, Tcl_Comma
bd50: 6e 64 20 74 6f 6b 65 6e 2c 0a 09 20 20 20 20 69 nd token,.. i
bd60: 6e 74 20 2a 66 6c 61 67 73 50 74 72 29 0a 7d 0a nt *flagsPtr).}.
bd70: 64 65 63 6c 61 72 65 20 35 35 31 20 7b 0a 20 20 declare 551 {.
bd80: 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 45 6e 73 int Tcl_GetEns
bd90: 65 6d 62 6c 65 4e 61 6d 65 73 70 61 63 65 28 54 embleNamespace(T
bda0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
bdb0: 70 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 74 p, Tcl_Command t
bdc0: 6f 6b 65 6e 2c 0a 09 20 20 20 20 54 63 6c 5f 4e oken,.. Tcl_N
bdd0: 61 6d 65 73 70 61 63 65 20 2a 2a 6e 61 6d 65 73 amespace **names
bde0: 70 61 63 65 50 74 72 50 74 72 29 0a 7d 0a 0a 23 pacePtrPtr).}..#
bdf0: 20 54 49 50 23 32 33 33 20 28 76 69 72 74 75 61 TIP#233 (virtua
be00: 6c 69 7a 65 64 20 74 69 6d 65 29 20 61 6b 75 70 lized time) akup
be10: 72 69 65 73 0a 64 65 63 6c 61 72 65 20 35 35 32 ries.declare 552
be20: 20 7b 64 65 70 72 65 63 61 74 65 64 20 7b 4e 6f {deprecated {No
be30: 20 6c 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 65 longer supporte
be40: 64 7d 7d 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 d}} {. void T
be50: 63 6c 5f 53 65 74 54 69 6d 65 50 72 6f 63 28 54 cl_SetTimeProc(T
be60: 63 6c 5f 47 65 74 54 69 6d 65 50 72 6f 63 20 2a cl_GetTimeProc *
be70: 67 65 74 50 72 6f 63 2c 0a 09 20 20 20 20 54 63 getProc,.. Tc
be80: 6c 5f 53 63 61 6c 65 54 69 6d 65 50 72 6f 63 20 l_ScaleTimeProc
be90: 2a 73 63 61 6c 65 50 72 6f 63 2c 0a 09 20 20 20 *scaleProc,..
bea0: 20 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 void *clientDat
beb0: 61 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 35 33 a).}.declare 553
bec0: 20 7b 64 65 70 72 65 63 61 74 65 64 20 7b 4e 6f {deprecated {No
bed0: 20 6c 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 65 longer supporte
bee0: 64 7d 7d 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 d}} {. void T
bef0: 63 6c 5f 51 75 65 72 79 54 69 6d 65 50 72 6f 63 cl_QueryTimeProc
bf00: 28 54 63 6c 5f 47 65 74 54 69 6d 65 50 72 6f 63 (Tcl_GetTimeProc
bf10: 20 2a 2a 67 65 74 50 72 6f 63 2c 0a 09 20 20 20 **getProc,..
bf20: 20 54 63 6c 5f 53 63 61 6c 65 54 69 6d 65 50 72 Tcl_ScaleTimePr
bf30: 6f 63 20 2a 2a 73 63 61 6c 65 50 72 6f 63 2c 0a oc **scaleProc,.
bf40: 09 20 20 20 20 76 6f 69 64 20 2a 2a 63 6c 69 65 . void **clie
bf50: 6e 74 44 61 74 61 29 0a 7d 0a 0a 23 20 54 49 50 ntData).}..# TIP
bf60: 23 32 31 38 20 28 64 72 69 76 65 72 20 74 68 72 #218 (driver thr
bf70: 65 61 64 20 61 63 74 69 6f 6e 73 29 20 64 61 76 ead actions) dav
bf80: 79 67 72 76 79 2f 61 6b 75 70 72 69 65 73 20 43 ygrvy/akupries C
bf90: 68 61 6e 6e 65 6c 54 79 70 65 20 76 65 72 20 34 hannelType ver 4
bfa0: 0a 64 65 63 6c 61 72 65 20 35 35 34 20 7b 0a 20 .declare 554 {.
bfb0: 20 20 20 54 63 6c 5f 44 72 69 76 65 72 54 68 72 Tcl_DriverThr
bfc0: 65 61 64 41 63 74 69 6f 6e 50 72 6f 63 20 2a 54 eadActionProc *T
bfd0: 63 6c 5f 43 68 61 6e 6e 65 6c 54 68 72 65 61 64 cl_ChannelThread
bfe0: 41 63 74 69 6f 6e 50 72 6f 63 28 0a 09 20 20 20 ActionProc(..
bff0: 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e 6e const Tcl_Chann
c000: 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 65 elType *chanType
c010: 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 23 32 33 Ptr).}..# TIP#23
c020: 37 20 28 61 72 62 69 74 72 61 72 79 2d 70 72 65 7 (arbitrary-pre
c030: 63 69 73 69 6f 6e 20 69 6e 74 65 67 65 72 73 29 cision integers)
c040: 20 6b 62 6b 0a 64 65 63 6c 61 72 65 20 35 35 35 kbk.declare 555
c050: 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a {. Tcl_Obj *
c060: 54 63 6c 5f 4e 65 77 42 69 67 6e 75 6d 4f 62 6a Tcl_NewBignumObj
c070: 28 76 6f 69 64 20 2a 76 61 6c 75 65 29 0a 7d 0a (void *value).}.
c080: 64 65 63 6c 61 72 65 20 35 35 36 20 7b 0a 20 20 declare 556 {.
c090: 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 44 Tcl_Obj *Tcl_D
c0a0: 62 4e 65 77 42 69 67 6e 75 6d 4f 62 6a 28 76 6f bNewBignumObj(vo
c0b0: 69 64 20 2a 76 61 6c 75 65 2c 20 63 6f 6e 73 74 id *value, const
c0c0: 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 char *file, int
c0d0: 20 6c 69 6e 65 29 0a 7d 0a 64 65 63 6c 61 72 65 line).}.declare
c0e0: 20 35 35 37 20 7b 0a 20 20 20 20 76 6f 69 64 20 557 {. void
c0f0: 54 63 6c 5f 53 65 74 42 69 67 6e 75 6d 4f 62 6a Tcl_SetBignumObj
c100: 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 2c 20 76 (Tcl_Obj *obj, v
c110: 6f 69 64 20 2a 76 61 6c 75 65 29 0a 7d 0a 64 65 oid *value).}.de
c120: 63 6c 61 72 65 20 35 35 38 20 7b 0a 20 20 20 20 clare 558 {.
c130: 69 6e 74 20 54 63 6c 5f 47 65 74 42 69 67 6e 75 int Tcl_GetBignu
c140: 6d 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 mFromObj(Tcl_Int
c150: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
c160: 5f 4f 62 6a 20 2a 6f 62 6a 2c 20 76 6f 69 64 20 _Obj *obj, void
c170: 2a 76 61 6c 75 65 29 0a 7d 0a 64 65 63 6c 61 72 *value).}.declar
c180: 65 20 35 35 39 20 7b 0a 20 20 20 20 69 6e 74 20 e 559 {. int
c190: 54 63 6c 5f 54 61 6b 65 42 69 67 6e 75 6d 46 72 Tcl_TakeBignumFr
c1a0: 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 omObj(Tcl_Interp
c1b0: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 *interp, Tcl_Ob
c1c0: 6a 20 2a 6f 62 6a 2c 20 76 6f 69 64 20 2a 76 61 j *obj, void *va
c1d0: 6c 75 65 29 0a 7d 0a 0a 23 20 54 49 50 20 23 32 lue).}..# TIP #2
c1e0: 30 38 20 28 27 63 68 61 6e 27 20 63 6f 6d 6d 61 08 ('chan' comma
c1f0: 6e 64 29 20 6a 65 66 66 68 0a 64 65 63 6c 61 72 nd) jeffh.declar
c200: 65 20 35 36 30 20 7b 0a 20 20 20 20 69 6e 74 20 e 560 {. int
c210: 54 63 6c 5f 54 72 75 6e 63 61 74 65 43 68 61 6e Tcl_TruncateChan
c220: 6e 65 6c 28 54 63 6c 5f 43 68 61 6e 6e 65 6c 20 nel(Tcl_Channel
c230: 63 68 61 6e 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 chan, long long
c240: 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 6c 61 72 length).}.declar
c250: 65 20 35 36 31 20 7b 0a 20 20 20 20 54 63 6c 5f e 561 {. Tcl_
c260: 44 72 69 76 65 72 54 72 75 6e 63 61 74 65 50 72 DriverTruncatePr
c270: 6f 63 20 2a 54 63 6c 5f 43 68 61 6e 6e 65 6c 54 oc *Tcl_ChannelT
c280: 72 75 6e 63 61 74 65 50 72 6f 63 28 0a 09 20 20 runcateProc(..
c290: 20 20 63 6f 6e 73 74 20 54 63 6c 5f 43 68 61 6e const Tcl_Chan
c2a0: 6e 65 6c 54 79 70 65 20 2a 63 68 61 6e 54 79 70 nelType *chanTyp
c2b0: 65 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 23 32 ePtr).}..# TIP#2
c2c0: 31 39 20 28 63 68 61 6e 6e 65 6c 20 72 65 66 6c 19 (channel refl
c2d0: 65 63 74 69 6f 6e 20 61 70 69 29 20 61 6b 75 70 ection api) akup
c2e0: 72 69 65 73 0a 64 65 63 6c 61 72 65 20 35 36 32 ries.declare 562
c2f0: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
c300: 53 65 74 43 68 61 6e 6e 65 6c 45 72 72 6f 72 49 SetChannelErrorI
c310: 6e 74 65 72 70 28 54 63 6c 5f 49 6e 74 65 72 70 nterp(Tcl_Interp
c320: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 *interp, Tcl_Ob
c330: 6a 20 2a 6d 73 67 29 0a 7d 0a 64 65 63 6c 61 72 j *msg).}.declar
c340: 65 20 35 36 33 20 7b 0a 20 20 20 20 76 6f 69 64 e 563 {. void
c350: 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 45 Tcl_GetChannelE
c360: 72 72 6f 72 49 6e 74 65 72 70 28 54 63 6c 5f 49 rrorInterp(Tcl_I
c370: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
c380: 63 6c 5f 4f 62 6a 20 2a 2a 6d 73 67 29 0a 7d 0a cl_Obj **msg).}.
c390: 64 65 63 6c 61 72 65 20 35 36 34 20 7b 0a 20 20 declare 564 {.
c3a0: 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 43 68 void Tcl_SetCh
c3b0: 61 6e 6e 65 6c 45 72 72 6f 72 28 54 63 6c 5f 43 annelError(Tcl_C
c3c0: 68 61 6e 6e 65 6c 20 63 68 61 6e 2c 20 54 63 6c hannel chan, Tcl
c3d0: 5f 4f 62 6a 20 2a 6d 73 67 29 0a 7d 0a 64 65 63 _Obj *msg).}.dec
c3e0: 6c 61 72 65 20 35 36 35 20 7b 0a 20 20 20 20 76 lare 565 {. v
c3f0: 6f 69 64 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e oid Tcl_GetChann
c400: 65 6c 45 72 72 6f 72 28 54 63 6c 5f 43 68 61 6e elError(Tcl_Chan
c410: 6e 65 6c 20 63 68 61 6e 2c 20 54 63 6c 5f 4f 62 nel chan, Tcl_Ob
c420: 6a 20 2a 2a 6d 73 67 29 0a 7d 0a 0a 23 20 54 49 j **msg).}..# TI
c430: 50 20 23 32 33 37 20 28 61 64 64 69 74 69 6f 6e P #237 (addition
c440: 61 6c 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 75 al conversion fu
c450: 6e 63 74 69 6f 6e 73 20 66 6f 72 20 62 69 67 6e nctions for bign
c460: 75 6d 20 73 75 70 70 6f 72 74 29 20 6b 62 6b 2f um support) kbk/
c470: 64 67 70 0a 64 65 63 6c 61 72 65 20 35 36 36 20 dgp.declare 566
c480: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 49 6e {. int Tcl_In
c490: 69 74 42 69 67 6e 75 6d 46 72 6f 6d 44 6f 75 62 itBignumFromDoub
c4a0: 6c 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 le(Tcl_Interp *i
c4b0: 6e 74 65 72 70 2c 20 64 6f 75 62 6c 65 20 69 6e nterp, double in
c4c0: 69 74 76 61 6c 2c 0a 09 20 20 20 20 76 6f 69 64 itval,.. void
c4d0: 20 2a 74 6f 49 6e 69 74 29 0a 7d 0a 0a 23 20 54 *toInit).}..# T
c4e0: 49 50 23 31 38 31 20 28 6e 61 6d 65 73 70 61 63 IP#181 (namespac
c4f0: 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e e unknown comman
c500: 64 29 20 64 67 70 20 66 6f 72 20 4e 65 69 6c 20 d) dgp for Neil
c510: 4d 61 64 64 65 6e 0a 64 65 63 6c 61 72 65 20 35 Madden.declare 5
c520: 36 37 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 67 {. Tcl_Obj
c530: 20 2a 54 63 6c 5f 47 65 74 4e 61 6d 65 73 70 61 *Tcl_GetNamespa
c540: 63 65 55 6e 6b 6e 6f 77 6e 48 61 6e 64 6c 65 72 ceUnknownHandler
c550: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
c560: 65 72 70 2c 0a 09 20 20 20 20 54 63 6c 5f 4e 61 erp,.. Tcl_Na
c570: 6d 65 73 70 61 63 65 20 2a 6e 73 50 74 72 29 0a mespace *nsPtr).
c580: 7d 0a 64 65 63 6c 61 72 65 20 35 36 38 20 7b 0a }.declare 568 {.
c590: 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 65 74 4e int Tcl_SetN
c5a0: 61 6d 65 73 70 61 63 65 55 6e 6b 6e 6f 77 6e 48 amespaceUnknownH
c5b0: 61 6e 64 6c 65 72 28 54 63 6c 5f 49 6e 74 65 72 andler(Tcl_Inter
c5c0: 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 20 20 20 p *interp,..
c5d0: 54 63 6c 5f 4e 61 6d 65 73 70 61 63 65 20 2a 6e Tcl_Namespace *n
c5e0: 73 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 2a 68 sPtr, Tcl_Obj *h
c5f0: 61 6e 64 6c 65 72 50 74 72 29 0a 7d 0a 0a 23 20 andlerPtr).}..#
c600: 54 49 50 23 32 35 38 20 28 65 6e 68 61 6e 63 65 TIP#258 (enhance
c610: 64 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 d interface for
c620: 65 6e 63 6f 64 69 6e 67 73 29 20 64 67 70 0a 64 encodings) dgp.d
c630: 65 63 6c 61 72 65 20 35 36 39 20 7b 0a 20 20 20 eclare 569 {.
c640: 20 69 6e 74 20 54 63 6c 5f 47 65 74 45 6e 63 6f int Tcl_GetEnco
c650: 64 69 6e 67 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f dingFromObj(Tcl_
c660: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
c670: 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c Tcl_Obj *objPtr,
c680: 0a 09 20 20 20 20 54 63 6c 5f 45 6e 63 6f 64 69 .. Tcl_Encodi
c690: 6e 67 20 2a 65 6e 63 6f 64 69 6e 67 50 74 72 29 ng *encodingPtr)
c6a0: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 37 30 20 7b .}.declare 570 {
c6b0: 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 . Tcl_Obj *Tc
c6c0: 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 53 65 61 l_GetEncodingSea
c6d0: 72 63 68 50 61 74 68 28 76 6f 69 64 29 0a 7d 0a rchPath(void).}.
c6e0: 64 65 63 6c 61 72 65 20 35 37 31 20 7b 0a 20 20 declare 571 {.
c6f0: 20 20 69 6e 74 20 54 63 6c 5f 53 65 74 45 6e 63 int Tcl_SetEnc
c700: 6f 64 69 6e 67 53 65 61 72 63 68 50 61 74 68 28 odingSearchPath(
c710: 54 63 6c 5f 4f 62 6a 20 2a 73 65 61 72 63 68 50 Tcl_Obj *searchP
c720: 61 74 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 ath).}.declare 5
c730: 37 32 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 72 {. const c
c740: 68 61 72 20 2a 54 63 6c 5f 47 65 74 45 6e 63 6f har *Tcl_GetEnco
c750: 64 69 6e 67 4e 61 6d 65 46 72 6f 6d 45 6e 76 69 dingNameFromEnvi
c760: 72 6f 6e 6d 65 6e 74 28 54 63 6c 5f 44 53 74 72 ronment(Tcl_DStr
c770: 69 6e 67 20 2a 62 75 66 50 74 72 29 0a 7d 0a 0a ing *bufPtr).}..
c780: 23 20 54 49 50 23 32 36 38 20 28 65 78 74 65 6e # TIP#268 (exten
c790: 64 65 64 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 ded version numb
c7a0: 65 72 73 20 61 6e 64 20 72 65 71 75 69 72 65 6d ers and requirem
c7b0: 65 6e 74 73 29 20 61 6b 75 70 72 69 65 73 0a 64 ents) akupries.d
c7c0: 65 63 6c 61 72 65 20 35 37 33 20 7b 0a 20 20 20 eclare 573 {.
c7d0: 20 69 6e 74 20 54 63 6c 5f 50 6b 67 52 65 71 75 int Tcl_PkgRequ
c7e0: 69 72 65 50 72 6f 63 28 54 63 6c 5f 49 6e 74 65 ireProc(Tcl_Inte
c7f0: 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 rp *interp, cons
c800: 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 20 t char *name,..
c810: 20 20 20 54 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 Tcl_Size objc
c820: 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 , Tcl_Obj *const
c830: 20 6f 62 6a 76 5b 5d 2c 20 76 6f 69 64 20 2a 63 objv[], void *c
c840: 6c 69 65 6e 74 44 61 74 61 50 74 72 29 0a 7d 0a lientDataPtr).}.
c850: 0a 23 20 54 49 50 23 32 37 30 20 28 75 74 69 6c .# TIP#270 (util
c860: 69 74 79 20 43 20 72 6f 75 74 69 6e 65 73 20 66 ity C routines f
c870: 6f 72 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 or string format
c880: 74 69 6e 67 29 20 64 67 70 0a 64 65 63 6c 61 72 ting) dgp.declar
c890: 65 20 35 37 34 20 7b 0a 20 20 20 20 76 6f 69 64 e 574 {. void
c8a0: 20 54 63 6c 5f 41 70 70 65 6e 64 4f 62 6a 54 6f Tcl_AppendObjTo
c8b0: 45 72 72 6f 72 49 6e 66 6f 28 54 63 6c 5f 49 6e ErrorInfo(Tcl_In
c8c0: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
c8d0: 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 0a 7d l_Obj *objPtr).}
c8e0: 0a 64 65 63 6c 61 72 65 20 35 37 35 20 7b 0a 20 .declare 575 {.
c8f0: 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 70 70 65 void Tcl_Appe
c900: 6e 64 4c 69 6d 69 74 65 64 54 6f 4f 62 6a 28 54 ndLimitedToObj(T
c910: 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 cl_Obj *objPtr,
c920: 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 79 74 65 const char *byte
c930: 73 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 s,.. Tcl_Size
c940: 20 6c 65 6e 67 74 68 2c 20 54 63 6c 5f 53 69 7a length, Tcl_Siz
c950: 65 20 6c 69 6d 69 74 2c 20 63 6f 6e 73 74 20 63 e limit, const c
c960: 68 61 72 20 2a 65 6c 6c 69 70 73 69 73 29 0a 7d har *ellipsis).}
c970: 0a 64 65 63 6c 61 72 65 20 35 37 36 20 7b 0a 20 .declare 576 {.
c980: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f Tcl_Obj *Tcl_
c990: 46 6f 72 6d 61 74 28 54 63 6c 5f 49 6e 74 65 72 Format(Tcl_Inter
c9a0: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 p *interp, const
c9b0: 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 54 char *format, T
c9c0: 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 2c 0a 09 20 cl_Size objc,..
c9d0: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 Tcl_Obj *cons
c9e0: 74 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 65 63 6c t objv[]).}.decl
c9f0: 61 72 65 20 35 37 37 20 7b 0a 20 20 20 20 69 6e are 577 {. in
ca00: 74 20 54 63 6c 5f 41 70 70 65 6e 64 46 6f 72 6d t Tcl_AppendForm
ca10: 61 74 54 6f 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 atToObj(Tcl_Inte
ca20: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
ca30: 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 Obj *objPtr,..
ca40: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f const char *fo
ca50: 72 6d 61 74 2c 20 54 63 6c 5f 53 69 7a 65 20 6f rmat, Tcl_Size o
ca60: 62 6a 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f bjc, Tcl_Obj *co
ca70: 6e 73 74 20 6f 62 6a 76 5b 5d 29 0a 7d 0a 64 65 nst objv[]).}.de
ca80: 63 6c 61 72 65 20 35 37 38 20 7b 0a 20 20 20 20 clare 578 {.
ca90: 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f 4f 62 6a Tcl_Obj *Tcl_Obj
caa0: 50 72 69 6e 74 66 28 63 6f 6e 73 74 20 63 68 61 Printf(const cha
cab0: 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e 2e 29 0a r *format, ...).
cac0: 7d 0a 64 65 63 6c 61 72 65 20 35 37 39 20 7b 0a }.declare 579 {.
cad0: 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 41 70 70 void Tcl_App
cae0: 65 6e 64 50 72 69 6e 74 66 54 6f 4f 62 6a 28 54 endPrintfToObj(T
caf0: 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 cl_Obj *objPtr,
cb00: 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d const char *form
cb10: 61 74 2c 20 2e 2e 2e 29 0a 7d 0a 0a 23 20 2d 2d at, ...).}..# --
cb20: 2d 2d 2d 20 42 41 53 45 4c 49 4e 45 20 2d 2d 20 --- BASELINE --
cb30: 46 4f 52 20 2d 2d 20 38 2e 35 2e 30 20 2d 2d 2d FOR -- 8.5.0 ---
cb40: 2d 2d 20 23 0a 0a 23 20 54 49 50 20 23 32 38 35 -- #..# TIP #285
cb50: 20 28 73 63 72 69 70 74 20 63 61 6e 63 65 6c 6c (script cancell
cb60: 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 29 20 6a ation support) j
cb70: 6d 69 73 74 61 63 68 6b 69 6e 0a 64 65 63 6c 61 mistachkin.decla
cb80: 72 65 20 35 38 30 20 7b 0a 20 20 20 20 69 6e 74 re 580 {. int
cb90: 20 54 63 6c 5f 43 61 6e 63 65 6c 45 76 61 6c 28 Tcl_CancelEval(
cba0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
cbb0: 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 72 65 73 rp, Tcl_Obj *res
cbc0: 75 6c 74 4f 62 6a 50 74 72 2c 0a 09 20 20 20 20 ultObjPtr,..
cbd0: 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 void *clientData
cbe0: 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 64 , int flags).}.d
cbf0: 65 63 6c 61 72 65 20 35 38 31 20 7b 0a 20 20 20 eclare 581 {.
cc00: 20 69 6e 74 20 54 63 6c 5f 43 61 6e 63 65 6c 65 int Tcl_Cancele
cc10: 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e d(Tcl_Interp *in
cc20: 74 65 72 70 2c 20 69 6e 74 20 66 6c 61 67 73 29 terp, int flags)
cc30: 0a 7d 0a 0a 23 20 54 49 50 23 33 30 34 20 28 63 .}..# TIP#304 (c
cc40: 68 61 6e 20 70 69 70 65 29 20 61 66 65 72 72 69 han pipe) aferri
cc50: 65 75 78 0a 64 65 63 6c 61 72 65 20 35 38 32 20 eux.declare 582
cc60: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 43 72 {. int Tcl_Cr
cc70: 65 61 74 65 50 69 70 65 28 54 63 6c 5f 49 6e 74 eatePipe(Tcl_Int
cc80: 65 72 70 20 20 2a 69 6e 74 65 72 70 2c 20 54 63 erp *interp, Tc
cc90: 6c 5f 43 68 61 6e 6e 65 6c 20 2a 72 63 68 61 6e l_Channel *rchan
cca0: 2c 0a 09 20 20 20 20 54 63 6c 5f 43 68 61 6e 6e ,.. Tcl_Chann
ccb0: 65 6c 20 2a 77 63 68 61 6e 2c 20 69 6e 74 20 66 el *wchan, int f
ccc0: 6c 61 67 73 29 0a 7d 0a 0a 23 20 54 49 50 20 23 lags).}..# TIP #
ccd0: 33 32 32 20 28 4e 52 45 20 70 75 62 6c 69 63 20 322 (NRE public
cce0: 69 6e 74 65 72 66 61 63 65 29 20 6d 73 6f 66 65 interface) msofe
ccf0: 72 0a 64 65 63 6c 61 72 65 20 35 38 33 20 7b 0a r.declare 583 {.
cd00: 20 20 20 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 20 Tcl_Command
cd10: 54 63 6c 5f 4e 52 43 72 65 61 74 65 43 6f 6d 6d Tcl_NRCreateComm
cd20: 61 6e 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a and(Tcl_Interp *
cd30: 69 6e 74 65 72 70 2c 0a 09 20 20 20 20 63 6f 6e interp,.. con
cd40: 73 74 20 63 68 61 72 20 2a 63 6d 64 4e 61 6d 65 st char *cmdName
cd50: 2c 20 54 63 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 , Tcl_ObjCmdProc
cd60: 20 2a 70 72 6f 63 2c 0a 09 20 20 20 20 54 63 6c *proc,.. Tcl
cd70: 5f 4f 62 6a 43 6d 64 50 72 6f 63 20 2a 6e 72 65 _ObjCmdProc *nre
cd80: 50 72 6f 63 2c 20 76 6f 69 64 20 2a 63 6c 69 65 Proc, void *clie
cd90: 6e 74 44 61 74 61 2c 0a 09 20 20 20 20 54 63 6c ntData,.. Tcl
cda0: 5f 43 6d 64 44 65 6c 65 74 65 50 72 6f 63 20 2a _CmdDeleteProc *
cdb0: 64 65 6c 65 74 65 50 72 6f 63 29 0a 7d 0a 64 65 deleteProc).}.de
cdc0: 63 6c 61 72 65 20 35 38 34 20 7b 0a 20 20 20 20 clare 584 {.
cdd0: 69 6e 74 20 54 63 6c 5f 4e 52 45 76 61 6c 4f 62 int Tcl_NREvalOb
cde0: 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e j(Tcl_Interp *in
cdf0: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f terp, Tcl_Obj *o
ce00: 62 6a 50 74 72 2c 20 69 6e 74 20 66 6c 61 67 73 bjPtr, int flags
ce10: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 38 35 20 ).}.declare 585
ce20: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4e 52 {. int Tcl_NR
ce30: 45 76 61 6c 4f 62 6a 76 28 54 63 6c 5f 49 6e 74 EvalObjv(Tcl_Int
ce40: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
ce50: 5f 53 69 7a 65 20 6f 62 6a 63 2c 0a 09 20 20 20 _Size objc,..
ce60: 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 Tcl_Obj *const
ce70: 6f 62 6a 76 5b 5d 2c 20 69 6e 74 20 66 6c 61 67 objv[], int flag
ce80: 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 38 36 s).}.declare 586
ce90: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4e {. int Tcl_N
cea0: 52 43 6d 64 53 77 61 70 28 54 63 6c 5f 49 6e 74 RCmdSwap(Tcl_Int
ceb0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
cec0: 5f 43 6f 6d 6d 61 6e 64 20 63 6d 64 2c 20 54 63 _Command cmd, Tc
ced0: 6c 5f 53 69 7a 65 20 6f 62 6a 63 2c 0a 09 20 20 l_Size objc,..
cee0: 20 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 Tcl_Obj *const
cef0: 20 6f 62 6a 76 5b 5d 2c 20 69 6e 74 20 66 6c 61 objv[], int fla
cf00: 67 73 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 38 gs).}.declare 58
cf10: 37 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 7 {. void Tcl
cf20: 5f 4e 52 41 64 64 43 61 6c 6c 62 61 63 6b 28 54 _NRAddCallback(T
cf30: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
cf40: 70 2c 20 54 63 6c 5f 4e 52 50 6f 73 74 50 72 6f p, Tcl_NRPostPro
cf50: 63 20 2a 70 6f 73 74 50 72 6f 63 50 74 72 2c 0a c *postProcPtr,.
cf60: 09 20 20 20 20 76 6f 69 64 20 2a 64 61 74 61 30 . void *data0
cf70: 2c 20 76 6f 69 64 20 2a 64 61 74 61 31 2c 20 76 , void *data1, v
cf80: 6f 69 64 20 2a 64 61 74 61 32 2c 0a 09 20 20 20 oid *data2,..
cf90: 20 76 6f 69 64 20 2a 64 61 74 61 33 29 0a 7d 0a void *data3).}.
cfa0: 23 20 46 6f 72 20 75 73 65 20 62 79 20 4e 52 20 # For use by NR
cfb0: 65 78 74 65 6e 64 65 72 73 2c 20 74 6f 20 68 61 extenders, to ha
cfc0: 76 65 20 61 20 73 69 6d 70 6c 65 20 77 61 79 20 ve a simple way
cfd0: 74 6f 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 20 to also provide
cfe0: 61 20 28 72 65 71 75 69 72 65 64 21 29 0a 23 20 a (required!).#
cff0: 63 6c 61 73 73 69 63 20 6f 62 6a 50 72 6f 63 0a classic objProc.
d000: 64 65 63 6c 61 72 65 20 35 38 38 20 7b 0a 20 20 declare 588 {.
d010: 20 20 69 6e 74 20 54 63 6c 5f 4e 52 43 61 6c 6c int Tcl_NRCall
d020: 4f 62 6a 50 72 6f 63 28 54 63 6c 5f 49 6e 74 65 ObjProc(Tcl_Inte
d030: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
d040: 4f 62 6a 43 6d 64 50 72 6f 63 20 2a 6f 62 6a 50 ObjCmdProc *objP
d050: 72 6f 63 2c 0a 09 20 20 20 20 76 6f 69 64 20 2a roc,.. void *
d060: 63 6c 69 65 6e 74 44 61 74 61 2c 20 54 63 6c 5f clientData, Tcl_
d070: 53 69 7a 65 20 6f 62 6a 63 2c 20 54 63 6c 5f 4f Size objc, Tcl_O
d080: 62 6a 20 2a 63 6f 6e 73 74 20 6f 62 6a 76 5b 5d bj *const objv[]
d090: 29 0a 7d 0a 0a 23 20 54 49 50 23 33 31 36 20 28 ).}..# TIP#316 (
d0a0: 54 63 6c 5f 53 74 61 74 42 75 66 20 72 65 61 64 Tcl_StatBuf read
d0b0: 65 72 20 66 75 6e 63 74 69 6f 6e 73 29 20 64 6b er functions) dk
d0c0: 66 0a 64 65 63 6c 61 72 65 20 35 38 39 20 7b 0a f.declare 589 {.
d0d0: 20 20 20 20 75 6e 73 69 67 6e 65 64 20 54 63 6c unsigned Tcl
d0e0: 5f 47 65 74 46 53 44 65 76 69 63 65 46 72 6f 6d _GetFSDeviceFrom
d0f0: 53 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 Stat(const Tcl_S
d100: 74 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 tatBuf *statPtr)
d110: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 39 30 20 7b .}.declare 590 {
d120: 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 54 63 . unsigned Tc
d130: 6c 5f 47 65 74 46 53 49 6e 6f 64 65 46 72 6f 6d l_GetFSInodeFrom
d140: 53 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 Stat(const Tcl_S
d150: 74 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 tatBuf *statPtr)
d160: 0a 7d 0a 64 65 63 6c 61 72 65 20 35 39 31 20 7b .}.declare 591 {
d170: 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 54 63 . unsigned Tc
d180: 6c 5f 47 65 74 4d 6f 64 65 46 72 6f 6d 53 74 61 l_GetModeFromSta
d190: 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 74 61 74 t(const Tcl_Stat
d1a0: 42 75 66 20 2a 73 74 61 74 50 74 72 29 0a 7d 0a Buf *statPtr).}.
d1b0: 64 65 63 6c 61 72 65 20 35 39 32 20 7b 0a 20 20 declare 592 {.
d1c0: 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 4c 69 6e int Tcl_GetLin
d1d0: 6b 43 6f 75 6e 74 46 72 6f 6d 53 74 61 74 28 63 kCountFromStat(c
d1e0: 6f 6e 73 74 20 54 63 6c 5f 53 74 61 74 42 75 66 onst Tcl_StatBuf
d1f0: 20 2a 73 74 61 74 50 74 72 29 0a 7d 0a 64 65 63 *statPtr).}.dec
d200: 6c 61 72 65 20 35 39 33 20 7b 0a 20 20 20 20 69 lare 593 {. i
d210: 6e 74 20 54 63 6c 5f 47 65 74 55 73 65 72 49 64 nt Tcl_GetUserId
d220: 46 72 6f 6d 53 74 61 74 28 63 6f 6e 73 74 20 54 FromStat(const T
d230: 63 6c 5f 53 74 61 74 42 75 66 20 2a 73 74 61 74 cl_StatBuf *stat
d240: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 Ptr).}.declare 5
d250: 39 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 94 {. int Tcl
d260: 5f 47 65 74 47 72 6f 75 70 49 64 46 72 6f 6d 53 _GetGroupIdFromS
d270: 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 74 tat(const Tcl_St
d280: 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 0a atBuf *statPtr).
d290: 7d 0a 64 65 63 6c 61 72 65 20 35 39 35 20 7b 0a }.declare 595 {.
d2a0: 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 44 int Tcl_GetD
d2b0: 65 76 69 63 65 54 79 70 65 46 72 6f 6d 53 74 61 eviceTypeFromSta
d2c0: 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 74 61 74 t(const Tcl_Stat
d2d0: 42 75 66 20 2a 73 74 61 74 50 74 72 29 0a 7d 0a Buf *statPtr).}.
d2e0: 64 65 63 6c 61 72 65 20 35 39 36 20 7b 0a 20 20 declare 596 {.
d2f0: 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 6c 5f long long Tcl_
d300: 47 65 74 41 63 63 65 73 73 54 69 6d 65 46 72 6f GetAccessTimeFro
d310: 6d 53 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f mStat(const Tcl_
d320: 53 74 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 StatBuf *statPtr
d330: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 35 39 37 20 ).}.declare 597
d340: 7b 0a 20 20 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 {. long long
d350: 54 63 6c 5f 47 65 74 4d 6f 64 69 66 69 63 61 74 Tcl_GetModificat
d360: 69 6f 6e 54 69 6d 65 46 72 6f 6d 53 74 61 74 28 ionTimeFromStat(
d370: 63 6f 6e 73 74 20 54 63 6c 5f 53 74 61 74 42 75 const Tcl_StatBu
d380: 66 20 2a 73 74 61 74 50 74 72 29 0a 7d 0a 64 65 f *statPtr).}.de
d390: 63 6c 61 72 65 20 35 39 38 20 7b 0a 20 20 20 20 clare 598 {.
d3a0: 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 6c 5f 47 65 long long Tcl_Ge
d3b0: 74 43 68 61 6e 67 65 54 69 6d 65 46 72 6f 6d 53 tChangeTimeFromS
d3c0: 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 74 tat(const Tcl_St
d3d0: 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 0a atBuf *statPtr).
d3e0: 7d 0a 64 65 63 6c 61 72 65 20 35 39 39 20 7b 0a }.declare 599 {.
d3f0: 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e unsigned lon
d400: 67 20 6c 6f 6e 67 20 54 63 6c 5f 47 65 74 53 69 g long Tcl_GetSi
d410: 7a 65 46 72 6f 6d 53 74 61 74 28 63 6f 6e 73 74 zeFromStat(const
d420: 20 54 63 6c 5f 53 74 61 74 42 75 66 20 2a 73 74 Tcl_StatBuf *st
d430: 61 74 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 atPtr).}.declare
d440: 20 36 30 30 20 7b 0a 20 20 20 20 75 6e 73 69 67 600 {. unsig
d450: 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 54 63 ned long long Tc
d460: 6c 5f 47 65 74 42 6c 6f 63 6b 73 46 72 6f 6d 53 l_GetBlocksFromS
d470: 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f 53 74 tat(const Tcl_St
d480: 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 29 0a atBuf *statPtr).
d490: 7d 0a 64 65 63 6c 61 72 65 20 36 30 31 20 7b 0a }.declare 601 {.
d4a0: 20 20 20 20 75 6e 73 69 67 6e 65 64 20 54 63 6c unsigned Tcl
d4b0: 5f 47 65 74 42 6c 6f 63 6b 53 69 7a 65 46 72 6f _GetBlockSizeFro
d4c0: 6d 53 74 61 74 28 63 6f 6e 73 74 20 54 63 6c 5f mStat(const Tcl_
d4d0: 53 74 61 74 42 75 66 20 2a 73 74 61 74 50 74 72 StatBuf *statPtr
d4e0: 29 0a 7d 0a 0a 23 20 54 49 50 23 33 31 34 20 28 ).}..# TIP#314 (
d4f0: 65 6e 73 65 6d 62 6c 65 73 20 77 69 74 68 20 70 ensembles with p
d500: 61 72 61 6d 65 74 65 72 73 29 20 64 6b 66 20 66 arameters) dkf f
d510: 6f 72 20 4c 61 72 73 20 48 65 6c 6c 73 74 72 22 or Lars Hellstr"
d520: 6f 6d 0a 64 65 63 6c 61 72 65 20 36 30 32 20 7b om.declare 602 {
d530: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 53 65 74 . int Tcl_Set
d540: 45 6e 73 65 6d 62 6c 65 50 61 72 61 6d 65 74 65 EnsembleParamete
d550: 72 4c 69 73 74 28 54 63 6c 5f 49 6e 74 65 72 70 rList(Tcl_Interp
d560: 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 6f *interp, Tcl_Co
d570: 6d 6d 61 6e 64 20 74 6f 6b 65 6e 2c 0a 09 20 20 mmand token,..
d580: 20 20 54 63 6c 5f 4f 62 6a 20 2a 70 61 72 61 6d Tcl_Obj *param
d590: 4c 69 73 74 29 0a 7d 0a 64 65 63 6c 61 72 65 20 List).}.declare
d5a0: 36 30 33 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 603 {. int Tc
d5b0: 6c 5f 47 65 74 45 6e 73 65 6d 62 6c 65 50 61 72 l_GetEnsemblePar
d5c0: 61 6d 65 74 65 72 4c 69 73 74 28 54 63 6c 5f 49 ameterList(Tcl_I
d5d0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
d5e0: 63 6c 5f 43 6f 6d 6d 61 6e 64 20 74 6f 6b 65 6e cl_Command token
d5f0: 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a ,.. Tcl_Obj *
d600: 2a 70 61 72 61 6d 4c 69 73 74 50 74 72 29 0a 7d *paramListPtr).}
d610: 0a 0a 23 20 54 49 50 23 32 36 35 20 28 6f 70 74 ..# TIP#265 (opt
d620: 69 6f 6e 20 70 61 72 73 65 72 29 20 64 6b 66 20 ion parser) dkf
d630: 66 6f 72 20 53 61 6d 20 42 72 6f 6d 6c 65 79 0a for Sam Bromley.
d640: 64 65 63 6c 61 72 65 20 36 30 34 20 7b 0a 20 20 declare 604 {.
d650: 20 20 69 6e 74 20 54 63 6c 50 61 72 73 65 41 72 int TclParseAr
d660: 67 73 4f 62 6a 76 28 54 63 6c 5f 49 6e 74 65 72 gsObjv(Tcl_Inter
d670: 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 p *interp, const
d680: 20 54 63 6c 5f 41 72 67 76 49 6e 66 6f 20 2a 61 Tcl_ArgvInfo *a
d690: 72 67 54 61 62 6c 65 2c 0a 09 20 20 20 20 76 6f rgTable,.. vo
d6a0: 69 64 20 2a 6f 62 6a 63 50 74 72 2c 20 54 63 6c id *objcPtr, Tcl
d6b0: 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 2a 6f 62 6a _Obj *const *obj
d6c0: 76 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a 2a 72 65 v, Tcl_Obj ***re
d6d0: 6d 4f 62 6a 76 29 0a 7d 0a 0a 23 20 54 49 50 23 mObjv).}..# TIP#
d6e0: 33 33 36 20 28 6d 61 6e 69 70 75 6c 61 74 65 20 336 (manipulate
d6f0: 74 68 65 20 65 72 72 6f 72 20 6c 69 6e 65 29 20 the error line)
d700: 64 67 70 0a 64 65 63 6c 61 72 65 20 36 30 35 20 dgp.declare 605
d710: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 {. int Tcl_Ge
d720: 74 45 72 72 6f 72 4c 69 6e 65 28 54 63 6c 5f 49 tErrorLine(Tcl_I
d730: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d nterp *interp).}
d740: 0a 64 65 63 6c 61 72 65 20 36 30 36 20 7b 0a 20 .declare 606 {.
d750: 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 65 74 45 void Tcl_SetE
d760: 72 72 6f 72 4c 69 6e 65 28 54 63 6c 5f 49 6e 74 rrorLine(Tcl_Int
d770: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 erp *interp, int
d780: 20 6c 69 6e 65 4e 75 6d 29 0a 7d 0a 0a 23 20 54 lineNum).}..# T
d790: 49 50 23 33 30 37 20 28 6d 6f 76 65 20 72 65 73 IP#307 (move res
d7a0: 75 6c 74 73 20 62 65 74 77 65 65 6e 20 69 6e 74 ults between int
d7b0: 65 72 70 72 65 74 65 72 73 29 20 64 6b 66 0a 64 erpreters) dkf.d
d7c0: 65 63 6c 61 72 65 20 36 30 37 20 7b 0a 20 20 20 eclare 607 {.
d7d0: 20 76 6f 69 64 20 54 63 6c 5f 54 72 61 6e 73 66 void Tcl_Transf
d7e0: 65 72 52 65 73 75 6c 74 28 54 63 6c 5f 49 6e 74 erResult(Tcl_Int
d7f0: 65 72 70 20 2a 73 6f 75 72 63 65 49 6e 74 65 72 erp *sourceInter
d800: 70 2c 20 69 6e 74 20 63 6f 64 65 2c 0a 09 20 20 p, int code,..
d810: 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a 74 61 Tcl_Interp *ta
d820: 72 67 65 74 49 6e 74 65 72 70 29 0a 7d 0a 0a 23 rgetInterp).}..#
d830: 20 54 49 50 23 33 33 35 20 28 64 65 74 65 63 74 TIP#335 (detect
d840: 20 69 66 20 69 6e 74 65 72 70 72 65 74 65 72 20 if interpreter
d850: 69 6e 20 75 73 65 29 20 6a 6d 69 73 74 61 63 68 in use) jmistach
d860: 6b 69 6e 0a 64 65 63 6c 61 72 65 20 36 30 38 20 kin.declare 608
d870: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 49 6e {. int Tcl_In
d880: 74 65 72 70 41 63 74 69 76 65 28 54 63 6c 5f 49 terpActive(Tcl_I
d890: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 0a 7d nterp *interp).}
d8a0: 0a 0a 23 20 54 49 50 23 33 33 37 20 28 6c 6f 67 ..# TIP#337 (log
d8b0: 20 65 78 63 65 70 74 69 6f 6e 20 66 6f 72 20 62 exception for b
d8c0: 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 ackground proces
d8d0: 73 69 6e 67 29 20 64 67 70 0a 64 65 63 6c 61 72 sing) dgp.declar
d8e0: 65 20 36 30 39 20 7b 0a 20 20 20 20 76 6f 69 64 e 609 {. void
d8f0: 20 54 63 6c 5f 42 61 63 6b 67 72 6f 75 6e 64 45 Tcl_BackgroundE
d900: 78 63 65 70 74 69 6f 6e 28 54 63 6c 5f 49 6e 74 xception(Tcl_Int
d910: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 erp *interp, int
d920: 20 63 6f 64 65 29 0a 7d 0a 0a 23 20 54 49 50 23 code).}..# TIP#
d930: 32 33 34 20 28 7a 6c 69 62 20 69 6e 74 65 72 66 234 (zlib interf
d940: 61 63 65 29 20 64 6b 66 2f 50 61 73 63 61 6c 20 ace) dkf/Pascal
d950: 53 63 68 65 66 66 65 72 73 0a 64 65 63 6c 61 72 Scheffers.declar
d960: 65 20 36 31 30 20 7b 0a 20 20 20 20 69 6e 74 20 e 610 {. int
d970: 54 63 6c 5f 5a 6c 69 62 44 65 66 6c 61 74 65 28 Tcl_ZlibDeflate(
d980: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
d990: 72 70 2c 20 69 6e 74 20 66 6f 72 6d 61 74 2c 20 rp, int format,
d9a0: 54 63 6c 5f 4f 62 6a 20 2a 64 61 74 61 2c 0a 09 Tcl_Obj *data,..
d9b0: 20 20 20 20 69 6e 74 20 6c 65 76 65 6c 2c 20 54 int level, T
d9c0: 63 6c 5f 4f 62 6a 20 2a 67 7a 69 70 48 65 61 64 cl_Obj *gzipHead
d9d0: 65 72 44 69 63 74 4f 62 6a 29 0a 7d 0a 64 65 63 erDictObj).}.dec
d9e0: 6c 61 72 65 20 36 31 31 20 7b 0a 20 20 20 20 69 lare 611 {. i
d9f0: 6e 74 20 54 63 6c 5f 5a 6c 69 62 49 6e 66 6c 61 nt Tcl_ZlibInfla
da00: 74 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 te(Tcl_Interp *i
da10: 6e 74 65 72 70 2c 20 69 6e 74 20 66 6f 72 6d 61 nterp, int forma
da20: 74 2c 20 54 63 6c 5f 4f 62 6a 20 2a 64 61 74 61 t, Tcl_Obj *data
da30: 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 ,.. Tcl_Size
da40: 62 75 66 66 65 72 73 69 7a 65 2c 20 54 63 6c 5f buffersize, Tcl_
da50: 4f 62 6a 20 2a 67 7a 69 70 48 65 61 64 65 72 44 Obj *gzipHeaderD
da60: 69 63 74 4f 62 6a 29 0a 7d 0a 64 65 63 6c 61 72 ictObj).}.declar
da70: 65 20 36 31 32 20 7b 0a 20 20 20 20 75 6e 73 69 e 612 {. unsi
da80: 67 6e 65 64 20 54 63 6c 5f 5a 6c 69 62 43 52 43 gned Tcl_ZlibCRC
da90: 33 32 28 75 6e 73 69 67 6e 65 64 20 63 72 63 2c 32(unsigned crc,
daa0: 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 const unsigned
dab0: 63 68 61 72 20 2a 62 75 66 2c 0a 09 20 20 20 20 char *buf,..
dac0: 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 29 0a 7d 0a Tcl_Size len).}.
dad0: 64 65 63 6c 61 72 65 20 36 31 33 20 7b 0a 20 20 declare 613 {.
dae0: 20 20 75 6e 73 69 67 6e 65 64 20 54 63 6c 5f 5a unsigned Tcl_Z
daf0: 6c 69 62 41 64 6c 65 72 33 32 28 75 6e 73 69 67 libAdler32(unsig
db00: 6e 65 64 20 61 64 6c 65 72 2c 20 63 6f 6e 73 74 ned adler, const
db10: 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a unsigned char *
db20: 62 75 66 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 buf,.. Tcl_Si
db30: 7a 65 20 6c 65 6e 29 0a 7d 0a 64 65 63 6c 61 72 ze len).}.declar
db40: 65 20 36 31 34 20 7b 0a 20 20 20 20 69 6e 74 20 e 614 {. int
db50: 54 63 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 49 6e Tcl_ZlibStreamIn
db60: 69 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 it(Tcl_Interp *i
db70: 6e 74 65 72 70 2c 20 69 6e 74 20 6d 6f 64 65 2c nterp, int mode,
db80: 20 69 6e 74 20 66 6f 72 6d 61 74 2c 0a 09 20 20 int format,..
db90: 20 20 69 6e 74 20 6c 65 76 65 6c 2c 20 54 63 6c int level, Tcl
dba0: 5f 4f 62 6a 20 2a 64 69 63 74 4f 62 6a 2c 20 54 _Obj *dictObj, T
dbb0: 63 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 20 2a 7a cl_ZlibStream *z
dbc0: 73 68 61 6e 64 6c 65 29 0a 7d 0a 64 65 63 6c 61 shandle).}.decla
dbd0: 72 65 20 36 31 35 20 7b 0a 20 20 20 20 54 63 6c re 615 {. Tcl
dbe0: 5f 4f 62 6a 20 2a 54 63 6c 5f 5a 6c 69 62 53 74 _Obj *Tcl_ZlibSt
dbf0: 72 65 61 6d 47 65 74 43 6f 6d 6d 61 6e 64 4e 61 reamGetCommandNa
dc00: 6d 65 28 54 63 6c 5f 5a 6c 69 62 53 74 72 65 61 me(Tcl_ZlibStrea
dc10: 6d 20 7a 73 68 61 6e 64 6c 65 29 0a 7d 0a 64 65 m zshandle).}.de
dc20: 63 6c 61 72 65 20 36 31 36 20 7b 0a 20 20 20 20 clare 616 {.
dc30: 69 6e 74 20 54 63 6c 5f 5a 6c 69 62 53 74 72 65 int Tcl_ZlibStre
dc40: 61 6d 45 6f 66 28 54 63 6c 5f 5a 6c 69 62 53 74 amEof(Tcl_ZlibSt
dc50: 72 65 61 6d 20 7a 73 68 61 6e 64 6c 65 29 0a 7d ream zshandle).}
dc60: 0a 64 65 63 6c 61 72 65 20 36 31 37 20 7b 0a 20 .declare 617 {.
dc70: 20 20 20 69 6e 74 20 54 63 6c 5f 5a 6c 69 62 53 int Tcl_ZlibS
dc80: 74 72 65 61 6d 43 68 65 63 6b 73 75 6d 28 54 63 treamChecksum(Tc
dc90: 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 20 7a 73 68 l_ZlibStream zsh
dca0: 61 6e 64 6c 65 29 0a 7d 0a 64 65 63 6c 61 72 65 andle).}.declare
dcb0: 20 36 31 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 618 {. int T
dcc0: 63 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 50 75 74 cl_ZlibStreamPut
dcd0: 28 54 63 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 20 (Tcl_ZlibStream
dce0: 7a 73 68 61 6e 64 6c 65 2c 20 54 63 6c 5f 4f 62 zshandle, Tcl_Ob
dcf0: 6a 20 2a 64 61 74 61 2c 20 69 6e 74 20 66 6c 75 j *data, int flu
dd00: 73 68 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 31 sh).}.declare 61
dd10: 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 9 {. int Tcl_
dd20: 5a 6c 69 62 53 74 72 65 61 6d 47 65 74 28 54 63 ZlibStreamGet(Tc
dd30: 6c 5f 5a 6c 69 62 53 74 72 65 61 6d 20 7a 73 68 l_ZlibStream zsh
dd40: 61 6e 64 6c 65 2c 20 54 63 6c 5f 4f 62 6a 20 2a andle, Tcl_Obj *
dd50: 64 61 74 61 2c 0a 09 20 20 20 20 54 63 6c 5f 53 data,.. Tcl_S
dd60: 69 7a 65 20 63 6f 75 6e 74 29 0a 7d 0a 64 65 63 ize count).}.dec
dd70: 6c 61 72 65 20 36 32 30 20 7b 0a 20 20 20 20 69 lare 620 {. i
dd80: 6e 74 20 54 63 6c 5f 5a 6c 69 62 53 74 72 65 61 nt Tcl_ZlibStrea
dd90: 6d 43 6c 6f 73 65 28 54 63 6c 5f 5a 6c 69 62 53 mClose(Tcl_ZlibS
dda0: 74 72 65 61 6d 20 7a 73 68 61 6e 64 6c 65 29 0a tream zshandle).
ddb0: 7d 0a 64 65 63 6c 61 72 65 20 36 32 31 20 7b 0a }.declare 621 {.
ddc0: 20 20 20 20 69 6e 74 20 54 63 6c 5f 5a 6c 69 62 int Tcl_Zlib
ddd0: 53 74 72 65 61 6d 52 65 73 65 74 28 54 63 6c 5f StreamReset(Tcl_
dde0: 5a 6c 69 62 53 74 72 65 61 6d 20 7a 73 68 61 6e ZlibStream zshan
ddf0: 64 6c 65 29 0a 7d 0a 0a 23 20 54 49 50 20 33 33 dle).}..# TIP 33
de00: 38 20 28 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 20 8 (control over
de10: 73 74 61 72 74 75 70 20 73 63 72 69 70 74 29 20 startup script)
de20: 64 67 70 0a 64 65 63 6c 61 72 65 20 36 32 32 20 dgp.declare 622
de30: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 53 {. void Tcl_S
de40: 65 74 53 74 61 72 74 75 70 53 63 72 69 70 74 28 etStartupScript(
de50: 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 2c 20 63 Tcl_Obj *path, c
de60: 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 onst char *encod
de70: 69 6e 67 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 ing).}.declare 6
de80: 32 33 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 23 {. Tcl_Obj
de90: 20 2a 54 63 6c 5f 47 65 74 53 74 61 72 74 75 70 *Tcl_GetStartup
dea0: 53 63 72 69 70 74 28 63 6f 6e 73 74 20 63 68 61 Script(const cha
deb0: 72 20 2a 2a 65 6e 63 6f 64 69 6e 67 50 74 72 29 r **encodingPtr)
dec0: 0a 7d 0a 0a 23 20 54 49 50 23 33 33 32 20 28 68 .}..# TIP#332 (h
ded0: 61 6c 66 2d 63 6c 6f 73 65 20 6d 61 64 65 20 70 alf-close made p
dee0: 75 62 6c 69 63 29 20 61 66 65 72 72 69 65 75 78 ublic) aferrieux
def0: 0a 64 65 63 6c 61 72 65 20 36 32 34 20 7b 0a 20 .declare 624 {.
df00: 20 20 20 69 6e 74 20 54 63 6c 5f 43 6c 6f 73 65 int Tcl_Close
df10: 45 78 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 Ex(Tcl_Interp *i
df20: 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 6e 6e nterp, Tcl_Chann
df30: 65 6c 20 63 68 61 6e 2c 20 69 6e 74 20 66 6c 61 el chan, int fla
df40: 67 73 29 0a 7d 0a 0a 23 20 54 49 50 20 23 33 35 gs).}..# TIP #35
df50: 33 20 28 4e 52 2d 65 6e 61 62 6c 65 64 20 65 78 3 (NR-enabled ex
df60: 70 72 65 73 73 69 6f 6e 73 29 20 64 67 70 0a 64 pressions) dgp.d
df70: 65 63 6c 61 72 65 20 36 32 35 20 7b 0a 20 20 20 eclare 625 {.
df80: 20 69 6e 74 20 54 63 6c 5f 4e 52 45 78 70 72 4f int Tcl_NRExprO
df90: 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 bj(Tcl_Interp *i
dfa0: 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a nterp, Tcl_Obj *
dfb0: 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 objPtr, Tcl_Obj
dfc0: 2a 72 65 73 75 6c 74 50 74 72 29 0a 7d 0a 0a 23 *resultPtr).}..#
dfd0: 20 54 49 50 20 23 33 35 36 20 28 4e 52 2d 65 6e TIP #356 (NR-en
dfe0: 61 62 6c 65 64 20 73 75 62 73 74 69 74 75 74 69 abled substituti
dff0: 6f 6e 29 20 64 67 70 0a 64 65 63 6c 61 72 65 20 on) dgp.declare
e000: 36 32 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 626 {. int Tc
e010: 6c 5f 4e 52 53 75 62 73 74 4f 62 6a 28 54 63 6c l_NRSubstObj(Tcl
e020: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c _Interp *interp,
e030: 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 Tcl_Obj *objPtr
e040: 2c 20 69 6e 74 20 66 6c 61 67 73 29 0a 7d 0a 0a , int flags).}..
e050: 23 20 54 49 50 20 23 33 35 37 20 28 45 78 70 6f # TIP #357 (Expo
e060: 72 74 20 54 63 6c 4c 6f 61 64 46 69 6c 65 20 61 rt TclLoadFile a
e070: 6e 64 20 54 63 6c 70 46 69 6e 64 53 79 6d 62 6f nd TclpFindSymbo
e080: 6c 29 20 6b 62 6b 0a 64 65 63 6c 61 72 65 20 36 l) kbk.declare 6
e090: 32 37 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 27 {. int Tcl
e0a0: 5f 4c 6f 61 64 46 69 6c 65 28 54 63 6c 5f 49 6e _LoadFile(Tcl_In
e0b0: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 terp *interp, Tc
e0c0: 6c 5f 4f 62 6a 20 2a 70 61 74 68 50 74 72 2c 0a l_Obj *pathPtr,.
e0d0: 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 . const char
e0e0: 2a 63 6f 6e 73 74 20 73 79 6d 76 5b 5d 2c 20 69 *const symv[], i
e0f0: 6e 74 20 66 6c 61 67 73 2c 20 76 6f 69 64 20 2a nt flags, void *
e100: 70 72 6f 63 50 74 72 73 2c 0a 09 20 20 20 20 54 procPtrs,.. T
e110: 63 6c 5f 4c 6f 61 64 48 61 6e 64 6c 65 20 2a 68 cl_LoadHandle *h
e120: 61 6e 64 6c 65 50 74 72 29 0a 7d 0a 64 65 63 6c andlePtr).}.decl
e130: 61 72 65 20 36 32 38 20 7b 0a 20 20 20 20 76 6f are 628 {. vo
e140: 69 64 20 2a 54 63 6c 5f 46 69 6e 64 53 79 6d 62 id *Tcl_FindSymb
e150: 6f 6c 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 ol(Tcl_Interp *i
e160: 6e 74 65 72 70 2c 20 54 63 6c 5f 4c 6f 61 64 48 nterp, Tcl_LoadH
e170: 61 6e 64 6c 65 20 68 61 6e 64 6c 65 2c 0a 09 20 andle handle,..
e180: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 const char *s
e190: 79 6d 62 6f 6c 29 0a 7d 0a 64 65 63 6c 61 72 65 ymbol).}.declare
e1a0: 20 36 32 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 629 {. int T
e1b0: 63 6c 5f 46 53 55 6e 6c 6f 61 64 46 69 6c 65 28 cl_FSUnloadFile(
e1c0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
e1d0: 72 70 2c 20 54 63 6c 5f 4c 6f 61 64 48 61 6e 64 rp, Tcl_LoadHand
e1e0: 6c 65 20 68 61 6e 64 6c 65 50 74 72 29 0a 7d 0a le handlePtr).}.
e1f0: 0a 23 20 54 49 50 20 23 34 30 30 0a 64 65 63 6c .# TIP #400.decl
e200: 61 72 65 20 36 33 30 20 7b 0a 20 20 20 20 76 6f are 630 {. vo
e210: 69 64 20 54 63 6c 5f 5a 6c 69 62 53 74 72 65 61 id Tcl_ZlibStrea
e220: 6d 53 65 74 43 6f 6d 70 72 65 73 73 69 6f 6e 44 mSetCompressionD
e230: 69 63 74 69 6f 6e 61 72 79 28 54 63 6c 5f 5a 6c ictionary(Tcl_Zl
e240: 69 62 53 74 72 65 61 6d 20 7a 68 61 6e 64 6c 65 ibStream zhandle
e250: 2c 0a 09 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a ,.. Tcl_Obj *
e260: 63 6f 6d 70 72 65 73 73 69 6f 6e 44 69 63 74 69 compressionDicti
e270: 6f 6e 61 72 79 4f 62 6a 29 0a 7d 0a 0a 23 20 2d onaryObj).}..# -
e280: 2d 2d 2d 2d 20 42 41 53 45 4c 49 4e 45 20 2d 2d ---- BASELINE --
e290: 20 46 4f 52 20 2d 2d 20 38 2e 36 2e 30 20 2d 2d FOR -- 8.6.0 --
e2a0: 2d 2d 2d 20 23 0a 0a 23 20 54 49 50 20 23 34 35 --- #..# TIP #45
e2b0: 36 2f 23 34 36 38 0a 64 65 63 6c 61 72 65 20 36 6/#468.declare 6
e2c0: 33 31 20 7b 0a 20 20 20 20 54 63 6c 5f 43 68 61 31 {. Tcl_Cha
e2d0: 6e 6e 65 6c 20 54 63 6c 5f 4f 70 65 6e 54 63 70 nnel Tcl_OpenTcp
e2e0: 53 65 72 76 65 72 45 78 28 54 63 6c 5f 49 6e 74 ServerEx(Tcl_Int
e2f0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e erp *interp, con
e300: 73 74 20 63 68 61 72 20 2a 73 65 72 76 69 63 65 st char *service
e310: 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 61 ,.. const cha
e320: 72 20 2a 68 6f 73 74 2c 20 75 6e 73 69 67 6e 65 r *host, unsigne
e330: 64 20 66 6c 61 67 73 2c 20 69 6e 74 20 62 61 63 d flags, int bac
e340: 6b 6c 6f 67 2c 0a 09 20 20 20 20 54 63 6c 5f 54 klog,.. Tcl_T
e350: 63 70 41 63 63 65 70 74 50 72 6f 63 20 2a 61 63 cpAcceptProc *ac
e360: 63 65 70 74 50 72 6f 63 2c 20 76 6f 69 64 20 2a ceptProc, void *
e370: 63 61 6c 6c 62 61 63 6b 44 61 74 61 29 0a 7d 0a callbackData).}.
e380: 0a 23 20 54 49 50 20 23 34 33 30 0a 64 65 63 6c .# TIP #430.decl
e390: 61 72 65 20 36 33 32 20 7b 0a 20 20 20 20 69 6e are 632 {. in
e3a0: 74 20 54 63 6c 5a 69 70 66 73 5f 4d 6f 75 6e 74 t TclZipfs_Mount
e3b0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
e3c0: 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
e3d0: 2a 7a 69 70 6e 61 6d 65 2c 0a 09 20 20 20 20 63 *zipname,.. c
e3e0: 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 75 6e 74 onst char *mount
e3f0: 50 6f 69 6e 74 2c 20 63 6f 6e 73 74 20 63 68 61 Point, const cha
e400: 72 20 2a 70 61 73 73 77 64 29 0a 7d 0a 64 65 63 r *passwd).}.dec
e410: 6c 61 72 65 20 36 33 33 20 7b 0a 20 20 20 20 69 lare 633 {. i
e420: 6e 74 20 54 63 6c 5a 69 70 66 73 5f 55 6e 6d 6f nt TclZipfs_Unmo
e430: 75 6e 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a unt(Tcl_Interp *
e440: 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 interp, const ch
e450: 61 72 20 2a 6d 6f 75 6e 74 50 6f 69 6e 74 29 0a ar *mountPoint).
e460: 7d 0a 64 65 63 6c 61 72 65 20 36 33 34 20 7b 0a }.declare 634 {.
e470: 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c Tcl_Obj *Tcl
e480: 5a 69 70 66 73 5f 54 63 6c 4c 69 62 72 61 72 79 Zipfs_TclLibrary
e490: 28 76 6f 69 64 29 0a 7d 0a 64 65 63 6c 61 72 65 (void).}.declare
e4a0: 20 36 33 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 635 {. int T
e4b0: 63 6c 5a 69 70 66 73 5f 4d 6f 75 6e 74 42 75 66 clZipfs_MountBuf
e4c0: 66 65 72 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a fer(Tcl_Interp *
e4d0: 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 76 6f interp, const vo
e4e0: 69 64 20 2a 64 61 74 61 2c 0a 09 20 20 20 20 73 id *data,.. s
e4f0: 69 7a 65 5f 74 20 64 61 74 61 6c 65 6e 2c 20 63 ize_t datalen, c
e500: 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 75 6e 74 onst char *mount
e510: 50 6f 69 6e 74 2c 20 69 6e 74 20 63 6f 70 79 29 Point, int copy)
e520: 0a 7d 0a 0a 23 20 54 49 50 20 23 34 34 35 0a 64 .}..# TIP #445.d
e530: 65 63 6c 61 72 65 20 36 33 36 20 7b 0a 20 20 20 eclare 636 {.
e540: 20 76 6f 69 64 20 54 63 6c 5f 46 72 65 65 49 6e void Tcl_FreeIn
e550: 74 65 72 6e 61 6c 52 65 70 28 54 63 6c 5f 4f 62 ternalRep(Tcl_Ob
e560: 6a 20 2a 6f 62 6a 50 74 72 29 0a 7d 0a 64 65 63 j *objPtr).}.dec
e570: 6c 61 72 65 20 36 33 37 20 7b 0a 20 20 20 20 63 lare 637 {. c
e580: 68 61 72 20 2a 54 63 6c 5f 49 6e 69 74 53 74 72 har *Tcl_InitStr
e590: 69 6e 67 52 65 70 28 54 63 6c 5f 4f 62 6a 20 2a ingRep(Tcl_Obj *
e5a0: 6f 62 6a 50 74 72 2c 20 63 6f 6e 73 74 20 63 68 objPtr, const ch
e5b0: 61 72 20 2a 62 79 74 65 73 2c 0a 09 20 20 20 20 ar *bytes,..
e5c0: 73 69 7a 65 5f 74 20 6e 75 6d 42 79 74 65 73 29 size_t numBytes)
e5d0: 0a 7d 0a 64 65 63 6c 61 72 65 20 36 33 38 20 7b .}.declare 638 {
e5e0: 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 49 6e 74 65 . Tcl_ObjInte
e5f0: 72 6e 61 6c 52 65 70 20 2a 54 63 6c 5f 46 65 74 rnalRep *Tcl_Fet
e600: 63 68 49 6e 74 65 72 6e 61 6c 52 65 70 28 54 63 chInternalRep(Tc
e610: 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 20 63 l_Obj *objPtr, c
e620: 6f 6e 73 74 20 54 63 6c 5f 4f 62 6a 54 79 70 65 onst Tcl_ObjType
e630: 20 2a 74 79 70 65 50 74 72 29 0a 7d 0a 64 65 63 *typePtr).}.dec
e640: 6c 61 72 65 20 36 33 39 20 7b 0a 20 20 20 20 76 lare 639 {. v
e650: 6f 69 64 20 54 63 6c 5f 53 74 6f 72 65 49 6e 74 oid Tcl_StoreInt
e660: 65 72 6e 61 6c 52 65 70 28 54 63 6c 5f 4f 62 6a ernalRep(Tcl_Obj
e670: 20 2a 6f 62 6a 50 74 72 2c 20 63 6f 6e 73 74 20 *objPtr, const
e680: 54 63 6c 5f 4f 62 6a 54 79 70 65 20 2a 74 79 70 Tcl_ObjType *typ
e690: 65 50 74 72 2c 0a 09 20 20 20 20 63 6f 6e 73 74 ePtr,.. const
e6a0: 20 54 63 6c 5f 4f 62 6a 49 6e 74 65 72 6e 61 6c Tcl_ObjInternal
e6b0: 52 65 70 20 2a 69 72 50 74 72 29 0a 7d 0a 64 65 Rep *irPtr).}.de
e6c0: 63 6c 61 72 65 20 36 34 30 20 7b 0a 20 20 20 20 clare 640 {.
e6d0: 69 6e 74 20 54 63 6c 5f 48 61 73 53 74 72 69 6e int Tcl_HasStrin
e6e0: 67 52 65 70 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 gRep(Tcl_Obj *ob
e6f0: 6a 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 20 23 jPtr).}..# TIP #
e700: 35 30 36 0a 64 65 63 6c 61 72 65 20 36 34 31 20 506.declare 641
e710: 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f 49 {. void Tcl_I
e720: 6e 63 72 52 65 66 43 6f 75 6e 74 28 54 63 6c 5f ncrRefCount(Tcl_
e730: 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 0a 7d 0a 0a Obj *objPtr).}..
e740: 64 65 63 6c 61 72 65 20 36 34 32 20 7b 0a 20 20 declare 642 {.
e750: 20 20 76 6f 69 64 20 54 63 6c 5f 44 65 63 72 52 void Tcl_DecrR
e760: 65 66 43 6f 75 6e 74 28 54 63 6c 5f 4f 62 6a 20 efCount(Tcl_Obj
e770: 2a 6f 62 6a 50 74 72 29 0a 7d 0a 0a 64 65 63 6c *objPtr).}..decl
e780: 61 72 65 20 36 34 33 20 7b 0a 20 20 20 20 69 6e are 643 {. in
e790: 74 20 54 63 6c 5f 49 73 53 68 61 72 65 64 28 54 t Tcl_IsShared(T
e7a0: 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 0a cl_Obj *objPtr).
e7b0: 7d 0a 0a 23 20 54 49 50 23 33 31 32 20 4e 65 77 }..# TIP#312 New
e7c0: 20 54 63 6c 5f 4c 69 6e 6b 41 72 72 61 79 28 29 Tcl_LinkArray()
e7d0: 20 66 75 6e 63 74 69 6f 6e 0a 64 65 63 6c 61 72 function.declar
e7e0: 65 20 36 34 34 20 7b 0a 20 20 20 20 69 6e 74 20 e 644 {. int
e7f0: 54 63 6c 5f 4c 69 6e 6b 41 72 72 61 79 28 54 63 Tcl_LinkArray(Tc
e800: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 l_Interp *interp
e810: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 , const char *va
e820: 72 4e 61 6d 65 2c 20 76 6f 69 64 20 2a 61 64 64 rName, void *add
e830: 72 2c 0a 09 20 20 20 20 69 6e 74 20 74 79 70 65 r,.. int type
e840: 2c 20 54 63 6c 5f 53 69 7a 65 20 73 69 7a 65 29 , Tcl_Size size)
e850: 0a 7d 0a 0a 64 65 63 6c 61 72 65 20 36 34 35 20 .}..declare 645
e860: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 {. int Tcl_Ge
e870: 74 49 6e 74 46 6f 72 49 6e 64 65 78 28 54 63 6c tIntForIndex(Tcl
e880: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c _Interp *interp,
e890: 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 Tcl_Obj *objPtr
e8a0: 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 ,.. Tcl_Size
e8b0: 65 6e 64 56 61 6c 75 65 2c 20 54 63 6c 5f 53 69 endValue, Tcl_Si
e8c0: 7a 65 20 2a 69 6e 64 65 78 50 74 72 29 0a 7d 0a ze *indexPtr).}.
e8d0: 0a 23 20 54 49 50 20 23 35 34 38 0a 64 65 63 6c .# TIP #548.decl
e8e0: 61 72 65 20 36 34 36 20 7b 0a 20 20 20 20 54 63 are 646 {. Tc
e8f0: 6c 5f 53 69 7a 65 20 54 63 6c 5f 55 74 66 54 6f l_Size Tcl_UtfTo
e900: 55 6e 69 43 68 61 72 28 63 6f 6e 73 74 20 63 68 UniChar(const ch
e910: 61 72 20 2a 73 72 63 2c 20 69 6e 74 20 2a 63 68 ar *src, int *ch
e920: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 Ptr).}.declare 6
e930: 34 37 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 54 47 {. char *T
e940: 63 6c 5f 55 6e 69 43 68 61 72 54 6f 55 74 66 44 cl_UniCharToUtfD
e950: 53 74 72 69 6e 67 28 63 6f 6e 73 74 20 69 6e 74 String(const int
e960: 20 2a 75 6e 69 53 74 72 2c 0a 09 20 20 20 20 54 *uniStr,.. T
e970: 63 6c 5f 53 69 7a 65 20 75 6e 69 4c 65 6e 67 74 cl_Size uniLengt
e980: 68 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a h, Tcl_DString *
e990: 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 dsPtr).}.declare
e9a0: 20 36 34 38 20 7b 0a 20 20 20 20 69 6e 74 20 2a 648 {. int *
e9b0: 54 63 6c 5f 55 74 66 54 6f 55 6e 69 43 68 61 72 Tcl_UtfToUniChar
e9c0: 44 53 74 72 69 6e 67 28 63 6f 6e 73 74 20 63 68 DString(const ch
e9d0: 61 72 20 2a 73 72 63 2c 0a 09 20 20 20 20 54 63 ar *src,.. Tc
e9e0: 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 68 2c 20 54 l_Size length, T
e9f0: 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 74 cl_DString *dsPt
ea00: 72 29 0a 7d 0a 0a 23 20 54 49 50 20 23 35 36 38 r).}..# TIP #568
ea10: 0a 64 65 63 6c 61 72 65 20 36 34 39 20 7b 0a 20 .declare 649 {.
ea20: 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 unsigned char
ea30: 20 2a 54 63 6c 47 65 74 42 79 74 65 73 46 72 6f *TclGetBytesFro
ea40: 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 mObj(Tcl_Interp
ea50: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a *interp, Tcl_Obj
ea60: 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 20 20 76 *objPtr,.. v
ea70: 6f 69 64 20 2a 6e 75 6d 42 79 74 65 73 50 74 72 oid *numBytesPtr
ea80: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 35 30 20 ).}.declare 650
ea90: 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 {. unsigned c
eaa0: 68 61 72 20 2a 54 63 6c 5f 47 65 74 42 79 74 65 har *Tcl_GetByte
eab0: 73 46 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 sFromObj(Tcl_Int
eac0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
ead0: 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 _Obj *objPtr,..
eae0: 20 20 20 54 63 6c 5f 53 69 7a 65 20 2a 6e 75 6d Tcl_Size *num
eaf0: 42 79 74 65 73 50 74 72 29 0a 7d 0a 0a 23 20 54 BytesPtr).}..# T
eb00: 49 50 20 23 34 38 31 0a 64 65 63 6c 61 72 65 20 IP #481.declare
eb10: 36 35 31 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 651 {. char *
eb20: 54 63 6c 5f 47 65 74 53 74 72 69 6e 67 46 72 6f Tcl_GetStringFro
eb30: 6d 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 mObj(Tcl_Obj *ob
eb40: 6a 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 2a jPtr, Tcl_Size *
eb50: 6c 65 6e 67 74 68 50 74 72 29 0a 7d 0a 64 65 63 lengthPtr).}.dec
eb60: 6c 61 72 65 20 36 35 32 20 7b 0a 20 20 20 20 54 lare 652 {. T
eb70: 63 6c 5f 55 6e 69 43 68 61 72 20 2a 54 63 6c 5f cl_UniChar *Tcl_
eb80: 47 65 74 55 6e 69 63 6f 64 65 46 72 6f 6d 4f 62 GetUnicodeFromOb
eb90: 6a 28 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 j(Tcl_Obj *objPt
eba0: 72 2c 20 54 63 6c 5f 53 69 7a 65 20 2a 6c 65 6e r, Tcl_Size *len
ebb0: 67 74 68 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 gthPtr).}..# TIP
ebc0: 20 36 36 30 0a 64 65 63 6c 61 72 65 20 36 35 33 660.declare 653
ebd0: 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 {. int Tcl_G
ebe0: 65 74 53 69 7a 65 49 6e 74 46 72 6f 6d 4f 62 6a etSizeIntFromObj
ebf0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
ec00: 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f 62 erp, Tcl_Obj *ob
ec10: 6a 50 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 53 jPtr,.. Tcl_S
ec20: 69 7a 65 20 2a 73 69 7a 65 50 74 72 29 0a 7d 0a ize *sizePtr).}.
ec30: 0a 23 20 54 49 50 20 23 35 37 35 0a 64 65 63 6c .# TIP #575.decl
ec40: 61 72 65 20 36 35 34 20 7b 0a 20 20 20 20 69 6e are 654 {. in
ec50: 74 20 54 63 6c 5f 55 74 66 43 68 61 72 43 6f 6d t Tcl_UtfCharCom
ec60: 70 6c 65 74 65 28 63 6f 6e 73 74 20 63 68 61 72 plete(const char
ec70: 20 2a 73 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 *src, Tcl_Size
ec80: 6c 65 6e 67 74 68 29 0a 7d 0a 64 65 63 6c 61 72 length).}.declar
ec90: 65 20 36 35 35 20 7b 0a 20 20 20 20 63 6f 6e 73 e 655 {. cons
eca0: 74 20 63 68 61 72 20 2a 54 63 6c 5f 55 74 66 4e t char *Tcl_UtfN
ecb0: 65 78 74 28 63 6f 6e 73 74 20 63 68 61 72 20 2a ext(const char *
ecc0: 73 72 63 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 src).}.declare 6
ecd0: 35 36 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 56 {. const c
ece0: 68 61 72 20 2a 54 63 6c 5f 55 74 66 50 72 65 76 har *Tcl_UtfPrev
ecf0: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 63 (const char *src
ed00: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 , const char *st
ed10: 61 72 74 29 0a 7d 0a 0a 23 20 54 49 50 20 37 30 art).}..# TIP 70
ed20: 31 0a 64 65 63 6c 61 72 65 20 36 35 37 20 7b 0a 1.declare 657 {.
ed30: 20 20 20 20 69 6e 74 20 54 63 6c 5f 46 53 54 69 int Tcl_FSTi
ed40: 6c 64 65 45 78 70 61 6e 64 28 54 63 6c 5f 49 6e ldeExpand(Tcl_In
ed50: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 6f terp *interp, co
ed60: 6e 73 74 20 63 68 61 72 20 2a 70 61 74 68 2c 0a nst char *path,.
ed70: 09 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 73 .Tcl_DString *ds
ed80: 50 74 72 29 0a 7d 0a 0a 23 20 54 49 50 20 36 35 Ptr).}..# TIP 65
ed90: 36 0a 64 65 63 6c 61 72 65 20 36 35 38 20 7b 0a 6.declare 658 {.
eda0: 20 20 20 20 69 6e 74 20 54 63 6c 5f 45 78 74 65 int Tcl_Exte
edb0: 72 6e 61 6c 54 6f 55 74 66 44 53 74 72 69 6e 67 rnalToUtfDString
edc0: 45 78 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 Ex(Tcl_Interp *i
edd0: 6e 74 65 72 70 2c 20 54 63 6c 5f 45 6e 63 6f 64 nterp, Tcl_Encod
ede0: 69 6e 67 20 65 6e 63 6f 64 69 6e 67 2c 0a 09 20 ing encoding,..
edf0: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 const char *s
ee00: 72 63 2c 20 54 63 6c 5f 53 69 7a 65 20 73 72 63 rc, Tcl_Size src
ee10: 4c 65 6e 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 Len, int flags,
ee20: 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 73 50 Tcl_DString *dsP
ee30: 74 72 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a tr,.. Tcl_Siz
ee40: 65 20 2a 65 72 72 6f 72 4c 6f 63 61 74 69 6f 6e e *errorLocation
ee50: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 Ptr).}.declare 6
ee60: 35 39 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 59 {. int Tcl
ee70: 5f 55 74 66 54 6f 45 78 74 65 72 6e 61 6c 44 53 _UtfToExternalDS
ee80: 74 72 69 6e 67 45 78 28 54 63 6c 5f 49 6e 74 65 tringEx(Tcl_Inte
ee90: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
eea0: 45 6e 63 6f 64 69 6e 67 20 65 6e 63 6f 64 69 6e Encoding encodin
eeb0: 67 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 g,.. const ch
eec0: 61 72 20 2a 73 72 63 2c 20 54 63 6c 5f 53 69 7a ar *src, Tcl_Siz
eed0: 65 20 73 72 63 4c 65 6e 2c 20 69 6e 74 20 66 6c e srcLen, int fl
eee0: 61 67 73 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 ags, Tcl_DString
eef0: 20 2a 64 73 50 74 72 2c 0a 09 20 20 20 20 54 63 *dsPtr,.. Tc
ef00: 6c 5f 53 69 7a 65 20 2a 65 72 72 6f 72 4c 6f 63 l_Size *errorLoc
ef10: 61 74 69 6f 6e 50 74 72 29 0a 7d 0a 0a 23 20 54 ationPtr).}..# T
ef20: 49 50 20 23 35 31 31 0a 64 65 63 6c 61 72 65 20 IP #511.declare
ef30: 36 36 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 660 {. int Tc
ef40: 6c 5f 41 73 79 6e 63 4d 61 72 6b 46 72 6f 6d 53 l_AsyncMarkFromS
ef50: 69 67 6e 61 6c 28 54 63 6c 5f 41 73 79 6e 63 48 ignal(Tcl_AsyncH
ef60: 61 6e 64 6c 65 72 20 61 73 79 6e 63 2c 20 69 6e andler async, in
ef70: 74 20 73 69 67 4e 75 6d 62 65 72 29 0a 7d 0a 0a t sigNumber).}..
ef80: 23 20 54 49 50 20 23 36 31 36 0a 64 65 63 6c 61 # TIP #616.decla
ef90: 72 65 20 36 36 31 20 7b 0a 20 20 20 20 69 6e 74 re 661 {. int
efa0: 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 47 65 74 45 Tcl_ListObjGetE
efb0: 6c 65 6d 65 6e 74 73 28 54 63 6c 5f 49 6e 74 65 lements(Tcl_Inte
efc0: 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f rp *interp, Tcl_
efd0: 4f 62 6a 20 2a 6c 69 73 74 50 74 72 2c 0a 09 20 Obj *listPtr,..
efe0: 20 20 20 54 63 6c 5f 53 69 7a 65 20 2a 6f 62 6a Tcl_Size *obj
eff0: 63 50 74 72 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a cPtr, Tcl_Obj **
f000: 2a 6f 62 6a 76 50 74 72 29 0a 7d 0a 64 65 63 6c *objvPtr).}.decl
f010: 61 72 65 20 36 36 32 20 7b 0a 20 20 20 20 69 6e are 662 {. in
f020: 74 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 4c 65 6e t Tcl_ListObjLen
f030: 67 74 68 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a gth(Tcl_Interp *
f040: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 interp, Tcl_Obj
f050: 2a 6c 69 73 74 50 74 72 2c 0a 09 20 20 20 20 54 *listPtr,.. T
f060: 63 6c 5f 53 69 7a 65 20 2a 6c 65 6e 67 74 68 50 cl_Size *lengthP
f070: 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 36 tr).}.declare 66
f080: 33 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 3 {. int Tcl_
f090: 44 69 63 74 4f 62 6a 53 69 7a 65 28 54 63 6c 5f DictObjSize(Tcl_
f0a0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
f0b0: 54 63 6c 5f 4f 62 6a 20 2a 64 69 63 74 50 74 72 Tcl_Obj *dictPtr
f0c0: 2c 20 54 63 6c 5f 53 69 7a 65 20 2a 73 69 7a 65 , Tcl_Size *size
f0d0: 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 Ptr).}.declare 6
f0e0: 36 34 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 64 {. int Tcl
f0f0: 5f 53 70 6c 69 74 4c 69 73 74 28 54 63 6c 5f 49 _SplitList(Tcl_I
f100: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 63 nterp *interp, c
f110: 6f 6e 73 74 20 63 68 61 72 20 2a 6c 69 73 74 53 onst char *listS
f120: 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 2a 61 72 tr, Tcl_Size *ar
f130: 67 63 50 74 72 2c 0a 09 20 20 20 20 63 6f 6e 73 gcPtr,.. cons
f140: 74 20 63 68 61 72 20 2a 2a 2a 61 72 67 76 50 74 t char ***argvPt
f150: 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 36 35 r).}.declare 665
f160: 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 5f {. void Tcl_
f170: 53 70 6c 69 74 50 61 74 68 28 63 6f 6e 73 74 20 SplitPath(const
f180: 63 68 61 72 20 2a 70 61 74 68 2c 20 54 63 6c 5f char *path, Tcl_
f190: 53 69 7a 65 20 2a 61 72 67 63 50 74 72 2c 20 63 Size *argcPtr, c
f1a0: 6f 6e 73 74 20 63 68 61 72 20 2a 2a 2a 61 72 67 onst char ***arg
f1b0: 76 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 20 vPtr).}.declare
f1c0: 36 36 36 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 666 {. Tcl_Ob
f1d0: 6a 20 2a 54 63 6c 5f 46 53 53 70 6c 69 74 50 61 j *Tcl_FSSplitPa
f1e0: 74 68 28 54 63 6c 5f 4f 62 6a 20 2a 70 61 74 68 th(Tcl_Obj *path
f1f0: 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 20 2a 6c Ptr, Tcl_Size *l
f200: 65 6e 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 65 enPtr).}.declare
f210: 20 36 36 37 20 7b 0a 20 20 20 20 69 6e 74 20 54 667 {. int T
f220: 63 6c 5f 50 61 72 73 65 41 72 67 73 4f 62 6a 76 cl_ParseArgsObjv
f230: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
f240: 65 72 70 2c 20 63 6f 6e 73 74 20 54 63 6c 5f 41 erp, const Tcl_A
f250: 72 67 76 49 6e 66 6f 20 2a 61 72 67 54 61 62 6c rgvInfo *argTabl
f260: 65 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 e,.. Tcl_Size
f270: 20 2a 6f 62 6a 63 50 74 72 2c 20 54 63 6c 5f 4f *objcPtr, Tcl_O
f280: 62 6a 20 2a 63 6f 6e 73 74 20 2a 6f 62 6a 76 2c bj *const *objv,
f290: 20 54 63 6c 5f 4f 62 6a 20 2a 2a 2a 72 65 6d 4f Tcl_Obj ***remO
f2a0: 62 6a 76 29 0a 7d 0a 0a 23 20 54 49 50 20 23 36 bjv).}..# TIP #6
f2b0: 31 37 0a 64 65 63 6c 61 72 65 20 36 36 38 20 7b 17.declare 668 {
f2c0: 0a 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 . Tcl_Size Tc
f2d0: 6c 5f 55 6e 69 43 68 61 72 4c 65 6e 28 63 6f 6e l_UniCharLen(con
f2e0: 73 74 20 69 6e 74 20 2a 75 6e 69 53 74 72 29 0a st int *uniStr).
f2f0: 7d 0a 64 65 63 6c 61 72 65 20 36 36 39 20 7b 0a }.declare 669 {.
f300: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c Tcl_Size Tcl
f310: 5f 4e 75 6d 55 74 66 43 68 61 72 73 28 63 6f 6e _NumUtfChars(con
f320: 73 74 20 63 68 61 72 20 2a 73 72 63 2c 20 54 63 st char *src, Tc
f330: 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 68 29 0a 7d l_Size length).}
f340: 0a 64 65 63 6c 61 72 65 20 36 37 30 20 7b 0a 20 .declare 670 {.
f350: 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f Tcl_Size Tcl_
f360: 47 65 74 43 68 61 72 4c 65 6e 67 74 68 28 54 63 GetCharLength(Tc
f370: 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 29 0a 7d l_Obj *objPtr).}
f380: 0a 64 65 63 6c 61 72 65 20 36 37 31 20 7b 0a 20 .declare 671 {.
f390: 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 const char *T
f3a0: 63 6c 5f 55 74 66 41 74 49 6e 64 65 78 28 63 6f cl_UtfAtIndex(co
f3b0: 6e 73 74 20 63 68 61 72 20 2a 73 72 63 2c 20 54 nst char *src, T
f3c0: 63 6c 5f 53 69 7a 65 20 69 6e 64 65 78 29 0a 7d cl_Size index).}
f3d0: 0a 64 65 63 6c 61 72 65 20 36 37 32 20 7b 0a 20 .declare 672 {.
f3e0: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 54 63 6c 5f Tcl_Obj *Tcl_
f3f0: 47 65 74 52 61 6e 67 65 28 54 63 6c 5f 4f 62 6a GetRange(Tcl_Obj
f400: 20 2a 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 53 69 *objPtr, Tcl_Si
f410: 7a 65 20 66 69 72 73 74 2c 20 54 63 6c 5f 53 69 ze first, Tcl_Si
f420: 7a 65 20 6c 61 73 74 29 0a 7d 0a 64 65 63 6c 61 ze last).}.decla
f430: 72 65 20 36 37 33 20 7b 0a 20 20 20 20 69 6e 74 re 673 {. int
f440: 20 54 63 6c 5f 47 65 74 55 6e 69 43 68 61 72 28 Tcl_GetUniChar(
f450: 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c Tcl_Obj *objPtr,
f460: 20 54 63 6c 5f 53 69 7a 65 20 69 6e 64 65 78 29 Tcl_Size index)
f470: 0a 7d 0a 0a 64 65 63 6c 61 72 65 20 36 37 34 20 .}..declare 674
f480: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 {. int Tcl_Ge
f490: 74 42 6f 6f 6c 28 54 63 6c 5f 49 6e 74 65 72 70 tBool(Tcl_Interp
f4a0: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
f4b0: 63 68 61 72 20 2a 73 72 63 2c 20 69 6e 74 20 66 char *src, int f
f4c0: 6c 61 67 73 2c 0a 09 20 20 20 20 63 68 61 72 20 lags,.. char
f4d0: 2a 63 68 61 72 50 74 72 29 0a 7d 0a 64 65 63 6c *charPtr).}.decl
f4e0: 61 72 65 20 36 37 35 20 7b 0a 20 20 20 20 69 6e are 675 {. in
f4f0: 74 20 54 63 6c 5f 47 65 74 42 6f 6f 6c 46 72 6f t Tcl_GetBoolFro
f500: 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 mObj(Tcl_Interp
f510: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a *interp, Tcl_Obj
f520: 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 20 20 69 *objPtr,.. i
f530: 6e 74 20 66 6c 61 67 73 2c 20 63 68 61 72 20 2a nt flags, char *
f540: 63 68 61 72 50 74 72 29 0a 7d 0a 64 65 63 6c 61 charPtr).}.decla
f550: 72 65 20 36 37 36 20 7b 0a 20 20 20 20 54 63 6c re 676 {. Tcl
f560: 5f 43 6f 6d 6d 61 6e 64 20 54 63 6c 5f 43 72 65 _Command Tcl_Cre
f570: 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64 32 28 54 ateObjCommand2(T
f580: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
f590: 70 2c 0a 09 20 20 20 20 63 6f 6e 73 74 20 63 68 p,.. const ch
f5a0: 61 72 20 2a 63 6d 64 4e 61 6d 65 2c 0a 09 20 20 ar *cmdName,..
f5b0: 20 20 54 63 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 Tcl_ObjCmdProc
f5c0: 32 20 2a 70 72 6f 63 32 2c 20 76 6f 69 64 20 2a 2 *proc2, void *
f5d0: 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 20 20 clientData,..
f5e0: 20 54 63 6c 5f 43 6d 64 44 65 6c 65 74 65 50 72 Tcl_CmdDeletePr
f5f0: 6f 63 20 2a 64 65 6c 65 74 65 50 72 6f 63 29 0a oc *deleteProc).
f600: 7d 0a 64 65 63 6c 61 72 65 20 36 37 37 20 7b 0a }.declare 677 {.
f610: 20 20 20 20 54 63 6c 5f 54 72 61 63 65 20 54 63 Tcl_Trace Tc
f620: 6c 5f 43 72 65 61 74 65 4f 62 6a 54 72 61 63 65 l_CreateObjTrace
f630: 32 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 2(Tcl_Interp *in
f640: 74 65 72 70 2c 20 54 63 6c 5f 53 69 7a 65 20 6c terp, Tcl_Size l
f650: 65 76 65 6c 2c 20 69 6e 74 20 66 6c 61 67 73 2c evel, int flags,
f660: 0a 09 20 20 20 20 54 63 6c 5f 43 6d 64 4f 62 6a .. Tcl_CmdObj
f670: 54 72 61 63 65 50 72 6f 63 32 20 2a 6f 62 6a 50 TraceProc2 *objP
f680: 72 6f 63 32 2c 20 76 6f 69 64 20 2a 63 6c 69 65 roc2, void *clie
f690: 6e 74 44 61 74 61 2c 0a 09 20 20 20 20 54 63 6c ntData,.. Tcl
f6a0: 5f 43 6d 64 4f 62 6a 54 72 61 63 65 44 65 6c 65 _CmdObjTraceDele
f6b0: 74 65 50 72 6f 63 20 2a 64 65 6c 50 72 6f 63 29 teProc *delProc)
f6c0: 0a 7d 0a 64 65 63 6c 61 72 65 20 36 37 38 20 7b .}.declare 678 {
f6d0: 0a 20 20 20 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 . Tcl_Command
f6e0: 20 54 63 6c 5f 4e 52 43 72 65 61 74 65 43 6f 6d Tcl_NRCreateCom
f6f0: 6d 61 6e 64 32 28 54 63 6c 5f 49 6e 74 65 72 70 mand2(Tcl_Interp
f700: 20 2a 69 6e 74 65 72 70 2c 0a 09 20 20 20 20 63 *interp,.. c
f710: 6f 6e 73 74 20 63 68 61 72 20 2a 63 6d 64 4e 61 onst char *cmdNa
f720: 6d 65 2c 20 54 63 6c 5f 4f 62 6a 43 6d 64 50 72 me, Tcl_ObjCmdPr
f730: 6f 63 32 20 2a 70 72 6f 63 2c 0a 09 20 20 20 20 oc2 *proc,..
f740: 54 63 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 32 20 Tcl_ObjCmdProc2
f750: 2a 6e 72 65 50 72 6f 63 32 2c 20 76 6f 69 64 20 *nreProc2, void
f760: 2a 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 20 20 *clientData,..
f770: 20 20 54 63 6c 5f 43 6d 64 44 65 6c 65 74 65 50 Tcl_CmdDeleteP
f780: 72 6f 63 20 2a 64 65 6c 65 74 65 50 72 6f 63 29 roc *deleteProc)
f790: 0a 7d 0a 64 65 63 6c 61 72 65 20 36 37 39 20 7b .}.declare 679 {
f7a0: 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4e 52 43 . int Tcl_NRC
f7b0: 61 6c 6c 4f 62 6a 50 72 6f 63 32 28 54 63 6c 5f allObjProc2(Tcl_
f7c0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 Interp *interp,
f7d0: 54 63 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 32 20 Tcl_ObjCmdProc2
f7e0: 2a 6f 62 6a 50 72 6f 63 32 2c 0a 09 20 20 20 20 *objProc2,..
f7f0: 76 6f 69 64 20 2a 63 6c 69 65 6e 74 44 61 74 61 void *clientData
f800: 2c 20 54 63 6c 5f 53 69 7a 65 20 6f 62 6a 63 2c , Tcl_Size objc,
f810: 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 74 20 Tcl_Obj *const
f820: 6f 62 6a 76 5b 5d 29 0a 7d 0a 0a 23 20 54 49 50 objv[]).}..# TIP
f830: 20 23 36 33 38 2e 0a 64 65 63 6c 61 72 65 20 36 #638..declare 6
f840: 38 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 80 {. int Tcl
f850: 5f 47 65 74 4e 75 6d 62 65 72 46 72 6f 6d 4f 62 _GetNumberFromOb
f860: 6a 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e j(Tcl_Interp *in
f870: 74 65 72 70 2c 20 54 63 6c 5f 4f 62 6a 20 2a 6f terp, Tcl_Obj *o
f880: 62 6a 50 74 72 2c 0a 09 20 20 20 20 76 6f 69 64 bjPtr,.. void
f890: 20 2a 2a 63 6c 69 65 6e 74 44 61 74 61 50 74 72 **clientDataPtr
f8a0: 2c 20 69 6e 74 20 2a 74 79 70 65 50 74 72 29 0a , int *typePtr).
f8b0: 7d 0a 64 65 63 6c 61 72 65 20 36 38 31 20 7b 0a }.declare 681 {.
f8c0: 20 20 20 20 69 6e 74 20 54 63 6c 5f 47 65 74 4e int Tcl_GetN
f8d0: 75 6d 62 65 72 28 54 63 6c 5f 49 6e 74 65 72 70 umber(Tcl_Interp
f8e0: 20 2a 69 6e 74 65 72 70 2c 20 63 6f 6e 73 74 20 *interp, const
f8f0: 63 68 61 72 20 2a 62 79 74 65 73 2c 20 54 63 6c char *bytes, Tcl
f900: 5f 53 69 7a 65 20 6e 75 6d 42 79 74 65 73 2c 0a _Size numBytes,.
f910: 09 20 20 20 20 76 6f 69 64 20 2a 2a 63 6c 69 65 . void **clie
f920: 6e 74 44 61 74 61 50 74 72 2c 20 69 6e 74 20 2a ntDataPtr, int *
f930: 74 79 70 65 50 74 72 29 0a 7d 0a 0a 23 20 54 49 typePtr).}..# TI
f940: 50 20 23 32 32 30 2e 0a 64 65 63 6c 61 72 65 20 P #220..declare
f950: 36 38 32 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 682 {. int Tc
f960: 6c 5f 52 65 6d 6f 76 65 43 68 61 6e 6e 65 6c 4d l_RemoveChannelM
f970: 6f 64 65 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a ode(Tcl_Interp *
f980: 69 6e 74 65 72 70 2c 20 54 63 6c 5f 43 68 61 6e interp, Tcl_Chan
f990: 6e 65 6c 20 63 68 61 6e 2c 20 69 6e 74 20 6d 6f nel chan, int mo
f9a0: 64 65 29 0a 7d 0a 0a 23 20 54 49 50 20 36 34 33 de).}..# TIP 643
f9b0: 0a 64 65 63 6c 61 72 65 20 36 38 33 20 7b 0a 20 .declare 683 {.
f9c0: 20 20 20 54 63 6c 5f 53 69 7a 65 20 54 63 6c 5f Tcl_Size Tcl_
f9d0: 47 65 74 45 6e 63 6f 64 69 6e 67 4e 75 6c 4c 65 GetEncodingNulLe
f9e0: 6e 67 74 68 28 54 63 6c 5f 45 6e 63 6f 64 69 6e ngth(Tcl_Encodin
f9f0: 67 20 65 6e 63 6f 64 69 6e 67 29 0a 7d 0a 0a 23 g encoding).}..#
fa00: 20 54 49 50 20 23 36 35 30 0a 64 65 63 6c 61 72 TIP #650.declar
fa10: 65 20 36 38 34 20 7b 0a 20 20 20 20 69 6e 74 20 e 684 {. int
fa20: 54 63 6c 5f 47 65 74 57 69 64 65 55 49 6e 74 46 Tcl_GetWideUIntF
fa30: 72 6f 6d 4f 62 6a 28 54 63 6c 5f 49 6e 74 65 72 romObj(Tcl_Inter
fa40: 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 4f p *interp, Tcl_O
fa50: 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 20 20 bj *objPtr,..
fa60: 20 54 63 6c 5f 57 69 64 65 55 49 6e 74 20 2a 75 Tcl_WideUInt *u
fa70: 77 69 64 65 50 74 72 29 0a 7d 0a 0a 23 20 54 49 widePtr).}..# TI
fa80: 50 20 36 35 31 0a 64 65 63 6c 61 72 65 20 36 38 P 651.declare 68
fa90: 35 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 5 {. Tcl_Obj
faa0: 2a 54 63 6c 5f 44 53 74 72 69 6e 67 54 6f 4f 62 *Tcl_DStringToOb
fab0: 6a 28 54 63 6c 5f 44 53 74 72 69 6e 67 20 2a 64 j(Tcl_DString *d
fac0: 73 50 74 72 29 0a 7d 0a 0a 64 65 63 6c 61 72 65 sPtr).}..declare
fad0: 20 36 38 36 20 7b 0a 20 20 20 20 69 6e 74 20 54 686 {. int T
fae0: 63 6c 5f 55 74 66 4e 63 6d 70 28 63 6f 6e 73 74 cl_UtfNcmp(const
faf0: 20 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e 73 74 char *s1, const
fb00: 20 63 68 61 72 20 2a 73 32 2c 20 73 69 7a 65 5f char *s2, size_
fb10: 74 20 6e 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 t n).}.declare 6
fb20: 38 37 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 87 {. int Tcl
fb30: 5f 55 74 66 4e 63 61 73 65 63 6d 70 28 63 6f 6e _UtfNcasecmp(con
fb40: 73 74 20 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e st char *s1, con
fb50: 73 74 20 63 68 61 72 20 2a 73 32 2c 20 73 69 7a st char *s2, siz
fb60: 65 5f 74 20 6e 29 0a 7d 0a 0a 23 20 54 49 50 20 e_t n).}..# TIP
fb70: 23 36 34 38 0a 64 65 63 6c 61 72 65 20 36 38 38 #648.declare 688
fb80: 20 7b 0a 20 20 20 20 54 63 6c 5f 4f 62 6a 20 2a {. Tcl_Obj *
fb90: 54 63 6c 5f 4e 65 77 57 69 64 65 55 49 6e 74 4f Tcl_NewWideUIntO
fba0: 62 6a 28 54 63 6c 5f 57 69 64 65 55 49 6e 74 20 bj(Tcl_WideUInt
fbb0: 77 69 64 65 56 61 6c 75 65 29 0a 7d 0a 64 65 63 wideValue).}.dec
fbc0: 6c 61 72 65 20 36 38 39 20 7b 0a 20 20 20 20 76 lare 689 {. v
fbd0: 6f 69 64 20 54 63 6c 5f 53 65 74 57 69 64 65 55 oid Tcl_SetWideU
fbe0: 49 6e 74 4f 62 6a 28 54 63 6c 5f 4f 62 6a 20 2a IntObj(Tcl_Obj *
fbf0: 6f 62 6a 50 74 72 2c 20 54 63 6c 5f 57 69 64 65 objPtr, Tcl_Wide
fc00: 55 49 6e 74 20 75 77 69 64 65 56 61 6c 75 65 29 UInt uwideValue)
fc10: 0a 7d 0a 0a 23 20 2d 2d 2d 2d 2d 20 42 41 53 45 .}..# ----- BASE
fc20: 4c 49 4e 45 20 2d 2d 20 46 4f 52 20 2d 2d 20 39 LINE -- FOR -- 9
fc30: 2e 30 2e 30 20 2d 2d 2d 2d 2d 20 23 0a 0a 23 20 .0.0 ----- #..#
fc40: 54 49 50 20 37 31 31 0a 64 65 63 6c 61 72 65 20 TIP 711.declare
fc50: 36 39 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 690 {. int Tc
fc60: 6c 5f 49 73 45 6d 70 74 79 28 54 63 6c 5f 4f 62 l_IsEmpty(Tcl_Ob
fc70: 6a 20 2a 6f 62 6a 29 0a 7d 0a 0a 23 20 54 49 50 j *obj).}..# TIP
fc80: 20 37 31 36 0a 64 65 63 6c 61 72 65 20 36 39 31 716.declare 691
fc90: 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 {. const cha
fca0: 72 20 2a 54 63 6c 5f 47 65 74 45 6e 63 6f 64 69 r *Tcl_GetEncodi
fcb0: 6e 67 4e 61 6d 65 46 6f 72 55 73 65 72 28 54 63 ngNameForUser(Tc
fcc0: 6c 5f 44 53 74 72 69 6e 67 20 2a 62 75 66 50 74 l_DString *bufPt
fcd0: 72 29 0a 7d 0a 0a 23 20 54 49 50 20 36 34 39 0a r).}..# TIP 649.
fce0: 64 65 63 6c 61 72 65 20 36 39 32 20 7b 0a 20 20 declare 692 {.
fcf0: 20 20 69 6e 74 20 54 63 6c 5f 4c 69 73 74 4f 62 int Tcl_ListOb
fd00: 6a 52 65 76 65 72 73 65 28 54 63 6c 5f 49 6e 74 jReverse(Tcl_Int
fd10: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c erp *interp, Tcl
fd20: 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a 09 20 _Obj *objPtr,..
fd30: 20 20 20 54 63 6c 5f 4f 62 6a 20 2a 2a 72 65 73 Tcl_Obj **res
fd40: 75 6c 74 50 74 72 50 74 72 29 0a 7d 0a 64 65 63 ultPtrPtr).}.dec
fd50: 6c 61 72 65 20 36 39 33 20 7b 0a 20 20 20 20 69 lare 693 {. i
fd60: 6e 74 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 52 65 nt Tcl_ListObjRe
fd70: 70 65 61 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 peat(Tcl_Interp
fd80: 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 53 69 7a *interp, Tcl_Siz
fd90: 65 20 72 65 70 65 61 74 43 6f 75 6e 74 2c 0a 09 e repeatCount,..
fda0: 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 6f 62 6a Tcl_Size obj
fdb0: 63 2c 20 54 63 6c 5f 4f 62 6a 20 2a 63 6f 6e 73 c, Tcl_Obj *cons
fdc0: 74 20 6f 62 6a 76 5b 5d 2c 20 54 63 6c 5f 4f 62 t objv[], Tcl_Ob
fdd0: 6a 20 2a 2a 72 65 73 75 6c 74 50 74 72 50 74 72 j **resultPtrPtr
fde0: 29 0a 7d 0a 64 65 63 6c 61 72 65 20 36 39 34 20 ).}.declare 694
fdf0: 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 4c 69 {. int Tcl_Li
fe00: 73 74 4f 62 6a 52 61 6e 67 65 28 54 63 6c 5f 49 stObjRange(Tcl_I
fe10: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 54 nterp *interp, T
fe20: 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 50 74 72 2c 0a cl_Obj *objPtr,.
fe30: 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 73 74 . Tcl_Size st
fe40: 61 72 74 2c 20 54 63 6c 5f 53 69 7a 65 20 65 6e art, Tcl_Size en
fe50: 64 2c 20 54 63 6c 5f 4f 62 6a 20 2a 2a 72 65 73 d, Tcl_Obj **res
fe60: 75 6c 74 50 74 72 50 74 72 29 0a 7d 0a 0a 23 20 ultPtrPtr).}..#
fe70: 54 49 50 20 37 32 36 0a 64 65 63 6c 61 72 65 20 TIP 726.declare
fe80: 36 39 35 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 695 {. int Tc
fe90: 6c 5f 55 74 66 54 6f 4e 6f 72 6d 61 6c 69 7a 65 l_UtfToNormalize
fea0: 64 44 53 74 72 69 6e 67 28 54 63 6c 5f 49 6e 74 dDString(Tcl_Int
feb0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 20 20 erp *interp,..
fec0: 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 79 const char *by
fed0: 74 65 73 2c 20 54 63 6c 5f 53 69 7a 65 20 6c 65 tes, Tcl_Size le
fee0: 6e 67 74 68 2c 0a 09 20 20 20 20 54 63 6c 5f 55 ngth,.. Tcl_U
fef0: 6e 69 63 6f 64 65 4e 6f 72 6d 61 6c 69 7a 61 74 nicodeNormalizat
ff00: 69 6f 6e 46 6f 72 6d 20 6e 6f 72 6d 46 6f 72 6d ionForm normForm
ff10: 2c 20 69 6e 74 20 70 72 6f 66 69 6c 65 2c 0a 09 , int profile,..
ff20: 20 20 20 20 54 63 6c 5f 44 53 74 72 69 6e 67 20 Tcl_DString
ff30: 2a 64 73 50 74 72 29 0a 7d 0a 64 65 63 6c 61 72 *dsPtr).}.declar
ff40: 65 20 36 39 36 20 7b 0a 20 20 20 20 69 6e 74 20 e 696 {. int
ff50: 54 63 6c 5f 55 74 66 54 6f 4e 6f 72 6d 61 6c 69 Tcl_UtfToNormali
ff60: 7a 65 64 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a zed(Tcl_Interp *
ff70: 69 6e 74 65 72 70 2c 0a 09 20 20 20 20 63 6f 6e interp,.. con
ff80: 73 74 20 63 68 61 72 20 2a 62 79 74 65 73 2c 20 st char *bytes,
ff90: 54 63 6c 5f 53 69 7a 65 20 6c 65 6e 67 74 68 2c Tcl_Size length,
ffa0: 0a 09 20 20 20 20 54 63 6c 5f 55 6e 69 63 6f 64 .. Tcl_Unicod
ffb0: 65 4e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 46 6f eNormalizationFo
ffc0: 72 6d 20 6e 6f 72 6d 46 6f 72 6d 2c 20 69 6e 74 rm normForm, int
ffd0: 20 70 72 6f 66 69 6c 65 2c 0a 09 20 20 20 20 63 profile,.. c
ffe0: 68 61 72 20 2a 62 75 66 50 74 72 2c 20 54 63 6c har *bufPtr, Tcl
fff0: 5f 53 69 7a 65 20 62 75 66 4c 65 6e 2c 20 54 63 _Size bufLen, Tc
10000 6c 5f 53 69 7a 65 20 2a 6c 65 6e 67 74 68 50 74 l_Size *lengthPt
10010 72 29 0a 7d 0a 0a 23 20 54 49 50 20 37 33 32 0a r).}..# TIP 732.
10020 64 65 63 6c 61 72 65 20 36 39 37 20 7b 0a 20 20 declare 697 {.
10030 20 20 69 6e 74 20 54 63 6c 5f 45 78 74 65 72 6e int Tcl_Extern
10040 61 6c 54 6f 55 74 66 45 78 28 0a 09 20 20 20 20 alToUtfEx(..
10050 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 Tcl_Interp *inte
10060 72 70 2c 20 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 rp, Tcl_Encoding
10070 20 65 6e 63 6f 64 69 6e 67 2c 20 63 6f 6e 73 74 encoding, const
10080 20 63 68 61 72 20 2a 73 72 63 2c 0a 09 20 20 20 char *src,..
10090 20 54 63 6c 5f 53 69 7a 65 20 73 72 63 4c 65 6e Tcl_Size srcLen
100a0 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 54 63 6c , int flags, Tcl
100b0 5f 45 6e 63 6f 64 69 6e 67 53 74 61 74 65 20 2a _EncodingState *
100c0 73 74 61 74 65 50 74 72 2c 20 63 68 61 72 20 2a statePtr, char *
100d0 64 73 74 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 dst,.. Tcl_Si
100e0 7a 65 20 64 73 74 4c 65 6e 2c 20 54 63 6c 5f 53 ze dstLen, Tcl_S
100f0 69 7a 65 20 2a 73 72 63 52 65 61 64 50 74 72 2c ize *srcReadPtr,
10100 20 54 63 6c 5f 53 69 7a 65 20 2a 64 73 74 57 72 Tcl_Size *dstWr
10110 6f 74 65 50 74 72 2c 0a 09 20 20 20 20 54 63 6c otePtr,.. Tcl
10120 5f 53 69 7a 65 20 2a 64 73 74 43 68 61 72 73 50 _Size *dstCharsP
10130 74 72 29 0a 7d 0a 0a 64 65 63 6c 61 72 65 20 36 tr).}..declare 6
10140 39 38 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 98 {. int Tcl
10150 5f 55 74 66 54 6f 45 78 74 65 72 6e 61 6c 45 78 _UtfToExternalEx
10160 28 0a 09 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 (.. Tcl_Inter
10170 70 20 2a 69 6e 74 65 72 70 2c 20 54 63 6c 5f 45 p *interp, Tcl_E
10180 6e 63 6f 64 69 6e 67 20 65 6e 63 6f 64 69 6e 67 ncoding encoding
10190 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 72 , const char *sr
101a0 63 2c 0a 09 20 20 20 20 54 63 6c 5f 53 69 7a 65 c,.. Tcl_Size
101b0 20 73 72 63 4c 65 6e 2c 20 69 6e 74 20 66 6c 61 srcLen, int fla
101c0 67 73 2c 20 54 63 6c 5f 45 6e 63 6f 64 69 6e 67 gs, Tcl_Encoding
101d0 53 74 61 74 65 20 2a 73 74 61 74 65 50 74 72 2c State *statePtr,
101e0 20 63 68 61 72 20 2a 64 73 74 2c 0a 09 20 20 20 char *dst,..
101f0 20 54 63 6c 5f 53 69 7a 65 20 64 73 74 4c 65 6e Tcl_Size dstLen
10200 2c 20 54 63 6c 5f 53 69 7a 65 20 2a 73 72 63 52 , Tcl_Size *srcR
10210 65 61 64 50 74 72 2c 20 54 63 6c 5f 53 69 7a 65 eadPtr, Tcl_Size
10220 20 2a 64 73 74 57 72 6f 74 65 50 74 72 2c 0a 09 *dstWrotePtr,..
10230 20 20 20 20 54 63 6c 5f 53 69 7a 65 20 2a 64 73 Tcl_Size *ds
10240 74 43 68 61 72 73 50 74 72 29 0a 7d 0a 0a 64 65 tCharsPtr).}..de
10250 63 6c 61 72 65 20 36 39 39 20 7b 0a 20 20 20 20 clare 699 {.
10260 69 6e 74 20 54 63 6c 5f 52 65 67 69 73 74 65 72 int Tcl_Register
10270 50 6f 73 74 49 6e 69 74 50 72 6f 63 28 54 63 6c PostInitProc(Tcl
10280 5f 50 6f 73 74 49 6e 69 74 50 72 6f 63 20 2a 70 _PostInitProc *p
10290 6f 73 74 49 6e 69 74 50 72 6f 63 2c 0a 09 20 20 ostInitProc,..
102a0 20 20 76 6f 69 64 20 2a 20 63 6c 69 65 6e 74 44 void * clientD
102b0 61 74 61 29 0a 7d 0a 0a 64 65 63 6c 61 72 65 20 ata).}..declare
102c0 37 30 30 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 700 {. int Tc
102d0 6c 5f 55 6e 72 65 67 69 73 74 65 72 50 6f 73 74 l_UnregisterPost
102e0 49 6e 69 74 50 72 6f 63 28 54 63 6c 5f 50 6f 73 InitProc(Tcl_Pos
102f0 74 49 6e 69 74 50 72 6f 63 20 2a 70 6f 73 74 49 tInitProc *postI
10300 6e 69 74 50 72 6f 63 2c 0a 09 20 20 20 20 76 6f nitProc,.. vo
10310 69 64 20 2a 20 63 6c 69 65 6e 74 44 61 74 61 29 id * clientData)
10320 0a 7d 0a 0a 64 65 63 6c 61 72 65 20 37 30 31 20 .}..declare 701
10330 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 43 6c {. int Tcl_Cl
10340 65 61 72 50 6f 73 74 49 6e 69 74 50 72 6f 63 73 earPostInitProcs
10350 28 76 6f 69 64 29 0a 7d 0a 0a 23 20 2d 2d 2d 2d (void).}..# ----
10360 2d 20 42 41 53 45 4c 49 4e 45 20 2d 2d 20 46 4f - BASELINE -- FO
10370 52 20 2d 2d 20 39 2e 31 2e 30 20 2d 2d 2d 2d 2d R -- 9.1.0 -----
10380 20 23 0a 0a 64 65 63 6c 61 72 65 20 37 30 32 20 #..declare 702
10390 7b 0a 20 20 20 20 76 6f 69 64 20 54 63 6c 55 6e {. void TclUn
103a0 75 73 65 64 53 74 75 62 45 6e 74 72 79 28 76 6f usedStubEntry(vo
103b0 69 64 29 0a 7d 0a 0a 23 23 23 23 23 23 23 23 23 id).}..#########
103c0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
103d0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
103e0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
103f0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
10400 23 23 23 23 23 0a 0a 23 20 44 65 66 69 6e 65 20 #####..# Define
10410 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 the platform spe
10420 63 69 66 69 63 20 70 75 62 6c 69 63 20 54 63 6c cific public Tcl
10430 20 69 6e 74 65 72 66 61 63 65 2e 20 54 68 65 73 interface. Thes
10440 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 e functions are
10450 6f 6e 6c 79 0a 23 20 61 76 61 69 6c 61 62 6c 65 only.# available
10460 20 6f 6e 20 74 68 65 20 64 65 73 69 67 6e 61 74 on the designat
10470 65 64 20 70 6c 61 74 66 6f 72 6d 2e 0a 0a 69 6e ed platform...in
10480 74 65 72 66 61 63 65 20 74 63 6c 50 6c 61 74 0a terface tclPlat.
10490 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 .###############
104a0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
104b0 23 0a 23 20 55 6e 69 78 20 73 70 65 63 69 66 69 #.# Unix specifi
104c0 63 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 20 20 c functions.#
104d0 28 6e 6f 6e 65 29 0a 0a 23 23 23 23 23 23 23 23 (none)..########
104e0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
104f0 23 23 23 23 23 23 23 23 0a 23 20 4d 61 63 20 4f ########.# Mac O
10500 53 20 58 20 73 70 65 63 69 66 69 63 20 66 75 6e S X specific fun
10510 63 74 69 6f 6e 73 0a 0a 64 65 63 6c 61 72 65 20 ctions..declare
10520 31 20 7b 0a 20 20 20 20 69 6e 74 20 54 63 6c 5f 1 {. int Tcl_
10530 4d 61 63 4f 53 58 4f 70 65 6e 56 65 72 73 69 6f MacOSXOpenVersio
10540 6e 65 64 42 75 6e 64 6c 65 52 65 73 6f 75 72 63 nedBundleResourc
10550 65 73 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 es(Tcl_Interp *i
10560 6e 74 65 72 70 2c 0a 09 20 20 20 20 63 6f 6e 73 nterp,.. cons
10570 74 20 63 68 61 72 20 2a 62 75 6e 64 6c 65 4e 61 t char *bundleNa
10580 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a me, const char *
10590 62 75 6e 64 6c 65 56 65 72 73 69 6f 6e 2c 0a 09 bundleVersion,..
105a0 20 20 20 20 69 6e 74 20 68 61 73 52 65 73 6f 75 int hasResou
105b0 72 63 65 46 69 6c 65 2c 20 54 63 6c 5f 53 69 7a rceFile, Tcl_Siz
105c0 65 20 6d 61 78 50 61 74 68 4c 65 6e 2c 20 63 68 e maxPathLen, ch
105d0 61 72 20 2a 6c 69 62 72 61 72 79 50 61 74 68 29 ar *libraryPath)
105e0 0a 7d 0a 64 65 63 6c 61 72 65 20 32 20 7b 0a 20 .}.declare 2 {.
105f0 20 20 20 76 6f 69 64 20 54 63 6c 5f 4d 61 63 4f void Tcl_MacO
10600 53 58 4e 6f 74 69 66 69 65 72 41 64 64 52 75 6e SXNotifierAddRun
10610 4c 6f 6f 70 4d 6f 64 65 28 63 6f 6e 73 74 20 76 LoopMode(const v
10620 6f 69 64 20 2a 72 75 6e 4c 6f 6f 70 4d 6f 64 65 oid *runLoopMode
10630 29 0a 7d 0a 0a 23 23 23 23 23 23 23 23 23 23 23 ).}..###########
10640 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
10650 23 23 23 23 23 0a 23 20 57 69 6e 64 6f 77 73 20 #####.# Windows
10660 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 69 6f specific functio
10670 6e 73 0a 64 65 63 6c 61 72 65 20 33 20 7b 0a 20 ns.declare 3 {.
10680 20 20 20 76 6f 69 64 20 54 63 6c 5f 57 69 6e 43 void Tcl_WinC
10690 6f 6e 76 65 72 74 45 72 72 6f 72 28 75 6e 73 69 onvertError(unsi
106a0 67 6e 65 64 20 65 72 72 43 6f 64 65 29 0a 7d 0a gned errCode).}.
106b0 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 .###############
106c0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
106d0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
106e0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
106f0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a ###############.
10700 0a 23 20 50 75 62 6c 69 63 20 66 75 6e 63 74 69 .# Public functi
10710 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 ons that are not
10720 20 61 63 63 65 73 73 69 62 6c 65 20 76 69 61 20 accessible via
10730 74 68 65 20 73 74 75 62 73 20 74 61 62 6c 65 2e the stubs table.
10740 0a 0a 65 78 70 6f 72 74 20 7b 0a 20 20 20 20 54 ..export {. T
10750 43 4c 5f 4e 4f 52 45 54 55 52 4e 20 76 6f 69 64 CL_NORETURN void
10760 20 54 63 6c 5f 4d 61 69 6e 45 78 28 54 63 6c 5f Tcl_MainEx(Tcl_
10770 53 69 7a 65 20 61 72 67 63 2c 20 63 68 61 72 20 Size argc, char
10780 2a 2a 61 72 67 76 2c 20 54 63 6c 5f 41 70 70 49 **argv, Tcl_AppI
10790 6e 69 74 50 72 6f 63 20 2a 61 70 70 49 6e 69 74 nitProc *appInit
107a0 50 72 6f 63 2c 0a 09 54 63 6c 5f 49 6e 74 65 72 Proc,..Tcl_Inter
107b0 70 20 2a 69 6e 74 65 72 70 29 0a 7d 0a 65 78 70 p *interp).}.exp
107c0 6f 72 74 20 7b 0a 20 20 20 20 76 6f 69 64 20 54 ort {. void T
107d0 63 6c 5f 53 74 61 74 69 63 4c 69 62 72 61 72 79 cl_StaticLibrary
107e0 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
107f0 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
10800 2a 70 72 65 66 69 78 2c 0a 09 20 20 20 20 54 63 *prefix,.. Tc
10810 6c 5f 4c 69 62 72 61 72 79 49 6e 69 74 50 72 6f l_LibraryInitPro
10820 63 20 2a 69 6e 69 74 50 72 6f 63 2c 20 54 63 6c c *initProc, Tcl
10830 5f 4c 69 62 72 61 72 79 49 6e 69 74 50 72 6f 63 _LibraryInitProc
10840 20 2a 73 61 66 65 49 6e 69 74 50 72 6f 63 29 0a *safeInitProc).
10850 7d 0a 65 78 70 6f 72 74 20 7b 0a 20 20 20 20 63 }.export {. c
10860 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 53 onst char *Tcl_S
10870 65 74 50 61 6e 69 63 50 72 6f 63 28 54 63 6c 5f etPanicProc(Tcl_
10880 50 61 6e 69 63 50 72 6f 63 20 2a 70 61 6e 69 63 PanicProc *panic
10890 50 72 6f 63 29 0a 7d 0a 65 78 70 6f 72 74 20 7b Proc).}.export {
108a0 0a 20 20 20 20 54 63 6c 5f 45 78 69 74 50 72 6f . Tcl_ExitPro
108b0 63 20 2a 54 63 6c 5f 53 65 74 45 78 69 74 50 72 c *Tcl_SetExitPr
108c0 6f 63 28 54 63 6c 5f 45 78 69 74 50 72 6f 63 20 oc(Tcl_ExitProc
108d0 2a 70 72 6f 63 29 0a 7d 0a 65 78 70 6f 72 74 20 *proc).}.export
108e0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 {. const char
108f0 20 2a 54 63 6c 5f 46 69 6e 64 45 78 65 63 75 74 *Tcl_FindExecut
10900 61 62 6c 65 28 63 6f 6e 73 74 20 63 68 61 72 20 able(const char
10910 2a 61 72 67 76 30 29 0a 7d 0a 65 78 70 6f 72 74 *argv0).}.export
10920 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 {. const cha
10930 72 20 2a 54 63 6c 5f 49 6e 69 74 53 74 75 62 73 r *Tcl_InitStubs
10940 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 (Tcl_Interp *int
10950 65 72 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 erp, const char
10960 2a 76 65 72 73 69 6f 6e 2c 0a 09 69 6e 74 20 65 *version,..int e
10970 78 61 63 74 29 0a 7d 0a 65 78 70 6f 72 74 20 7b xact).}.export {
10980 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 . const char
10990 2a 54 63 6c 54 6f 6d 4d 61 74 68 49 6e 69 74 69 *TclTomMathIniti
109a0 61 6c 69 7a 65 53 74 75 62 73 28 54 63 6c 5f 49 alizeStubs(Tcl_I
109b0 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 nterp *interp,..
109c0 63 6f 6e 73 74 20 63 68 61 72 2a 20 76 65 72 73 const char* vers
109d0 69 6f 6e 2c 20 69 6e 74 20 65 70 6f 63 68 2c 20 ion, int epoch,
109e0 69 6e 74 20 72 65 76 69 73 69 6f 6e 29 0a 7d 0a int revision).}.
109f0 65 78 70 6f 72 74 20 7b 0a 20 20 20 20 63 6f 6e export {. con
10a00 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 50 6b 67 st char *Tcl_Pkg
10a10 49 6e 69 74 53 74 75 62 73 43 68 65 63 6b 28 54 InitStubsCheck(T
10a20 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 cl_Interp *inter
10a30 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 p, const char *v
10a40 65 72 73 69 6f 6e 2c 0a 09 69 6e 74 20 65 78 61 ersion,..int exa
10a50 63 74 29 0a 7d 0a 65 78 70 6f 72 74 20 7b 0a 20 ct).}.export {.
10a60 20 20 20 76 6f 69 64 20 54 63 6c 5f 47 65 74 4d void Tcl_GetM
10a70 65 6d 6f 72 79 49 6e 66 6f 28 54 63 6c 5f 44 53 emoryInfo(Tcl_DS
10a80 74 72 69 6e 67 20 2a 64 73 50 74 72 29 0a 7d 0a tring *dsPtr).}.
10a90 65 78 70 6f 72 74 20 7b 0a 20 20 20 20 63 6f 6e export {. con
10aa0 73 74 20 63 68 61 72 20 2a 54 63 6c 5f 49 6e 69 st char *Tcl_Ini
10ab0 74 53 75 62 73 79 73 74 65 6d 73 28 76 6f 69 64 tSubsystems(void
10ac0 29 0a 7d 0a 65 78 70 6f 72 74 20 7b 0a 20 20 20 ).}.export {.
10ad0 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 54 63 6c const char *Tcl
10ae0 5a 69 70 66 73 5f 41 70 70 48 6f 6f 6b 28 69 6e Zipfs_AppHook(in
10af0 74 20 2a 61 72 67 63 2c 20 63 68 61 72 20 2a 2a t *argc, char **
10b00 2a 61 72 67 76 29 0a 7d 0a 0a 0a 23 20 4c 6f 63 *argv).}...# Loc
10b10 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 23 20 al Variables:.#
10b20 6d 6f 64 65 3a 20 74 63 6c 0a 23 20 45 6e 64 3a mode: tcl.# End:
10b30 0a .