os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/generic/tcl.decls
Update contrib.
3 # This file contains the declarations for all supported public
4 # functions that are exported by the Tcl library via the stubs table.
5 # This file is used to generate the tclDecls.h, tclPlatDecls.h,
6 # tclStub.c, and tclPlatStub.c files.
9 # Copyright (c) 1998-1999 by Scriptics Corporation.
10 # Copyright (c) 2001, 2002 by Kevin B. Kenny. All rights reserved.
11 # See the file "license.terms" for information on usage and redistribution
12 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 # RCS: @(#) $Id: tcl.decls,v 1.94.2.4 2006/09/22 01:26:22 andreas_kupries Exp $
18 # Define the tcl interface with several sub interfaces:
19 # tclPlat - platform specific public
20 # tclInt - generic private
21 # tclPlatInt - platform specific private
24 hooks {tclPlat tclInt tclIntPlat}
26 # Declare each of the functions in the public Tcl interface. Note that
27 # the an index should never be reused for a different function in order
28 # to preserve backwards compatibility.
31 int Tcl_PkgProvideEx(Tcl_Interp* interp, CONST char* name,
32 CONST char* version, ClientData clientData)
35 CONST84_RETURN char * Tcl_PkgRequireEx(Tcl_Interp *interp, CONST char *name,
36 CONST char *version, int exact, ClientData *clientDataPtr)
39 void Tcl_Panic(CONST char *format, ...)
42 char * Tcl_Alloc(unsigned int size)
45 void Tcl_Free(char *ptr)
48 char * Tcl_Realloc(char *ptr, unsigned int size)
51 char * Tcl_DbCkalloc(unsigned int size, CONST char *file, int line)
54 int Tcl_DbCkfree(char *ptr, CONST char *file, int line)
57 char * Tcl_DbCkrealloc(char *ptr, unsigned int size,
58 CONST char *file, int line)
61 # Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
62 # but they are part of the old generic interface, so we include them here for
63 # compatibility reasons.
66 void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc,
67 ClientData clientData)
70 void Tcl_DeleteFileHandler(int fd)
74 void Tcl_SetTimer(Tcl_Time *timePtr)
77 void Tcl_Sleep(int ms)
80 int Tcl_WaitForEvent(Tcl_Time *timePtr)
83 int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr)
86 void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
89 void Tcl_AppendToObj(Tcl_Obj* objPtr, CONST char* bytes, int length)
92 Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
95 int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr,
99 void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
102 void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
105 int Tcl_DbIsShared(Tcl_Obj *objPtr, CONST char *file, int line)
108 Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, CONST char *file, int line)
111 Tcl_Obj * Tcl_DbNewByteArrayObj(CONST unsigned char *bytes, int length,
112 CONST char *file, int line)
115 Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue,
116 CONST char *file, int line)
119 Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST *objv,
120 CONST char *file, int line)
123 Tcl_Obj * Tcl_DbNewLongObj(long longValue, CONST char *file, int line)
126 Tcl_Obj * Tcl_DbNewObj(CONST char *file, int line)
129 Tcl_Obj * Tcl_DbNewStringObj(CONST char *bytes, int length,
130 CONST char *file, int line)
133 Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
136 void TclFreeObj(Tcl_Obj *objPtr)
139 int Tcl_GetBoolean(Tcl_Interp *interp, CONST char *str, int *boolPtr)
142 int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
146 unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr)
149 int Tcl_GetDouble(Tcl_Interp *interp, CONST char *str, double *doublePtr)
152 int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
156 int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
157 CONST84 char **tablePtr, CONST char *msg, int flags, int *indexPtr)
160 int Tcl_GetInt(Tcl_Interp *interp, CONST char *str, int *intPtr)
163 int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr)
166 int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr)
169 Tcl_ObjType * Tcl_GetObjType(CONST char *typeName)
172 char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr)
175 void Tcl_InvalidateStringRep(Tcl_Obj *objPtr)
178 int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr,
179 Tcl_Obj *elemListPtr)
182 int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr,
186 int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr,
187 int *objcPtr, Tcl_Obj ***objvPtr)
190 int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index,
194 int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr,
198 int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first,
199 int count, int objc, Tcl_Obj *CONST objv[])
202 Tcl_Obj *Tcl_NewBooleanObj(int boolValue)
205 Tcl_Obj *Tcl_NewByteArrayObj(CONST unsigned char* bytes, int length)
208 Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
211 Tcl_Obj * Tcl_NewIntObj(int intValue)
214 Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[])
217 Tcl_Obj * Tcl_NewLongObj(long longValue)
220 Tcl_Obj * Tcl_NewObj(void)
223 Tcl_Obj *Tcl_NewStringObj(CONST char *bytes, int length)
226 void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue)
229 unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
232 void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, CONST unsigned char *bytes,
236 void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
239 void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue)
242 void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[])
245 void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue)
248 void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
251 void Tcl_SetStringObj(Tcl_Obj* objPtr, CONST char* bytes, int length)
254 void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
257 void Tcl_AddObjErrorInfo(Tcl_Interp *interp, CONST char *message,
261 void Tcl_AllowExceptions(Tcl_Interp *interp)
264 void Tcl_AppendElement(Tcl_Interp *interp, CONST char *string)
267 void Tcl_AppendResult(Tcl_Interp *interp, ...)
270 Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc,
271 ClientData clientData)
274 void Tcl_AsyncDelete(Tcl_AsyncHandler async)
277 int Tcl_AsyncInvoke(Tcl_Interp *interp, int code)
280 void Tcl_AsyncMark(Tcl_AsyncHandler async)
283 int Tcl_AsyncReady(void)
286 void Tcl_BackgroundError(Tcl_Interp *interp)
289 char Tcl_Backslash(CONST char *src, int *readPtr)
292 int Tcl_BadChannelOption(Tcl_Interp *interp, CONST char *optionName,
293 CONST char *optionList)
296 void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc,
297 ClientData clientData)
300 void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData)
303 int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
306 int Tcl_CommandComplete(CONST char *cmd)
309 char * Tcl_Concat(int argc, CONST84 char * CONST *argv)
312 int Tcl_ConvertElement(CONST char *src, char *dst, int flags)
315 int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst,
319 int Tcl_CreateAlias(Tcl_Interp *slave, CONST char *slaveCmd,
320 Tcl_Interp *target, CONST char *targetCmd, int argc,
321 CONST84 char * CONST *argv)
324 int Tcl_CreateAliasObj(Tcl_Interp *slave, CONST char *slaveCmd,
325 Tcl_Interp *target, CONST char *targetCmd, int objc,
326 Tcl_Obj *CONST objv[])
329 Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr,
330 CONST char *chanName, ClientData instanceData, int mask)
333 void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask,
334 Tcl_ChannelProc *proc, ClientData clientData)
337 void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc,
338 ClientData clientData)
341 Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, CONST char *cmdName,
342 Tcl_CmdProc *proc, ClientData clientData,
343 Tcl_CmdDeleteProc *deleteProc)
346 void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc,
347 Tcl_EventCheckProc *checkProc, ClientData clientData)
350 void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData)
353 Tcl_Interp * Tcl_CreateInterp(void)
356 void Tcl_CreateMathFunc(Tcl_Interp *interp, CONST char *name,
357 int numArgs, Tcl_ValueType *argTypes,
358 Tcl_MathProc *proc, ClientData clientData)
361 Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp,
363 Tcl_ObjCmdProc *proc, ClientData clientData,
364 Tcl_CmdDeleteProc *deleteProc)
367 Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, CONST char *slaveName,
371 Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds,
372 Tcl_TimerProc *proc, ClientData clientData)
375 Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level,
376 Tcl_CmdTraceProc *proc, ClientData clientData)
378 declare 100 generic {
379 void Tcl_DeleteAssocData(Tcl_Interp *interp, CONST char *name)
381 declare 101 generic {
382 void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc,
383 ClientData clientData)
385 declare 102 generic {
386 void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc,
387 ClientData clientData)
389 declare 103 generic {
390 int Tcl_DeleteCommand(Tcl_Interp *interp, CONST char *cmdName)
392 declare 104 generic {
393 int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command)
395 declare 105 generic {
396 void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData)
398 declare 106 generic {
399 void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc,
400 Tcl_EventCheckProc *checkProc, ClientData clientData)
402 declare 107 generic {
403 void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData)
405 declare 108 generic {
406 void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr)
408 declare 109 generic {
409 void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr)
411 declare 110 generic {
412 void Tcl_DeleteInterp(Tcl_Interp *interp)
414 declare 111 {unix win} {
415 void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr)
417 declare 112 generic {
418 void Tcl_DeleteTimerHandler(Tcl_TimerToken token)
420 declare 113 generic {
421 void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace)
423 declare 114 generic {
424 void Tcl_DontCallWhenDeleted(Tcl_Interp *interp,
425 Tcl_InterpDeleteProc *proc, ClientData clientData)
427 declare 115 generic {
428 int Tcl_DoOneEvent(int flags)
430 declare 116 generic {
431 void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData)
433 declare 117 generic {
434 char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *str, int length)
436 declare 118 generic {
437 char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string)
439 declare 119 generic {
440 void Tcl_DStringEndSublist(Tcl_DString *dsPtr)
442 declare 120 generic {
443 void Tcl_DStringFree(Tcl_DString *dsPtr)
445 declare 121 generic {
446 void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
448 declare 122 generic {
449 void Tcl_DStringInit(Tcl_DString *dsPtr)
451 declare 123 generic {
452 void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr)
454 declare 124 generic {
455 void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length)
457 declare 125 generic {
458 void Tcl_DStringStartSublist(Tcl_DString *dsPtr)
460 declare 126 generic {
461 int Tcl_Eof(Tcl_Channel chan)
463 declare 127 generic {
464 CONST84_RETURN char * Tcl_ErrnoId(void)
466 declare 128 generic {
467 CONST84_RETURN char * Tcl_ErrnoMsg(int err)
469 declare 129 generic {
470 int Tcl_Eval(Tcl_Interp *interp, CONST char *string)
472 # This is obsolete, use Tcl_FSEvalFile
473 declare 130 generic {
474 int Tcl_EvalFile(Tcl_Interp *interp, CONST char *fileName)
476 declare 131 generic {
477 int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
479 declare 132 generic {
480 void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc)
482 declare 133 generic {
483 void Tcl_Exit(int status)
485 declare 134 generic {
486 int Tcl_ExposeCommand(Tcl_Interp *interp, CONST char *hiddenCmdToken,
489 declare 135 generic {
490 int Tcl_ExprBoolean(Tcl_Interp *interp, CONST char *str, int *ptr)
492 declare 136 generic {
493 int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr)
495 declare 137 generic {
496 int Tcl_ExprDouble(Tcl_Interp *interp, CONST char *str, double *ptr)
498 declare 138 generic {
499 int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr)
501 declare 139 generic {
502 int Tcl_ExprLong(Tcl_Interp *interp, CONST char *str, long *ptr)
504 declare 140 generic {
505 int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr)
507 declare 141 generic {
508 int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
509 Tcl_Obj **resultPtrPtr)
511 declare 142 generic {
512 int Tcl_ExprString(Tcl_Interp *interp, CONST char *string)
514 declare 143 generic {
515 void Tcl_Finalize(void)
517 declare 144 generic {
518 void Tcl_FindExecutable(CONST char *argv0)
520 declare 145 generic {
521 Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr,
522 Tcl_HashSearch *searchPtr)
524 declare 146 generic {
525 int Tcl_Flush(Tcl_Channel chan)
527 declare 147 generic {
528 void Tcl_FreeResult(Tcl_Interp *interp)
530 declare 148 generic {
531 int Tcl_GetAlias(Tcl_Interp *interp, CONST char *slaveCmd,
532 Tcl_Interp **targetInterpPtr, CONST84 char **targetCmdPtr,
533 int *argcPtr, CONST84 char ***argvPtr)
535 declare 149 generic {
536 int Tcl_GetAliasObj(Tcl_Interp *interp, CONST char *slaveCmd,
537 Tcl_Interp **targetInterpPtr, CONST84 char **targetCmdPtr,
538 int *objcPtr, Tcl_Obj ***objv)
540 declare 150 generic {
541 ClientData Tcl_GetAssocData(Tcl_Interp *interp, CONST char *name,
542 Tcl_InterpDeleteProc **procPtr)
544 declare 151 generic {
545 Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, CONST char *chanName,
548 declare 152 generic {
549 int Tcl_GetChannelBufferSize(Tcl_Channel chan)
551 declare 153 generic {
552 int Tcl_GetChannelHandle(Tcl_Channel chan, int direction,
553 ClientData *handlePtr)
555 declare 154 generic {
556 ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan)
558 declare 155 generic {
559 int Tcl_GetChannelMode(Tcl_Channel chan)
561 declare 156 generic {
562 CONST84_RETURN char * Tcl_GetChannelName(Tcl_Channel chan)
564 declare 157 generic {
565 int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan,
566 CONST char *optionName, Tcl_DString *dsPtr)
568 declare 158 generic {
569 Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan)
571 declare 159 generic {
572 int Tcl_GetCommandInfo(Tcl_Interp *interp, CONST char *cmdName,
573 Tcl_CmdInfo *infoPtr)
575 declare 160 generic {
576 CONST84_RETURN char * Tcl_GetCommandName(Tcl_Interp *interp,
579 declare 161 generic {
580 int Tcl_GetErrno(void)
582 declare 162 generic {
583 CONST84_RETURN char * Tcl_GetHostName(void)
585 declare 163 generic {
586 int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp)
588 declare 164 generic {
589 Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp)
591 declare 165 generic {
592 CONST char * Tcl_GetNameOfExecutable(void)
594 declare 166 generic {
595 Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp)
598 # Tcl_GetOpenFile is only available on unix, but it is a part of the old
599 # generic interface, so we inlcude it here for compatibility reasons.
602 int Tcl_GetOpenFile(Tcl_Interp *interp, CONST char *str, int forWriting,
603 int checkUsage, ClientData *filePtr)
605 # Obsolete. Should now use Tcl_FSGetPathType which is objectified
606 # and therefore usually faster.
607 declare 168 generic {
608 Tcl_PathType Tcl_GetPathType(CONST char *path)
610 declare 169 generic {
611 int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr)
613 declare 170 generic {
614 int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr)
616 declare 171 generic {
617 int Tcl_GetServiceMode(void)
619 declare 172 generic {
620 Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, CONST char *slaveName)
622 declare 173 generic {
623 Tcl_Channel Tcl_GetStdChannel(int type)
625 declare 174 generic {
626 CONST84_RETURN char * Tcl_GetStringResult(Tcl_Interp *interp)
628 declare 175 generic {
629 CONST84_RETURN char * Tcl_GetVar(Tcl_Interp *interp, CONST char *varName,
632 declare 176 generic {
633 CONST84_RETURN char * Tcl_GetVar2(Tcl_Interp *interp, CONST char *part1,
634 CONST char *part2, int flags)
636 declare 177 generic {
637 int Tcl_GlobalEval(Tcl_Interp *interp, CONST char *command)
639 declare 178 generic {
640 int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
642 declare 179 generic {
643 int Tcl_HideCommand(Tcl_Interp *interp, CONST char *cmdName,
644 CONST char *hiddenCmdToken)
646 declare 180 generic {
647 int Tcl_Init(Tcl_Interp *interp)
649 declare 181 generic {
650 void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType)
652 declare 182 generic {
653 int Tcl_InputBlocked(Tcl_Channel chan)
655 declare 183 generic {
656 int Tcl_InputBuffered(Tcl_Channel chan)
658 declare 184 generic {
659 int Tcl_InterpDeleted(Tcl_Interp *interp)
661 declare 185 generic {
662 int Tcl_IsSafe(Tcl_Interp *interp)
664 # Obsolete, use Tcl_FSJoinPath
665 declare 186 generic {
666 char * Tcl_JoinPath(int argc, CONST84 char * CONST *argv,
667 Tcl_DString *resultPtr)
669 declare 187 generic {
670 int Tcl_LinkVar(Tcl_Interp *interp, CONST char *varName, char *addr,
674 # This slot is reserved for use by the plus patch:
675 # declare 188 generic {
679 declare 189 generic {
680 Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode)
682 declare 190 generic {
683 int Tcl_MakeSafe(Tcl_Interp *interp)
685 declare 191 generic {
686 Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket)
688 declare 192 generic {
689 char * Tcl_Merge(int argc, CONST84 char * CONST *argv)
691 declare 193 generic {
692 Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr)
694 declare 194 generic {
695 void Tcl_NotifyChannel(Tcl_Channel channel, int mask)
697 declare 195 generic {
698 Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
699 Tcl_Obj *part2Ptr, int flags)
701 declare 196 generic {
702 Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr,
703 Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags)
705 declare 197 {unix win} {
706 Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc,
707 CONST84 char **argv, int flags)
709 # This is obsolete, use Tcl_FSOpenFileChannel
710 declare 198 generic {
711 Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, CONST char *fileName,
712 CONST char *modeString, int permissions)
714 declare 199 generic {
715 Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port,
716 CONST char *address, CONST char *myaddr, int myport, int async)
718 declare 200 generic {
719 Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port,
720 CONST char *host, Tcl_TcpAcceptProc *acceptProc,
721 ClientData callbackData)
723 declare 201 generic {
724 void Tcl_Preserve(ClientData data)
726 declare 202 generic {
727 void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst)
729 declare 203 generic {
730 int Tcl_PutEnv(CONST char *string)
732 declare 204 generic {
733 CONST84_RETURN char * Tcl_PosixError(Tcl_Interp *interp)
735 declare 205 generic {
736 void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position)
738 declare 206 generic {
739 int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead)
741 declare 207 {unix win} {
742 void Tcl_ReapDetachedProcs(void)
744 declare 208 generic {
745 int Tcl_RecordAndEval(Tcl_Interp *interp, CONST char *cmd, int flags)
747 declare 209 generic {
748 int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags)
750 declare 210 generic {
751 void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
753 declare 211 generic {
754 void Tcl_RegisterObjType(Tcl_ObjType *typePtr)
756 declare 212 generic {
757 Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, CONST char *string)
759 declare 213 generic {
760 int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp,
761 CONST char *str, CONST char *start)
763 declare 214 generic {
764 int Tcl_RegExpMatch(Tcl_Interp *interp, CONST char *str,
767 declare 215 generic {
768 void Tcl_RegExpRange(Tcl_RegExp regexp, int index,
769 CONST84 char **startPtr, CONST84 char **endPtr)
771 declare 216 generic {
772 void Tcl_Release(ClientData clientData)
774 declare 217 generic {
775 void Tcl_ResetResult(Tcl_Interp *interp)
777 declare 218 generic {
778 int Tcl_ScanElement(CONST char *str, int *flagPtr)
780 declare 219 generic {
781 int Tcl_ScanCountedElement(CONST char *str, int length, int *flagPtr)
784 declare 220 generic {
785 int Tcl_SeekOld(Tcl_Channel chan, int offset, int mode)
787 declare 221 generic {
788 int Tcl_ServiceAll(void)
790 declare 222 generic {
791 int Tcl_ServiceEvent(int flags)
793 declare 223 generic {
794 void Tcl_SetAssocData(Tcl_Interp *interp, CONST char *name,
795 Tcl_InterpDeleteProc *proc, ClientData clientData)
797 declare 224 generic {
798 void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz)
800 declare 225 generic {
801 int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan,
802 CONST char *optionName, CONST char *newValue)
804 declare 226 generic {
805 int Tcl_SetCommandInfo(Tcl_Interp *interp, CONST char *cmdName,
806 CONST Tcl_CmdInfo *infoPtr)
808 declare 227 generic {
809 void Tcl_SetErrno(int err)
811 declare 228 generic {
812 void Tcl_SetErrorCode(Tcl_Interp *interp, ...)
814 declare 229 generic {
815 void Tcl_SetMaxBlockTime(Tcl_Time *timePtr)
817 declare 230 generic {
818 void Tcl_SetPanicProc(Tcl_PanicProc *panicProc)
820 declare 231 generic {
821 int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth)
823 declare 232 generic {
824 void Tcl_SetResult(Tcl_Interp *interp, char *str,
825 Tcl_FreeProc *freeProc)
827 declare 233 generic {
828 int Tcl_SetServiceMode(int mode)
830 declare 234 generic {
831 void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr)
833 declare 235 generic {
834 void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr)
836 declare 236 generic {
837 void Tcl_SetStdChannel(Tcl_Channel channel, int type)
839 declare 237 generic {
840 CONST84_RETURN char * Tcl_SetVar(Tcl_Interp *interp, CONST char *varName,
841 CONST char *newValue, int flags)
843 declare 238 generic {
844 CONST84_RETURN char * Tcl_SetVar2(Tcl_Interp *interp, CONST char *part1,
845 CONST char *part2, CONST char *newValue, int flags)
847 declare 239 generic {
848 CONST84_RETURN char * Tcl_SignalId(int sig)
850 declare 240 generic {
851 CONST84_RETURN char * Tcl_SignalMsg(int sig)
853 declare 241 generic {
854 void Tcl_SourceRCFile(Tcl_Interp *interp)
856 declare 242 generic {
857 int Tcl_SplitList(Tcl_Interp *interp, CONST char *listStr, int *argcPtr,
858 CONST84 char ***argvPtr)
860 # Obsolete, use Tcl_FSSplitPath
861 declare 243 generic {
862 void Tcl_SplitPath(CONST char *path, int *argcPtr, CONST84 char ***argvPtr)
864 declare 244 generic {
865 void Tcl_StaticPackage(Tcl_Interp *interp, CONST char *pkgName,
866 Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
868 declare 245 generic {
869 int Tcl_StringMatch(CONST char *str, CONST char *pattern)
872 declare 246 generic {
873 int Tcl_TellOld(Tcl_Channel chan)
875 declare 247 generic {
876 int Tcl_TraceVar(Tcl_Interp *interp, CONST char *varName, int flags,
877 Tcl_VarTraceProc *proc, ClientData clientData)
879 declare 248 generic {
880 int Tcl_TraceVar2(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
881 int flags, Tcl_VarTraceProc *proc, ClientData clientData)
883 declare 249 generic {
884 char * Tcl_TranslateFileName(Tcl_Interp *interp, CONST char *name,
885 Tcl_DString *bufferPtr)
887 declare 250 generic {
888 int Tcl_Ungets(Tcl_Channel chan, CONST char *str, int len, int atHead)
890 declare 251 generic {
891 void Tcl_UnlinkVar(Tcl_Interp *interp, CONST char *varName)
893 declare 252 generic {
894 int Tcl_UnregisterChannel(Tcl_Interp *interp, Tcl_Channel chan)
896 declare 253 generic {
897 int Tcl_UnsetVar(Tcl_Interp *interp, CONST char *varName, int flags)
899 declare 254 generic {
900 int Tcl_UnsetVar2(Tcl_Interp *interp, CONST char *part1, CONST char *part2,
903 declare 255 generic {
904 void Tcl_UntraceVar(Tcl_Interp *interp, CONST char *varName, int flags,
905 Tcl_VarTraceProc *proc, ClientData clientData)
907 declare 256 generic {
908 void Tcl_UntraceVar2(Tcl_Interp *interp, CONST char *part1,
909 CONST char *part2, int flags, Tcl_VarTraceProc *proc,
910 ClientData clientData)
912 declare 257 generic {
913 void Tcl_UpdateLinkedVar(Tcl_Interp *interp, CONST char *varName)
915 declare 258 generic {
916 int Tcl_UpVar(Tcl_Interp *interp, CONST char *frameName,
917 CONST char *varName, CONST char *localName, int flags)
919 declare 259 generic {
920 int Tcl_UpVar2(Tcl_Interp *interp, CONST char *frameName, CONST char *part1,
921 CONST char *part2, CONST char *localName, int flags)
923 declare 260 generic {
924 int Tcl_VarEval(Tcl_Interp *interp, ...)
926 declare 261 generic {
927 ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, CONST char *varName,
928 int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)
930 declare 262 generic {
931 ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, CONST char *part1,
932 CONST char *part2, int flags, Tcl_VarTraceProc *procPtr,
933 ClientData prevClientData)
935 declare 263 generic {
936 int Tcl_Write(Tcl_Channel chan, CONST char *s, int slen)
938 declare 264 generic {
939 void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc,
940 Tcl_Obj *CONST objv[], CONST char *message)
942 declare 265 generic {
943 int Tcl_DumpActiveMemory(CONST char *fileName)
945 declare 266 generic {
946 void Tcl_ValidateAllMemory(CONST char *file, int line)
949 declare 267 generic {
950 void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
952 declare 268 generic {
953 void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList)
955 declare 269 generic {
956 CONST84_RETURN char * Tcl_HashStats(Tcl_HashTable *tablePtr)
958 declare 270 generic {
959 CONST84_RETURN char * Tcl_ParseVar(Tcl_Interp *interp, CONST char *str,
960 CONST84 char **termPtr)
962 declare 271 generic {
963 CONST84_RETURN char * Tcl_PkgPresent(Tcl_Interp *interp, CONST char *name,
964 CONST char *version, int exact)
966 declare 272 generic {
967 CONST84_RETURN char * Tcl_PkgPresentEx(Tcl_Interp *interp, CONST char *name,
968 CONST char *version, int exact, ClientData *clientDataPtr)
970 declare 273 generic {
971 int Tcl_PkgProvide(Tcl_Interp *interp, CONST char *name,
975 # TIP #268: The internally used new Require function is in slot
976 # 573. Assuming TCL_TIP268 was activated.
978 declare 274 generic {
979 CONST84_RETURN char * Tcl_PkgRequire(Tcl_Interp *interp, CONST char *name,
980 CONST char *version, int exact)
982 declare 275 generic {
983 void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
985 declare 276 generic {
986 int Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList)
988 declare 277 generic {
989 Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options)
991 declare 278 generic {
992 void Tcl_PanicVA(CONST char *format, va_list argList)
994 declare 279 generic {
995 void Tcl_GetVersion(int *major, int *minor, int *patchLevel, int *type)
997 declare 280 generic {
998 void Tcl_InitMemory(Tcl_Interp *interp)
1001 # Andreas Kupries <a.kupries@westend.com>, 03/21/1999
1002 # "Trf-Patch for filtering channels"
1004 # C-Level API for (un)stacking of channels. This allows the introduction
1005 # of filtering channels with relatively little changes to the core.
1006 # This patch was created in cooperation with Jan Nijtmans j.nijtmans@chello.nl
1007 # and is therefore part of his plus-patches too.
1009 # It would have been possible to place the following definitions according
1010 # to the alphabetical order used elsewhere in this file, but I decided
1011 # against that to ease the maintenance of the patch across new tcl versions
1012 # (patch usually has no problems to integrate the patch file for the last
1013 # version into the new one).
1015 declare 281 generic {
1016 Tcl_Channel Tcl_StackChannel(Tcl_Interp *interp, Tcl_ChannelType *typePtr,
1017 ClientData instanceData, int mask, Tcl_Channel prevChan)
1019 declare 282 generic {
1020 int Tcl_UnstackChannel(Tcl_Interp *interp, Tcl_Channel chan)
1022 declare 283 generic {
1023 Tcl_Channel Tcl_GetStackedChannel(Tcl_Channel chan)
1026 # 284 was reserved, but added in 8.4a2
1027 declare 284 generic {
1028 void Tcl_SetMainLoop(Tcl_MainLoopProc *proc)
1031 # Reserved for future use (8.0.x vs. 8.1)
1032 # declare 285 generic {
1038 declare 286 generic {
1039 void Tcl_AppendObjToObj(Tcl_Obj *objPtr, Tcl_Obj *appendObjPtr)
1041 declare 287 generic {
1042 Tcl_Encoding Tcl_CreateEncoding(Tcl_EncodingType *typePtr)
1044 declare 288 generic {
1045 void Tcl_CreateThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
1047 declare 289 generic {
1048 void Tcl_DeleteThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
1050 declare 290 generic {
1051 void Tcl_DiscardResult(Tcl_SavedResult *statePtr)
1053 declare 291 generic {
1054 int Tcl_EvalEx(Tcl_Interp *interp, CONST char *script, int numBytes,
1057 declare 292 generic {
1058 int Tcl_EvalObjv(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[],
1061 declare 293 generic {
1062 int Tcl_EvalObjEx(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags)
1064 declare 294 generic {
1065 void Tcl_ExitThread(int status)
1067 declare 295 generic {
1068 int Tcl_ExternalToUtf(Tcl_Interp *interp, Tcl_Encoding encoding,
1069 CONST char *src, int srcLen, int flags,
1070 Tcl_EncodingState *statePtr, char *dst, int dstLen,
1071 int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
1073 declare 296 generic {
1074 char * Tcl_ExternalToUtfDString(Tcl_Encoding encoding,
1075 CONST char *src, int srcLen, Tcl_DString *dsPtr)
1077 declare 297 generic {
1078 void Tcl_FinalizeThread(void)
1080 declare 298 generic {
1081 void Tcl_FinalizeNotifier(ClientData clientData)
1083 declare 299 generic {
1084 void Tcl_FreeEncoding(Tcl_Encoding encoding)
1086 declare 300 generic {
1087 Tcl_ThreadId Tcl_GetCurrentThread(void)
1089 declare 301 generic {
1090 Tcl_Encoding Tcl_GetEncoding(Tcl_Interp *interp, CONST char *name)
1092 declare 302 generic {
1093 CONST84_RETURN char * Tcl_GetEncodingName(Tcl_Encoding encoding)
1095 declare 303 generic {
1096 void Tcl_GetEncodingNames(Tcl_Interp *interp)
1098 declare 304 generic {
1099 int Tcl_GetIndexFromObjStruct(Tcl_Interp *interp, Tcl_Obj *objPtr,
1100 CONST VOID *tablePtr, int offset, CONST char *msg, int flags,
1103 declare 305 generic {
1104 VOID * Tcl_GetThreadData(Tcl_ThreadDataKey *keyPtr, int size)
1106 declare 306 generic {
1107 Tcl_Obj * Tcl_GetVar2Ex(Tcl_Interp *interp, CONST char *part1,
1108 CONST char *part2, int flags)
1110 declare 307 generic {
1111 ClientData Tcl_InitNotifier(void)
1113 declare 308 generic {
1114 void Tcl_MutexLock(Tcl_Mutex *mutexPtr)
1116 declare 309 generic {
1117 void Tcl_MutexUnlock(Tcl_Mutex *mutexPtr)
1119 declare 310 generic {
1120 void Tcl_ConditionNotify(Tcl_Condition *condPtr)
1122 declare 311 generic {
1123 void Tcl_ConditionWait(Tcl_Condition *condPtr, Tcl_Mutex *mutexPtr,
1126 declare 312 generic {
1127 int Tcl_NumUtfChars(CONST char *src, int len)
1129 declare 313 generic {
1130 int Tcl_ReadChars(Tcl_Channel channel, Tcl_Obj *objPtr, int charsToRead,
1133 declare 314 generic {
1134 void Tcl_RestoreResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
1136 declare 315 generic {
1137 void Tcl_SaveResult(Tcl_Interp *interp, Tcl_SavedResult *statePtr)
1139 declare 316 generic {
1140 int Tcl_SetSystemEncoding(Tcl_Interp *interp, CONST char *name)
1142 declare 317 generic {
1143 Tcl_Obj * Tcl_SetVar2Ex(Tcl_Interp *interp, CONST char *part1,
1144 CONST char *part2, Tcl_Obj *newValuePtr, int flags)
1146 declare 318 generic {
1147 void Tcl_ThreadAlert(Tcl_ThreadId threadId)
1149 declare 319 generic {
1150 void Tcl_ThreadQueueEvent(Tcl_ThreadId threadId, Tcl_Event* evPtr,
1151 Tcl_QueuePosition position)
1153 declare 320 generic {
1154 Tcl_UniChar Tcl_UniCharAtIndex(CONST char *src, int index)
1156 declare 321 generic {
1157 Tcl_UniChar Tcl_UniCharToLower(int ch)
1159 declare 322 generic {
1160 Tcl_UniChar Tcl_UniCharToTitle(int ch)
1162 declare 323 generic {
1163 Tcl_UniChar Tcl_UniCharToUpper(int ch)
1165 declare 324 generic {
1166 int Tcl_UniCharToUtf(int ch, char *buf)
1168 declare 325 generic {
1169 CONST84_RETURN char * Tcl_UtfAtIndex(CONST char *src, int index)
1171 declare 326 generic {
1172 int Tcl_UtfCharComplete(CONST char *src, int len)
1174 declare 327 generic {
1175 int Tcl_UtfBackslash(CONST char *src, int *readPtr, char *dst)
1177 declare 328 generic {
1178 CONST84_RETURN char * Tcl_UtfFindFirst(CONST char *src, int ch)
1180 declare 329 generic {
1181 CONST84_RETURN char * Tcl_UtfFindLast(CONST char *src, int ch)
1183 declare 330 generic {
1184 CONST84_RETURN char * Tcl_UtfNext(CONST char *src)
1186 declare 331 generic {
1187 CONST84_RETURN char * Tcl_UtfPrev(CONST char *src, CONST char *start)
1189 declare 332 generic {
1190 int Tcl_UtfToExternal(Tcl_Interp *interp, Tcl_Encoding encoding,
1191 CONST char *src, int srcLen, int flags,
1192 Tcl_EncodingState *statePtr, char *dst, int dstLen,
1193 int *srcReadPtr, int *dstWrotePtr, int *dstCharsPtr)
1195 declare 333 generic {
1196 char * Tcl_UtfToExternalDString(Tcl_Encoding encoding,
1197 CONST char *src, int srcLen, Tcl_DString *dsPtr)
1199 declare 334 generic {
1200 int Tcl_UtfToLower(char *src)
1202 declare 335 generic {
1203 int Tcl_UtfToTitle(char *src)
1205 declare 336 generic {
1206 int Tcl_UtfToUniChar(CONST char *src, Tcl_UniChar *chPtr)
1208 declare 337 generic {
1209 int Tcl_UtfToUpper(char *src)
1211 declare 338 generic {
1212 int Tcl_WriteChars(Tcl_Channel chan, CONST char *src, int srcLen)
1214 declare 339 generic {
1215 int Tcl_WriteObj(Tcl_Channel chan, Tcl_Obj *objPtr)
1217 declare 340 generic {
1218 char * Tcl_GetString(Tcl_Obj *objPtr)
1220 declare 341 generic {
1221 CONST84_RETURN char * Tcl_GetDefaultEncodingDir(void)
1223 declare 342 generic {
1224 void Tcl_SetDefaultEncodingDir(CONST char *path)
1226 declare 343 generic {
1227 void Tcl_AlertNotifier(ClientData clientData)
1229 declare 344 generic {
1230 void Tcl_ServiceModeHook(int mode)
1232 declare 345 generic {
1233 int Tcl_UniCharIsAlnum(int ch)
1235 declare 346 generic {
1236 int Tcl_UniCharIsAlpha(int ch)
1238 declare 347 generic {
1239 int Tcl_UniCharIsDigit(int ch)
1241 declare 348 generic {
1242 int Tcl_UniCharIsLower(int ch)
1244 declare 349 generic {
1245 int Tcl_UniCharIsSpace(int ch)
1247 declare 350 generic {
1248 int Tcl_UniCharIsUpper(int ch)
1250 declare 351 generic {
1251 int Tcl_UniCharIsWordChar(int ch)
1253 declare 352 generic {
1254 int Tcl_UniCharLen(CONST Tcl_UniChar *str)
1256 declare 353 generic {
1257 int Tcl_UniCharNcmp(CONST Tcl_UniChar *cs, CONST Tcl_UniChar *ct,
1260 declare 354 generic {
1261 char * Tcl_UniCharToUtfDString(CONST Tcl_UniChar *string,
1262 int numChars, Tcl_DString *dsPtr)
1264 declare 355 generic {
1265 Tcl_UniChar * Tcl_UtfToUniCharDString(CONST char *string,
1266 int length, Tcl_DString *dsPtr)
1268 declare 356 generic {
1269 Tcl_RegExp Tcl_GetRegExpFromObj(Tcl_Interp *interp, Tcl_Obj *patObj,
1273 declare 357 generic {
1274 Tcl_Obj *Tcl_EvalTokens(Tcl_Interp *interp, Tcl_Token *tokenPtr,
1277 declare 358 generic {
1278 void Tcl_FreeParse(Tcl_Parse *parsePtr)
1280 declare 359 generic {
1281 void Tcl_LogCommandInfo(Tcl_Interp *interp, CONST char *script,
1282 CONST char *command, int length)
1284 declare 360 generic {
1285 int Tcl_ParseBraces(Tcl_Interp *interp, CONST char *string, int numBytes,
1286 Tcl_Parse *parsePtr, int append, CONST84 char **termPtr)
1288 declare 361 generic {
1289 int Tcl_ParseCommand(Tcl_Interp *interp, CONST char *string, int numBytes,
1290 int nested, Tcl_Parse *parsePtr)
1292 declare 362 generic {
1293 int Tcl_ParseExpr(Tcl_Interp *interp, CONST char *string, int numBytes,
1294 Tcl_Parse *parsePtr)
1296 declare 363 generic {
1297 int Tcl_ParseQuotedString(Tcl_Interp *interp, CONST char *string,
1298 int numBytes, Tcl_Parse *parsePtr, int append,
1299 CONST84 char **termPtr)
1301 declare 364 generic {
1302 int Tcl_ParseVarName(Tcl_Interp *interp, CONST char *string, int numBytes,
1303 Tcl_Parse *parsePtr, int append)
1305 # These 4 functions are obsolete, use Tcl_FSGetCwd, Tcl_FSChdir,
1306 # Tcl_FSAccess and Tcl_FSStat
1307 declare 365 generic {
1308 char *Tcl_GetCwd(Tcl_Interp *interp, Tcl_DString *cwdPtr)
1310 declare 366 generic {
1311 int Tcl_Chdir(CONST char *dirName)
1313 declare 367 generic {
1314 int Tcl_Access(CONST char *path, int mode)
1316 declare 368 generic {
1317 int Tcl_Stat(CONST char *path, struct stat *bufPtr)
1319 declare 369 generic {
1320 int Tcl_UtfNcmp(CONST char *s1, CONST char *s2, unsigned long n)
1322 declare 370 generic {
1323 int Tcl_UtfNcasecmp(CONST char *s1, CONST char *s2, unsigned long n)
1325 declare 371 generic {
1326 int Tcl_StringCaseMatch(CONST char *str, CONST char *pattern, int nocase)
1328 declare 372 generic {
1329 int Tcl_UniCharIsControl(int ch)
1331 declare 373 generic {
1332 int Tcl_UniCharIsGraph(int ch)
1334 declare 374 generic {
1335 int Tcl_UniCharIsPrint(int ch)
1337 declare 375 generic {
1338 int Tcl_UniCharIsPunct(int ch)
1340 declare 376 generic {
1341 int Tcl_RegExpExecObj(Tcl_Interp *interp, Tcl_RegExp regexp,
1342 Tcl_Obj *objPtr, int offset, int nmatches, int flags)
1344 declare 377 generic {
1345 void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo *infoPtr)
1347 declare 378 generic {
1348 Tcl_Obj * Tcl_NewUnicodeObj(CONST Tcl_UniChar *unicode, int numChars)
1350 declare 379 generic {
1351 void Tcl_SetUnicodeObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
1354 declare 380 generic {
1355 int Tcl_GetCharLength(Tcl_Obj *objPtr)
1357 declare 381 generic {
1358 Tcl_UniChar Tcl_GetUniChar(Tcl_Obj *objPtr, int index)
1360 declare 382 generic {
1361 Tcl_UniChar * Tcl_GetUnicode(Tcl_Obj *objPtr)
1363 declare 383 generic {
1364 Tcl_Obj * Tcl_GetRange(Tcl_Obj *objPtr, int first, int last)
1366 declare 384 generic {
1367 void Tcl_AppendUnicodeToObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
1370 declare 385 generic {
1371 int Tcl_RegExpMatchObj(Tcl_Interp *interp, Tcl_Obj *stringObj,
1372 Tcl_Obj *patternObj)
1374 declare 386 generic {
1375 void Tcl_SetNotifier(Tcl_NotifierProcs *notifierProcPtr)
1377 declare 387 generic {
1378 Tcl_Mutex * Tcl_GetAllocMutex(void)
1380 declare 388 generic {
1381 int Tcl_GetChannelNames(Tcl_Interp *interp)
1383 declare 389 generic {
1384 int Tcl_GetChannelNamesEx(Tcl_Interp *interp, CONST char *pattern)
1386 declare 390 generic {
1387 int Tcl_ProcObjCmd(ClientData clientData, Tcl_Interp *interp,
1388 int objc, Tcl_Obj *CONST objv[])
1390 declare 391 generic {
1391 void Tcl_ConditionFinalize(Tcl_Condition *condPtr)
1393 declare 392 generic {
1394 void Tcl_MutexFinalize(Tcl_Mutex *mutex)
1396 declare 393 generic {
1397 int Tcl_CreateThread(Tcl_ThreadId *idPtr, Tcl_ThreadCreateProc proc,
1398 ClientData clientData, int stackSize, int flags)
1401 # Introduced in 8.3.2
1402 declare 394 generic {
1403 int Tcl_ReadRaw(Tcl_Channel chan, char *dst, int bytesToRead)
1405 declare 395 generic {
1406 int Tcl_WriteRaw(Tcl_Channel chan, CONST char *src, int srcLen)
1408 declare 396 generic {
1409 Tcl_Channel Tcl_GetTopChannel(Tcl_Channel chan)
1411 declare 397 generic {
1412 int Tcl_ChannelBuffered(Tcl_Channel chan)
1414 declare 398 generic {
1415 CONST84_RETURN char * Tcl_ChannelName(Tcl_ChannelType *chanTypePtr)
1417 declare 399 generic {
1418 Tcl_ChannelTypeVersion Tcl_ChannelVersion(Tcl_ChannelType *chanTypePtr)
1420 declare 400 generic {
1421 Tcl_DriverBlockModeProc * Tcl_ChannelBlockModeProc(Tcl_ChannelType
1424 declare 401 generic {
1425 Tcl_DriverCloseProc * Tcl_ChannelCloseProc(Tcl_ChannelType *chanTypePtr)
1427 declare 402 generic {
1428 Tcl_DriverClose2Proc * Tcl_ChannelClose2Proc(Tcl_ChannelType *chanTypePtr)
1430 declare 403 generic {
1431 Tcl_DriverInputProc * Tcl_ChannelInputProc(Tcl_ChannelType *chanTypePtr)
1433 declare 404 generic {
1434 Tcl_DriverOutputProc * Tcl_ChannelOutputProc(Tcl_ChannelType *chanTypePtr)
1436 declare 405 generic {
1437 Tcl_DriverSeekProc * Tcl_ChannelSeekProc(Tcl_ChannelType *chanTypePtr)
1439 declare 406 generic {
1440 Tcl_DriverSetOptionProc * Tcl_ChannelSetOptionProc(Tcl_ChannelType
1443 declare 407 generic {
1444 Tcl_DriverGetOptionProc * Tcl_ChannelGetOptionProc(Tcl_ChannelType
1447 declare 408 generic {
1448 Tcl_DriverWatchProc * Tcl_ChannelWatchProc(Tcl_ChannelType *chanTypePtr)
1450 declare 409 generic {
1451 Tcl_DriverGetHandleProc * Tcl_ChannelGetHandleProc(Tcl_ChannelType
1454 declare 410 generic {
1455 Tcl_DriverFlushProc * Tcl_ChannelFlushProc(Tcl_ChannelType *chanTypePtr)
1457 declare 411 generic {
1458 Tcl_DriverHandlerProc * Tcl_ChannelHandlerProc(Tcl_ChannelType
1462 # Introduced in 8.4a2
1463 declare 412 generic {
1464 int Tcl_JoinThread(Tcl_ThreadId threadId, int* result)
1466 declare 413 generic {
1467 int Tcl_IsChannelShared(Tcl_Channel channel)
1469 declare 414 generic {
1470 int Tcl_IsChannelRegistered(Tcl_Interp* interp, Tcl_Channel channel)
1472 declare 415 generic {
1473 void Tcl_CutChannel(Tcl_Channel channel)
1475 declare 416 generic {
1476 void Tcl_SpliceChannel(Tcl_Channel channel)
1478 declare 417 generic {
1479 void Tcl_ClearChannelHandlers(Tcl_Channel channel)
1481 declare 418 generic {
1482 int Tcl_IsChannelExisting(CONST char* channelName)
1485 declare 419 generic {
1486 int Tcl_UniCharNcasecmp(CONST Tcl_UniChar *cs, CONST Tcl_UniChar *ct,
1489 declare 420 generic {
1490 int Tcl_UniCharCaseMatch(CONST Tcl_UniChar *ustr,
1491 CONST Tcl_UniChar *pattern, int nocase)
1494 declare 421 generic {
1495 Tcl_HashEntry *Tcl_FindHashEntry(Tcl_HashTable *tablePtr, CONST char *key)
1498 declare 422 generic {
1499 Tcl_HashEntry *Tcl_CreateHashEntry(Tcl_HashTable *tablePtr,
1500 CONST char *key, int *newPtr)
1503 declare 423 generic {
1504 void Tcl_InitCustomHashTable(Tcl_HashTable *tablePtr, int keyType,
1505 Tcl_HashKeyType *typePtr)
1508 declare 424 generic {
1509 void Tcl_InitObjHashTable(Tcl_HashTable *tablePtr)
1511 declare 425 generic {
1512 ClientData Tcl_CommandTraceInfo(Tcl_Interp *interp, CONST char *varName,
1513 int flags, Tcl_CommandTraceProc *procPtr,
1514 ClientData prevClientData)
1516 declare 426 generic {
1517 int Tcl_TraceCommand(Tcl_Interp *interp, CONST char *varName, int flags,
1518 Tcl_CommandTraceProc *proc, ClientData clientData)
1520 declare 427 generic {
1521 void Tcl_UntraceCommand(Tcl_Interp *interp, CONST char *varName,
1522 int flags, Tcl_CommandTraceProc *proc, ClientData clientData)
1524 declare 428 generic {
1525 char * Tcl_AttemptAlloc(unsigned int size)
1527 declare 429 generic {
1528 char * Tcl_AttemptDbCkalloc(unsigned int size, CONST char *file, int line)
1530 declare 430 generic {
1531 char * Tcl_AttemptRealloc(char *ptr, unsigned int size)
1533 declare 431 generic {
1534 char * Tcl_AttemptDbCkrealloc(char *ptr, unsigned int size,
1535 CONST char *file, int line)
1537 declare 432 generic {
1538 int Tcl_AttemptSetObjLength(Tcl_Obj *objPtr, int length)
1540 declare 433 generic {
1541 Tcl_ThreadId Tcl_GetChannelThread(Tcl_Channel channel)
1543 # introduced in 8.4a3
1544 declare 434 generic {
1545 Tcl_UniChar * Tcl_GetUnicodeFromObj(Tcl_Obj *objPtr, int *lengthPtr)
1547 declare 435 generic {
1548 int Tcl_GetMathFuncInfo(Tcl_Interp *interp, CONST char *name,
1549 int *numArgsPtr, Tcl_ValueType **argTypesPtr,
1550 Tcl_MathProc **procPtr, ClientData *clientDataPtr)
1552 declare 436 generic {
1553 Tcl_Obj * Tcl_ListMathFuncs(Tcl_Interp *interp, CONST char *pattern)
1555 declare 437 generic {
1556 Tcl_Obj * Tcl_SubstObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int flags)
1558 declare 438 generic {
1559 int Tcl_DetachChannel(Tcl_Interp* interp, Tcl_Channel channel)
1561 declare 439 generic {
1562 int Tcl_IsStandardChannel(Tcl_Channel channel)
1564 # New functions due to TIP#17
1565 declare 440 generic {
1566 int Tcl_FSCopyFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
1568 declare 441 generic {
1569 int Tcl_FSCopyDirectory(Tcl_Obj *srcPathPtr,
1570 Tcl_Obj *destPathPtr, Tcl_Obj **errorPtr)
1572 declare 442 generic {
1573 int Tcl_FSCreateDirectory(Tcl_Obj *pathPtr)
1575 declare 443 generic {
1576 int Tcl_FSDeleteFile(Tcl_Obj *pathPtr)
1578 declare 444 generic {
1579 int Tcl_FSLoadFile(Tcl_Interp * interp,
1580 Tcl_Obj *pathPtr, CONST char * sym1, CONST char * sym2,
1581 Tcl_PackageInitProc ** proc1Ptr,
1582 Tcl_PackageInitProc ** proc2Ptr,
1583 Tcl_LoadHandle * handlePtr,
1584 Tcl_FSUnloadFileProc **unloadProcPtr)
1586 declare 445 generic {
1587 int Tcl_FSMatchInDirectory(Tcl_Interp *interp, Tcl_Obj *result,
1588 Tcl_Obj *pathPtr, CONST char *pattern, Tcl_GlobTypeData *types)
1590 declare 446 generic {
1591 Tcl_Obj * Tcl_FSLink(Tcl_Obj *pathPtr, Tcl_Obj *toPtr, int linkAction)
1593 declare 447 generic {
1594 int Tcl_FSRemoveDirectory(Tcl_Obj *pathPtr,
1595 int recursive, Tcl_Obj **errorPtr)
1597 declare 448 generic {
1598 int Tcl_FSRenameFile(Tcl_Obj *srcPathPtr, Tcl_Obj *destPathPtr)
1600 declare 449 generic {
1601 int Tcl_FSLstat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf)
1603 declare 450 generic {
1604 int Tcl_FSUtime(Tcl_Obj *pathPtr, struct utimbuf *tval)
1606 declare 451 generic {
1607 int Tcl_FSFileAttrsGet(Tcl_Interp *interp,
1608 int index, Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)
1610 declare 452 generic {
1611 int Tcl_FSFileAttrsSet(Tcl_Interp *interp,
1612 int index, Tcl_Obj *pathPtr, Tcl_Obj *objPtr)
1614 declare 453 generic {
1615 CONST char ** Tcl_FSFileAttrStrings(Tcl_Obj *pathPtr, Tcl_Obj **objPtrRef)
1617 declare 454 generic {
1618 int Tcl_FSStat(Tcl_Obj *pathPtr, Tcl_StatBuf *buf)
1620 declare 455 generic {
1621 int Tcl_FSAccess(Tcl_Obj *pathPtr, int mode)
1623 declare 456 generic {
1624 Tcl_Channel Tcl_FSOpenFileChannel(Tcl_Interp *interp, Tcl_Obj *pathPtr,
1625 CONST char *modeString, int permissions)
1627 declare 457 generic {
1628 Tcl_Obj* Tcl_FSGetCwd(Tcl_Interp *interp)
1630 declare 458 generic {
1631 int Tcl_FSChdir(Tcl_Obj *pathPtr)
1633 declare 459 generic {
1634 int Tcl_FSConvertToPathType(Tcl_Interp *interp, Tcl_Obj *pathPtr)
1636 declare 460 generic {
1637 Tcl_Obj* Tcl_FSJoinPath(Tcl_Obj *listObj, int elements)
1639 declare 461 generic {
1640 Tcl_Obj* Tcl_FSSplitPath(Tcl_Obj* pathPtr, int *lenPtr)
1642 declare 462 generic {
1643 int Tcl_FSEqualPaths(Tcl_Obj* firstPtr, Tcl_Obj* secondPtr)
1645 declare 463 generic {
1646 Tcl_Obj* Tcl_FSGetNormalizedPath(Tcl_Interp *interp, Tcl_Obj* pathObjPtr)
1648 declare 464 generic {
1649 Tcl_Obj* Tcl_FSJoinToPath(Tcl_Obj *basePtr, int objc,
1650 Tcl_Obj *CONST objv[])
1652 declare 465 generic {
1653 ClientData Tcl_FSGetInternalRep(Tcl_Obj* pathObjPtr,
1654 Tcl_Filesystem *fsPtr)
1656 declare 466 generic {
1657 Tcl_Obj* Tcl_FSGetTranslatedPath(Tcl_Interp *interp, Tcl_Obj* pathPtr)
1659 declare 467 generic {
1660 int Tcl_FSEvalFile(Tcl_Interp *interp, Tcl_Obj *fileName)
1662 declare 468 generic {
1663 Tcl_Obj* Tcl_FSNewNativePath(Tcl_Filesystem* fromFilesystem,
1664 ClientData clientData)
1666 declare 469 generic {
1667 CONST char* Tcl_FSGetNativePath(Tcl_Obj* pathObjPtr)
1669 declare 470 generic {
1670 Tcl_Obj* Tcl_FSFileSystemInfo(Tcl_Obj* pathObjPtr)
1672 declare 471 generic {
1673 Tcl_Obj* Tcl_FSPathSeparator(Tcl_Obj* pathObjPtr)
1675 declare 472 generic {
1676 Tcl_Obj* Tcl_FSListVolumes(void)
1678 declare 473 generic {
1679 int Tcl_FSRegister(ClientData clientData, Tcl_Filesystem *fsPtr)
1681 declare 474 generic {
1682 int Tcl_FSUnregister(Tcl_Filesystem *fsPtr)
1684 declare 475 generic {
1685 ClientData Tcl_FSData(Tcl_Filesystem *fsPtr)
1687 declare 476 generic {
1688 CONST char* Tcl_FSGetTranslatedStringPath(Tcl_Interp *interp,
1691 declare 477 generic {
1692 Tcl_Filesystem* Tcl_FSGetFileSystemForPath(Tcl_Obj* pathObjPtr)
1694 declare 478 generic {
1695 Tcl_PathType Tcl_FSGetPathType(Tcl_Obj *pathObjPtr)
1697 # New function due to TIP#49
1698 declare 479 generic {
1699 int Tcl_OutputBuffered(Tcl_Channel chan)
1701 declare 480 generic {
1702 void Tcl_FSMountsChanged(Tcl_Filesystem *fsPtr)
1704 # New function due to TIP#56
1705 declare 481 generic {
1706 int Tcl_EvalTokensStandard(Tcl_Interp *interp, Tcl_Token *tokenPtr,
1710 # New export due to TIP#73
1711 declare 482 generic {
1712 void Tcl_GetTime(Tcl_Time* timeBuf)
1715 # New exports due to TIP#32
1717 declare 483 generic {
1718 Tcl_Trace Tcl_CreateObjTrace(Tcl_Interp* interp, int level, int flags,
1719 Tcl_CmdObjTraceProc* objProc, ClientData clientData,
1720 Tcl_CmdObjTraceDeleteProc* delProc)
1722 declare 484 generic {
1723 int Tcl_GetCommandInfoFromToken(Tcl_Command token, Tcl_CmdInfo* infoPtr)
1725 declare 485 generic {
1726 int Tcl_SetCommandInfoFromToken(Tcl_Command token,
1727 CONST Tcl_CmdInfo* infoPtr)
1730 ### New functions on 64-bit dev branch ###
1731 declare 486 generic {
1732 Tcl_Obj * Tcl_DbNewWideIntObj(Tcl_WideInt wideValue,
1733 CONST char *file, int line)
1735 declare 487 generic {
1736 int Tcl_GetWideIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
1737 Tcl_WideInt *widePtr)
1739 declare 488 generic {
1740 Tcl_Obj * Tcl_NewWideIntObj(Tcl_WideInt wideValue)
1742 declare 489 generic {
1743 void Tcl_SetWideIntObj(Tcl_Obj *objPtr, Tcl_WideInt wideValue)
1745 declare 490 generic {
1746 Tcl_StatBuf * Tcl_AllocStatBuf(void)
1748 declare 491 generic {
1749 Tcl_WideInt Tcl_Seek(Tcl_Channel chan, Tcl_WideInt offset, int mode)
1751 declare 492 generic {
1752 Tcl_WideInt Tcl_Tell(Tcl_Channel chan)
1755 # New export due to TIP#91
1756 declare 493 generic {
1757 Tcl_DriverWideSeekProc * Tcl_ChannelWideSeekProc(
1758 Tcl_ChannelType *chanTypePtr)
1761 # Slots 494 to 553 are taken already by 8.5
1762 # #111 - Dicts (494 ... 504)
1763 # #59 - Config (505)
1764 # #139 - Namespace API (506 ... 517)
1765 # #137 - source -encoding (518)
1766 # #121 - ExitProc (519)
1767 # #121 - Resource Limits (520 ... 534)
1768 # #226 - S/R Interp State (535 ... 537)
1769 # #227 - S/G Return Opts (538 ... 539)
1770 # #235 - Ensemble C API (540 ... 551)
1771 # #233 - Virtualized Time (552 ... 553)
1773 # TIP#218 (Driver Thread Actions) davygrvy/akupries ChannelType ver 4
1774 # These slots are used by 8.5 as well.
1775 declare 554 generic {
1776 Tcl_DriverThreadActionProc *Tcl_ChannelThreadActionProc(Tcl_ChannelType *chanTypePtr)
1779 # Slots 555 to 572 are taken already by 8.5
1780 # TIP #237: Arbitrary-prec Integers (555 ... 559)
1781 # TIP #208: 'chan' Command (560 ... 561)
1782 # TIP #219: Channel Reflection (562 ... 565)
1783 # TIP #237: Add. bignum support (566)
1784 # TIP #181: 'namespace unknown' Cmd (567 ... 568)
1785 # TIP #258: Enhanced Encodings API (569 ... 572)
1787 # TIP#268: Extended version numbers and requirements.
1788 # The slot is present even if TCL_TIP268 is not activated.
1790 declare 573 generic {
1791 int Tcl_PkgRequireProc(Tcl_Interp *interp, CONST char *name,
1792 int objc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr)
1795 ##############################################################################
1797 # Define the platform specific public Tcl interface. These functions are
1798 # only available on the designated platform.
1802 ######################
1803 # Windows declarations
1808 TCHAR * Tcl_WinUtfToTChar(CONST char *str, int len, Tcl_DString *dsPtr)
1811 char * Tcl_WinTCharToUtf(CONST TCHAR *str, int len, Tcl_DString *dsPtr)
1817 # This is needed by the shells to handle Macintosh events.
1820 void Tcl_MacSetEventProc(Tcl_MacConvertEventPtr procPtr)
1823 # These routines are useful for handling using scripts from resources
1824 # in the application shell
1827 char * Tcl_MacConvertTextResource(Handle resource)
1830 int Tcl_MacEvalResource(Tcl_Interp *interp, CONST char *resourceName,
1831 int resourceNumber, CONST char *fileName)
1834 Handle Tcl_MacFindResource(Tcl_Interp *interp, long resourceType,
1835 CONST char *resourceName, int resourceNumber,
1836 CONST char *resFileRef, int * releaseIt)
1839 # These routines support the new OSType object type (i.e. the packed 4
1840 # character type and creator codes).
1843 int Tcl_GetOSTypeFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
1847 void Tcl_SetOSTypeObj(Tcl_Obj *objPtr, OSType osType)
1850 Tcl_Obj * Tcl_NewOSTypeObj(OSType osType)
1853 # These are not in MSL 2.1.2, so we need to export them from the
1854 # Tcl shared library. They are found in the compat directory.
1857 int strncasecmp(CONST char *s1, CONST char *s2, size_t n)
1860 int strcasecmp(CONST char *s1, CONST char *s2)
1864 # Mac OS X declarations
1868 int Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp,
1869 CONST char *bundleName,
1870 int hasResourceFile,
1875 int Tcl_MacOSXOpenVersionedBundleResources(Tcl_Interp *interp,
1876 CONST char *bundleName,
1877 CONST char *bundleVersion,
1878 int hasResourceFile,