Copyright (C) 1994, Digital Equipment Corp.
Version 6.2 of TCL
This file is derived from tcl.h, covered by the following copyright:
* Copyright 1987, 1990 Regents of the University of California
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
* fee is hereby granted, provided that the above copyright
* notice appear in all copies. The University of California
* makes no representations about the suitability of this
* software for any purpose. It is provided as is
without
* express or implied warranty.
UNSAFE INTERFACE---------------------------------------------------------------------------TclC ; FROM Ctypes IMPORT char_star, int_star, int, char, double_star, int_star_star, long_star; IMPORT Word; CONST TCL_OK = 0; TCL_ERROR = 1; TCL_RETURN = 2; TCL_BREAK = 3; TCL_CONTINUE = 4; TCL_RESULT_SIZE = 199; BRACKET_TERM = 1; DONT_USE_BRACES = 1; NO_EVAL = -1; VAR (* READONLY *) volatile, static, dynamic: FreeProc; CONST GLOBAL_ONLY = 1; APPEND_VALUE = 2; LIST_ELEMENT = 4; NO_SPACE = 8; TRACE_READS = 16_10; TRACE_WRITES = 16_20; TRACE_UNSETS = 16_40; TRACE_DESTROYED = 16_80; INTERP_DESTROYED = 16_100; LEAVE_ERR_MSG = 16_200; VARIABLE_UNDEFINED = 8; TYPE FreeProc = PROCEDURE (blockPtr: char_star); Interp = RECORD result: char_star; freeProc: FreeProc; errorLine: int; END; Interp_star = UNTRACED REF Interp; ClientData = Word.T; Argv = UNTRACED REF ARRAY [0..255] OF char_star; Argv_star = UNTRACED REF Argv;
<*EXTERNAL Tcl_AddErrorInfo *> PROCEDURE AddErrorInfo (interp: Interp_star; message: char_star); <*EXTERNAL Tcl_SetErrorCode *> PROCEDURE SetErrorCode (interp: Interp_star; s1, s2, s3, s4, s5: char_star := NIL); <*EXTERNAL Tcl_UnixError *> PROCEDURE UnixError (interp: Interp_star): char_star;---------------------------------------------------------------------------
TYPE CmdBuf = int_star; <*EXTERNAL Tcl_CreateCmdBuf *> PROCEDURE CreateCmdBuf (): CmdBuf; <*EXTERNAL Tcl_DeleteCmdBuf *> PROCEDURE DeleteCmdBuf (buffer: CmdBuf); <*EXTERNAL Tcl_AssembleCmd *> PROCEDURE AssembleCmd (buffer: CmdBuf; string: char_star): char_star;---------------------------------------------------------------------------
<*EXTERNAL Tcl_Backslash *> PROCEDURE Backslash (src: char_star; count: int_star): char;---------------------------------------------------------------------------
<*EXTERNAL Tcl_Concat *> PROCEDURE Concat (argc: int; argv: Argv): char_star;---------------------------------------------------------------------------
TYPE CmdProc = PROCEDURE (clientData: ClientData; interp: Interp_star; argc: int; argv: Argv): int; CmdDeleteProc = PROCEDURE (clientData: ClientData); <*EXTERNAL Tcl_CreateCommand *> PROCEDURE CreateCommand (interp: Interp_star; cmdName: char_star; proc: CmdProc; clientData: ClientData; deleteProc: CmdDeleteProc); <*EXTERNAL Tcl_DeleteCommand *> PROCEDURE DeleteCommand (interp: Interp_star; cmdName: char_star): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_CreateInterp *> PROCEDURE CreateInterp (): Interp_star; <*EXTERNAL Tcl_DeleteInterp *> PROCEDURE DeleteInterp (interp: Interp_star);---------------------------------------------------------------------------
<*EXTERNAL Tcl_CreatePipeline *> PROCEDURE CreatePipeline (interp: Interp_star; argc: int; argv: Argv; pidArrayPtr: int_star_star; inPipePtr: char_star; outPipePtr: char_star; errFilePr: char_star): int;---------------------------------------------------------------------------
TYPE CmdTraceProc = PROCEDURE (clientData: ClientData; interp: Interp_star; level: int; command: char_star; cmdProc: CmdProc; cmdClientData: ClientData; argc: int; argv: Argv); Trace = int_star; <*EXTERNAL Tcl_CreateTrace *> PROCEDURE CreateTrace (interp: Interp_star; level: int; proc: CmdTraceProc; clientData: ClientData): Trace; <*EXTERNAL Tcl_DeleteTrace *> PROCEDURE DeleteTrace (interp: Interp_star; trace: Trace);---------------------------------------------------------------------------
<*EXTERNAL Tcl_Eval *> PROCEDURE Eval (interp: Interp_star; cmd: char_star; flags: int; termPtr: Argv): int; <*EXTERNAL Tcl_VarEval *> PROCEDURE VarEval (interp: Interp_star; s1, s2, s3, s4, s5: char_star := NIL): int; <*EXTERNAL Tcl_EvalFile *> PROCEDURE EvalFile (interp: Interp_star; fileName: char_star): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_ExprLong *> PROCEDURE ExprLong (interp: Interp_star; string: char_star; longPtr: long_star): int; <*EXTERNAL Tcl_ExprDouble *> PROCEDURE ExprDouble (interp: Interp_star; string: char_star; doublePtr: double_star): int; <*EXTERNAL Tcl_ExprBoolean *> PROCEDURE ExprBoolean (interp: Interp_star; string: char_star; booleanPtr: int_star): int; <*EXTERNAL Tcl_ExprString *> PROCEDURE ExprString (interp: Interp_star; string: char_star): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_Fork *> PROCEDURE Fork (): int; <*EXTERNAL Tcl_WaitPids *> PROCEDURE WaitPids (numPids: int; pidPtr, statusPtr: int_star): int; <*EXTERNAL Tcl_DetachPids *> PROCEDURE DetachPids (numPids: int; pidPtr: int_star): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_GetInt *> PROCEDURE GetInt (interp: Interp_star; string: char_star; intPtr: int_star): int; <*EXTERNAL Tcl_GetDouble *> PROCEDURE GetDouble (interp: Interp_star; string: char_star; doublePtr: double_star): int; <*EXTERNAL Tcl_GetBoolean *> PROCEDURE GetBoolean (interp: Interp_star; string: char_star; boolPtr: int_star): int;---------------------------------------------------------------------------
TYPE HashEntry = RECORD nextPtr: HashEntry_star; tablePtr: HashTable_star; bucketPtr: HashEntry_star_star; clientData: ClientData; key: Word.T; END; HashEntry_star = UNTRACED REF HashEntry; HashEntry_star_star = UNTRACED REF HashEntry_star; CONST SMALL_HASH_TABLE = 4; TYPE HashTable = RECORD buckets: HashEntry_star_star; staticBuckets: ARRAY [0..SMALL_HASH_TABLE-1] OF HashEntry_star; numBuckets: int; numEntries: int; rebuildSize: int; downShift: int; mask: int; keyType: int; findProc: PROCEDURE (tablePtr: HashTable_star; key: char_star): HashEntry_star; createProc: PROCEDURE (tablePtr: HashTable_star; key: char_star; newPtr: int_star): HashEntry_star; END; HashTable_star = UNTRACED REF HashTable; HashSearch = RECORD tablePtr: HashTable_star; nextIndex: int; nextEntryPtr: HashEntry_star; END; HashSearch_star = UNTRACED REF HashSearch; <*EXTERNAL Tcl_InitHashTable *> PROCEDURE InitHashTable (tablePtr: HashTable_star; keyType: int); <*EXTERNAL Tcl_DeleteHashTable *> PROCEDURE DeleteHashTable (tablePtr: HashTable_star); <*EXTERNAL Tcl_CreateHashEntry *> PROCEDURE CreateHashEntry (tablePtr: HashTable_star; key: char_star; newPtr: int_star): HashEntry_star; <*EXTERNAL Tcl_DeleteHashEntry *> PROCEDURE DeleteHashEntry (entryPtr: HashEntry_star); <*EXTERNAL Tcl_FindHashEntry *> PROCEDURE FindHashEntry (tablePtr: HashTable_star; key: char_star): HashEntry_star; <*EXTERNAL Tcl_GetHashValue *> PROCEDURE GetHashValue (entryPtr: HashEntry_star): ClientData; <*EXTERNAL Tcl_SetHashValue *> PROCEDURE SetHashValue (entryPtr: HashEntry_star; value: ClientData); <*EXTERNAL Tcl_GetHashKey *> PROCEDURE GetHashKey (tablePtr: HashTable_star; entryPtr: HashEntry_star): char_star; <*EXTERNAL Tcl_FirstHashEntry *> PROCEDURE FirstHashEntry (tablePtr: HashTable_star; searchPtr: HashSearch_star): HashEntry_star; <*EXTERNAL Tcl_NextHashEntry *> PROCEDURE NextHashEntry (searchPtr: HashSearch_star): HashEntry_star; <*EXTERNAL Tcl_HashStats *> PROCEDURE HashStats (tablePtr: HashTable_star): char_star;---------------------------------------------------------------------------
<*EXTERNAL Tcl_InitHistory *> PROCEDURE InitHistory (interp: Interp_star); <*EXTERNAL Tcl_RecordAndEval *> PROCEDURE RecordAndEval (interp: Interp_star; cmd: char_star; flags: char): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_SetResult *> PROCEDURE SetResult (interp: Interp_star; string: char_star; freeProc: FreeProc); <*EXTERNAL Tcl_AppendResult *> PROCEDURE AppendResult (interp: Interp_star; s1, s2, s3, s4, s5: char_star := NIL); <*EXTERNAL Tcl_AppendElement *> PROCEDURE AppendElement (interp: Interp_star; string: char_star; noSep: int); <*EXTERNAL Tcl_ResetResult *> PROCEDURE ResetResult (interp: Interp_star); PROCEDURE FreeResult (interp: Interp_star);---------------------------------------------------------------------------
<*EXTERNAL Tcl_SetVar *> PROCEDURE SetVar (interp: Interp_star; varName, newValue: char_star; flags: int): char_star; <*EXTERNAL Tcl_SetVar2 *> PROCEDURE SetVar2 (interp: Interp_star; name1, name2, newValue: char_star; flags: int): char_star; <*EXTERNAL Tcl_GetVar *> PROCEDURE GetVar (interp: Interp_star; varName: char_star; flags: int): char_star; <*EXTERNAL Tcl_GetVar2 *> PROCEDURE GetVar2 (interp: Interp_star; name1, name2: char_star; flags: int): char_star; <*EXTERNAL Tcl_UnsetVar *> PROCEDURE UnsetVar (interp: Interp_star; varName: char_star; flags: int): int; <*EXTERNAL Tcl_UnsetVar2 *> PROCEDURE UnsetVar2 (interp: Interp_star; name1, name2: char_star; flags: int): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_SplitList *> PROCEDURE SplitList (interp: Interp_star; list: char_star; argcPtr: int_star; argvPtr: Argv_star): int; <*EXTERNAL Tcl_Merge *> PROCEDURE Merge (argc: int; argv: Argv): char_star; <*EXTERNAL Tcl_ScanElement *> PROCEDURE ScanElement (src: char_star; flagsPtr: int_star): int; <*EXTERNAL Tcl_ConvertElement *> PROCEDURE ConvertElement (src, dst: char_star; flags: int): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_StringMatch *> PROCEDURE StringMatch (string, pattern: char_star): int;---------------------------------------------------------------------------
<*EXTERNAL Tcl_TildeSubst *> PROCEDURE TildeSubst (interp: Interp_star; name: char_star): char_star;---------------------------------------------------------------------------
TYPE VarTraceProc = PROCEDURE (clientData: ClientData; interp: Interp_star; name1, name2: char_star; flags: int): char_star; <*EXTERNAL Tcl_TraceVar *> PROCEDURE TraceVar (interp: Interp_star; varName: char_star; flags: int; proc: VarTraceProc; clientData: ClientData): int; <*EXTERNAL Tcl_TraceVar2 *> PROCEDURE TraceVar2 (interp: Interp_star; name1, name2: char_star; flags: int; proc: VarTraceProc; clientData: ClientData): int; <*EXTERNAL Tcl_UnTraceVar *> PROCEDURE UnTraceVar (interp: Interp_star; varName: char_star; flags: int; proc: VarTraceProc; clientData: ClientData); <*EXTERNAL Tcl_UnTraceVar2 *> PROCEDURE UnTraceVar2 (interp: Interp_star; name1, name2: char_star; flags: int; proc: VarTraceProc; clientData: ClientData); <*EXTERNAL Tcl_VarTraceInfo *> PROCEDURE VarTraceInfo (interp: Interp_star; varName: char_star; flags: int; proc: VarTraceProc; prevClientData: ClientData): int; <*EXTERNAL Tcl_VarTraceInfo2 *> PROCEDURE VarTraceInfo2 (interp: Interp_star; name1, name2: char_star; flags: int; proc: VarTraceProc; prevClientData: ClientData): int;---------------------------------------------------------------------------
END TclC.