-------------------------------------------------------------------- -- -- tcl-ada.ads -- This package provides the "thick" binding to Tcl. -- -- Copyright (c) 1995-1996 Terry J. Westley -- -- See the file "license.htm" for information on usage and -- redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. -- -- This package is made up primarily of -- -- 1) extra overloaded subprograms which use the Ada String type in -- place of the C string type (Interfaces.C.Strings.Chars_Ptr). -- -- 2) extra overloaded procedures for tcl.h functions which return -- TCL_OK or TCL_ERROR so that Ada programmers can call them as -- procedures rather than functions. The exception Tcl_Error_Exception -- is raised when the Tcl function returns TCL_ERROR. -- -- 3) generic packages that allow use of a data type for ClientData -- rather than a reference to a void or int type as C does. -- -------------------------------------------------------------------- with CArgv; package Tcl.Ada is Version : constant String := "7.6.0"; package C renames Interfaces.C; Tcl_Error_Exception : exception; -------------------------------------------------------------------- -- -- Generics for all subprograms which require Client Data -- -------------------------------------------------------------------- -- generic -- type ClientData is private; -- -- This must be a type whose size is no greater than 32 bits, e.g., -- -- Integer, Short_Float, an access type. -- package Generic_AssocData is -- -- type Tcl_InterpDeleteProc is access procedure ( -- data : ClientData; -- interp : Tcl_Interp -- ); -- pragma Convention (C, Tcl_InterpDeleteProc); -- -- function Tcl_GetAssocData ( -- interp : Tcl_Interp; -- name : C.Strings.Chars_Ptr; -- procPtr : Tcl_InterpDeleteProc -- ) return ClientData; -- pragma Import (C, Tcl_GetAssocData, "Tcl_GetAssocData"); -- -- function Tcl_GetAssocData ( -- interp : in Tcl_Interp; -- name : in String; -- procPtr : in Tcl_InterpDeleteProc -- ) return ClientData; -- -- procedure Tcl_SetAssocData ( -- interp : Tcl_Interp; -- name : C.Strings.Chars_Ptr; -- proc : Tcl_InterpDeleteProc; -- data : ClientData -- ); -- pragma Import (C, Tcl_SetAssocData, "Tcl_SetAssocData"); -- -- procedure Tcl_SetAssocData ( -- interp : in Tcl_Interp; -- name : in String; -- proc : in Tcl_InterpDeleteProc; -- data : in ClientData -- ); -- -- end Generic_AssocData; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_AsyncEvents is type Tcl_AsyncProc is access function ( data : ClientData; interp : Tcl_Interp; code : C.Int ) return C.Int; pragma Convention (C, Tcl_AsyncProc); function Tcl_AsyncCreate ( proc : Tcl_AsyncProc; data : ClientData ) return Tcl_AsyncHandler; pragma Import (C, Tcl_AsyncCreate, "Tcl_AsyncCreate"); end Generic_AsyncEvents; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_CallWhenDeleted is type Tcl_InterpDeleteProc is access procedure ( data : ClientData; interp : Tcl_Interp ); pragma Convention (C, Tcl_InterpDeleteProc); procedure Tcl_CallWhenDeleted ( interp : Tcl_Interp; proc : Tcl_InterpDeleteProc; data : ClientData ); pragma Import (C, Tcl_CallWhenDeleted, "Tcl_CallWhenDeleted"); procedure Tcl_DontCallWhenDeleted ( interp : Tcl_Interp; proc : Tcl_InterpDeleteProc; data : ClientData ); pragma Import (C, Tcl_DontCallWhenDeleted, "Tcl_DontCallWhenDeleted"); end Generic_CallWhenDeleted; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_Channel is function Tcl_MakeFileChannel ( infile : ClientData; outfile : ClientData; mode : C.Int ) return Tcl_Channel; pragma Import (C, Tcl_MakeFileChannel, "Tcl_MakeFileChannel"); end Generic_Channel; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_ChannelDriver is function Tcl_CreateChannel ( typePtr : Tcl_ChannelType; chanName : C.Strings.Chars_Ptr; instancedata : ClientData; mask : C.Int ) return Tcl_Channel; pragma Import (C, Tcl_CreateChannel, "Tcl_CreateChannel"); function Tcl_CreateChannel ( typePtr : in Tcl_ChannelType; chanName : in String; instancedata : in ClientData; mask : in C.Int ) return Tcl_Channel; function Tcl_GetChannelInstanceData ( chan : Tcl_Channel ) return ClientData; pragma Import (C, Tcl_GetChannelInstanceData, "Tcl_GetChannelInstanceData"); end Generic_ChannelDriver; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_ChannelHandler is type Tcl_ChannelProc is access procedure ( data : ClientData; mask : C.Int ); pragma Convention (C, Tcl_ChannelProc); procedure Tcl_CreateChannelHandler ( chan : Tcl_Channel; mask : C.Int; proc : Tcl_ChannelProc; data : ClientData ); pragma Import (C, Tcl_CreateChannelHandler, "Tcl_CreateChannelHandler"); procedure Tcl_DeleteChannelHandler ( chan : Tcl_Channel; proc : Tcl_ChannelProc; data : ClientData ); pragma Import (C, Tcl_DeleteChannelHandler, "Tcl_DeleteChannelHandler"); end Generic_ChannelHandler; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_CloseHandler is type Tcl_CloseProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_CloseProc); procedure Tcl_CreateCloseHandler ( chan : Tcl_Channel; proc : Tcl_CloseProc; data : ClientData ); pragma Import (C, Tcl_CreateCloseHandler, "Tcl_CreateCloseHandler"); procedure Tcl_DeleteCloseHandler ( chan : Tcl_Channel; proc : Tcl_CloseProc; data : ClientData ); pragma Import (C, Tcl_DeleteCloseHandler, "Tcl_DeleteCloseHandler"); end Generic_CloseHandler; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_Command is type Tcl_CmdProc is access function ( data : ClientData; interp : Tcl_Interp; argc : C.Int; argv : CArgv.Chars_Ptr_Ptr ) return C.Int; pragma Convention (C, Tcl_CmdProc); type Tcl_CmdDeleteProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_CmdDeleteProc); function Tcl_CreateCommand ( interp : Tcl_Interp; cmdName : C.Strings.Chars_Ptr; proc : Tcl_CmdProc; data : ClientData; deleteProc : Tcl_CmdDeleteProc ) return Tcl_Command; pragma Import (C, Tcl_CreateCommand, "Tcl_CreateCommand"); function Tcl_CreateCommand ( interp : in Tcl_Interp; cmdName : in String; proc : in Tcl_CmdProc; data : in ClientData; deleteProc : in Tcl_CmdDeleteProc ) return Tcl_Command; end Generic_Command; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_EventSource is type Tcl_EventSetupProc is access procedure ( data : ClientData; flags : C.Int ); pragma Convention (C, Tcl_EventSetupProc); type Tcl_EventCheckProc is access procedure ( data : ClientData; flags : C.Int ); pragma Convention (C, Tcl_EventCheckProc); type Tcl_FileProc is access procedure ( data : ClientData; mask : C.Int ); pragma Convention (C, Tcl_FileProc); procedure Tcl_CreateEventSource ( setupProc : Tcl_EventSetupProc; checkProc : Tcl_EventCheckProc; data : ClientData ); pragma Import (C, Tcl_CreateEventSource, "Tcl_CreateEventSource"); procedure Tcl_CreateFileHandler ( file : Tcl_File; mask : C.Int; proc : Tcl_FileProc; data : ClientData ); pragma Import (C, Tcl_CreateFileHandler, "Tcl_CreateFileHandler"); procedure Tcl_DeleteEventSource ( setupProc : Tcl_EventSetupProc; checkProc : Tcl_EventCheckProc; data : ClientData ); pragma Import (C, Tcl_DeleteEventSource, "Tcl_DeleteEventSource"); end Generic_EventSource; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_ExitHandler is type Tcl_ExitProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_ExitProc); procedure Tcl_CreateExitHandler ( proc : Tcl_ExitProc; data : ClientData ); pragma Import (C, Tcl_CreateExitHandler, "Tcl_CreateExitHandler"); procedure Tcl_DeleteExitHandler ( proc : Tcl_ExitProc; data : ClientData ); pragma Import (C, Tcl_DeleteExitHandler, "Tcl_DeleteExitHandler"); end Generic_ExitHandler; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_FileHandle is type Tcl_FileFreeProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_FileFreeProc); function Tcl_GetFile ( filedata : ClientData; typ : C.Int ) return Tcl_File; pragma Import (C, Tcl_GetFile, "Tcl_GetFile"); function Tcl_GetFileInfo ( file : Tcl_File; typePtr : access C.Int ) return ClientData; pragma Import (C, Tcl_GetFileInfo, "Tcl_GetFileInfo"); function Tcl_GetNotifierData ( file : Tcl_File; freeProcPtr : Tcl_FileFreeProc ) return ClientData; pragma Import (C, Tcl_GetNotifierData, "Tcl_GetNotifierData"); procedure Tcl_SetNotifierData ( file : Tcl_File; freeProcPtr : Tcl_FileFreeProc; data : ClientData ); pragma Import (C, Tcl_SetNotifierData, "Tcl_SetNotifierData"); end Generic_FileHandle; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_FileHandler is type Tcl_FileProc is access procedure ( data : ClientData; mask : C.Int ); pragma Convention (C, Tcl_FileProc); procedure Tcl_CreateFileHandler ( file : Tcl_File; mask : C.Int; proc : Tcl_FileProc; data : ClientData ); pragma Import (C, Tcl_CreateFileHandler, "Tcl_CreateFileHandler"); function Tcl_GetFile ( filedata : ClientData; typ : C.Int ) return Tcl_File; pragma Import (C, Tcl_GetFile, "Tcl_GetFile"); end Generic_FileHandler; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_GetOpenFile is function Tcl_GetOpenFile ( interp : Tcl_Interp; strng : C.Strings.Chars_Ptr; write : C.Int; checkUsage : C.Int; fileptr : ClientData ) return C.Int; pragma Import (C, Tcl_GetOpenFile, "Tcl_GetOpenFile"); function Tcl_GetOpenFile ( interp : in Tcl_Interp; strng : in String; write : in C.Int; checkUsage : in C.Int; fileptr : in ClientData ) return C.Int; procedure Tcl_GetOpenFile ( interp : in Tcl_Interp; strng : in String; write : in C.Int; checkUsage : in C.Int; fileptr : in ClientData ); end Generic_GetOpenFile; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_Hash is function Tcl_GetHashValue ( HashEntry : Tcl_HashEntry ) return ClientData; pragma Import (C, Tcl_GetHashValue, "Tcl_CallGetHashValue"); procedure Tcl_SetHashValue ( HashEntry : Tcl_HashEntry; value : ClientData ); pragma Import (C, Tcl_SetHashValue, "Tcl_CallSetHashValue"); end Generic_Hash; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_Idle is type Tcl_IdleProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_IdleProc); procedure Tcl_CancelIdleCall ( idleProc : Tcl_IdleProc; data : ClientData ); pragma Import (C, Tcl_CancelIdleCall, "Tcl_CancelIdleCall"); procedure Tcl_DoWhenIdle ( proc : Tcl_IdleProc; data : ClientData ); pragma Import (C, Tcl_DoWhenIdle, "Tcl_DoWhenIdle"); end Generic_Idle; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_ManageStorage is type Tcl_FreeProc is access procedure ( blockPtr : C.Strings.Chars_Ptr ); pragma Convention (C, Tcl_FreeProc); procedure Tcl_EventuallyFree ( data : ClientData; freeProc : Tcl_FreeProc ); pragma Import (C, Tcl_EventuallyFree, "Tcl_EventuallyFree"); procedure Tcl_Preserve ( data : ClientData ); pragma Import (C, Tcl_Preserve, "Tcl_Preserve"); procedure Tcl_Release ( data : ClientData ); pragma Import (C, Tcl_Release, "Tcl_Release"); end Generic_ManageStorage; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_MathFunc is type Tcl_MathProc is access function ( data : ClientData; interp : Tcl_Interp; args : Tcl_Value; resultPtr : Tcl_Value ) return C.Int; pragma Convention (C, Tcl_MathProc); procedure Tcl_CreateMathFunc ( interp : Tcl_Interp; name : C.Strings.Chars_Ptr; numArgs : C.Int; argTypes : Tcl_ValueType; proc : Tcl_MathProc; data : ClientData ); pragma Import (C, Tcl_CreateMathFunc, "Tcl_CreateMathFunc"); procedure Tcl_CreateMathFunc ( interp : in Tcl_Interp; name : in String; numArgs : in C.Int; argTypes : in Tcl_ValueType; proc : in Tcl_MathProc; data : in ClientData ); end Generic_MathFunc; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_ModalTimeout is type Tcl_TimerProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_TimerProc); procedure Tcl_CreateModalTimeout ( milliseconds : C.Int; proc : Tcl_TimerProc; data : ClientData ); pragma Import (C, Tcl_CreateModalTimeout, "Tcl_CreateModalTimeout"); procedure Tcl_DeleteModalTimeout ( proc : Tcl_TimerProc; data : ClientData ); pragma Import (C, Tcl_DeleteModalTimeout, "Tcl_DeleteModalTimeout"); end Generic_ModalTimeout; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_TcpChannel is type Tcl_TcpAcceptProc is access procedure ( callbackdata : ClientData; chan : Tcl_Channel; address : C.Strings.Chars_Ptr; port : C.Int ); pragma Convention (C, Tcl_TcpAcceptProc); function Tcl_MakeTcpClientChannel ( tcpsocket : ClientData ) return Tcl_Channel; pragma Import (C, Tcl_MakeTcpClientChannel, "Tcl_MakeTcpClientChannel"); function Tcl_OpenTcpServer ( interp : Tcl_Interp; port : C.Int; host : C.Strings.Chars_Ptr; acceptProc : Tcl_TcpAcceptProc; callbackdata : ClientData ) return Tcl_Channel; pragma Import (C, Tcl_OpenTcpServer, "Tcl_OpenTcpServer"); function Tcl_OpenTcpServer ( interp : in Tcl_Interp; port : in C.Int; host : in String; acceptProc : in Tcl_TcpAcceptProc; callbackdata : in ClientData ) return Tcl_Channel; end Generic_TcpChannel; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_TimerHandler is type Tcl_TimerProc is access procedure ( data : ClientData ); pragma Convention (C, Tcl_TimerProc); function Tcl_CreateTimerHandler ( milliseconds : C.Int; proc : Tcl_TimerProc; data : ClientData ) return Tcl_TimerToken; pragma Import (C, Tcl_CreateTimerHandler, "Tcl_CreateTimerHandler"); end Generic_TimerHandler; generic type ClientData is private; -- This must be a type whose size is no greater than 32 bits, e.g., -- Integer, Short_Float, an access type. package Generic_Trace is type Tcl_CmdTraceProc is access procedure ( data : ClientData; interp : Tcl_Interp; level : C.Int; command : C.Strings.Chars_Ptr; proc : Tcl_CmdProc; cmdclientdata : ClientData; argc : C.Int; argv : CArgv.Chars_Ptr_Ptr ); pragma Convention (C, Tcl_CmdTraceProc); function Tcl_CreateTrace ( interp : Tcl_Interp; level : C.Int; proc : Tcl_CmdTraceProc; data : ClientData ) return Tcl_Trace; pragma Import (C, Tcl_CreateTrace, "Tcl_CreateTrace"); end Generic_Trace; -- generic -- type ClientData is private; -- -- This must be a type whose size is no greater than 32 bits, e.g., -- -- Integer, Short_Float, an access type. -- package Generic_TraceVar is -- -- type Tcl_VarTraceProc is access function ( -- data : ClientData; -- interp : Tcl_Interp; -- part1 : C.Strings.Chars_Ptr; -- part2 : C.Strings.Chars_Ptr; -- flags : C.Int -- ) return C.Strings.Chars_Ptr; -- pragma Convention (C, Tcl_VarTraceProc); -- -- function Tcl_TraceVar ( -- interp : Tcl_Interp; -- varName : C.Strings.Chars_Ptr; -- flags : C.Int; -- proc : Tcl_VarTraceProc; -- data : ClientData -- ) return C.Int; -- pragma Import (C, Tcl_TraceVar, "Tcl_TraceVar"); -- -- function Tcl_TraceVar ( -- interp : in Tcl_Interp; -- varName : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ) return C.Int; -- -- procedure Tcl_TraceVar ( -- interp : in Tcl_Interp; -- varName : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ); -- -- function Tcl_TraceVar2 ( -- interp : Tcl_Interp; -- part1 : C.Strings.Chars_Ptr; -- part2 : C.Strings.Chars_Ptr; -- flags : C.Int; -- proc : Tcl_VarTraceProc; -- data : ClientData -- ) return C.Int; -- pragma Import (C, Tcl_TraceVar2, "Tcl_TraceVar2"); -- -- function Tcl_TraceVar2 ( -- interp : in Tcl_Interp; -- part1 : in String; -- part2 : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ) return C.Int; -- -- procedure Tcl_TraceVar2 ( -- interp : in Tcl_Interp; -- part1 : in String; -- part2 : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ); -- -- procedure Tcl_UntraceVar ( -- interp : Tcl_Interp; -- varName : C.Strings.Chars_Ptr; -- flags : C.Int; -- proc : Tcl_VarTraceProc; -- data : ClientData -- ); -- pragma Import (C, Tcl_UntraceVar, "Tcl_UntraceVar"); -- -- procedure Tcl_UntraceVar ( -- interp : in Tcl_Interp; -- varName : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ); -- -- procedure Tcl_UntraceVar2 ( -- interp : Tcl_Interp; -- part1 : C.Strings.Chars_Ptr; -- part2 : C.Strings.Chars_Ptr; -- flags : C.Int; -- proc : Tcl_VarTraceProc; -- data : ClientData -- ); -- pragma Import (C, Tcl_UntraceVar2, "Tcl_UntraceVar2"); -- -- procedure Tcl_UntraceVar2 ( -- interp : in Tcl_Interp; -- part1 : in String; -- part2 : in String; -- flags : in C.Int; -- proc : in Tcl_VarTraceProc; -- data : in ClientData -- ); -- -- function Tcl_VarTraceInfo ( -- interp : Tcl_Interp; -- varName : C.Strings.Chars_Ptr; -- flags : C.Int; -- procPtr : Tcl_VarTraceProc; -- prevclientdata : ClientData -- ) return ClientData; -- pragma Import (C, Tcl_VarTraceInfo, "Tcl_VarTraceInfo"); -- -- function Tcl_VarTraceInfo ( -- interp : in Tcl_Interp; -- varName : in String; -- flags : in C.Int; -- procPtr : in Tcl_VarTraceProc; -- prevclientdata : in ClientData -- ) return ClientData; -- -- function Tcl_VarTraceInfo2 ( -- interp : Tcl_Interp; -- part1 : C.Strings.Chars_Ptr; -- part2 : C.Strings.Chars_Ptr; -- flags : C.Int; -- procPtr : Tcl_VarTraceProc; -- prevclientdata : ClientData -- ) return ClientData; -- pragma Import (C, Tcl_VarTraceInfo2, "Tcl_VarTraceInfo2"); -- -- function Tcl_VarTraceInfo2 ( -- interp : in Tcl_Interp; -- part1 : in String; -- part2 : in String; -- flags : in C.Int; -- procPtr : in Tcl_VarTraceProc; -- prevclientdata : in ClientData -- ) return ClientData; -- -- end Generic_TraceVar; function Tcl_DStringValue ( dsPtr : in Tcl_DString ) return String; function Tcl_Alloc ( size : in C.Unsigned ) return String; procedure Tcl_Free ( ptr : in String ); function Tcl_Realloc ( ptr : in String; size : in C.Unsigned ) return String; procedure Tcl_AddErrorInfo ( interp : in Tcl_Interp; message : in String ); procedure Tcl_AppendElement ( interp : in Tcl_Interp; strng : in String ); procedure Tcl_AppendResult ( interp : in Tcl_Interp; String1 : in String := ""; String2 : in String := ""; String3 : in String := ""; String4 : in String := ""; String5 : in String := ""; String6 : in String := ""; String7 : in String := ""; String8 : in String := ""; String9 : in String := "" ); procedure Tcl_Backslash ( src : in String; readPtr : access C.Int; result : out C.Char ); function Tcl_CommandComplete ( cmd : in String ) return C.Int; function Tcl_Concat ( argc : in C.Int; argv : in CArgv.Chars_Ptr_Ptr ) return String; function Tcl_ConvertElement ( src : in String; dst : in String; flags : in C.Int ) return C.Int; function Tcl_CreateAlias ( slave : in Tcl_Interp; slaveCmd : in String; target : in Tcl_Interp; targetCmd : in String; argc : in C.Int; argv : in CArgv.Chars_Ptr_Ptr ) return C.Int; function Tcl_CreateSlave ( interp : in Tcl_Interp; slaveName : in String; isSafe : in C.Int ) return Tcl_Interp; function Tcl_DbCkalloc ( size : in C.Unsigned; file : in String; line : in C.Int ) return String; function Tcl_DbCkfree ( ptr : in String; file : in String; line : in C.Int ) return C.Int; function Tcl_DbCkrealloc ( ptr : in String; size : in C.Unsigned; file : in String; line : in C.Int ) return String; function Tcl_DStringAppend ( dsPtr : in Tcl_DString; strng : in String; length : in C.Int ) return String; procedure Tcl_DStringAppend ( dsPtr : in Tcl_DString; strng : in String; length : in C.Int ); function Tcl_DStringAppendElement ( dsPtr : in Tcl_DString; strng : in String ) return String; procedure Tcl_DStringAppendElement ( dsPtr : in Tcl_DString; strng : in String ); function Tcl_ErrnoId return String; function Tcl_ErrnoMsg ( err : in C.Int ) return String; function Tcl_Eval ( interp : in Tcl_Interp; cmd : in String ) return C.Int; procedure Tcl_Eval ( interp : in Tcl_Interp; cmd : in String ); function Tcl_EvalFile ( interp : in Tcl_Interp; fileName : in String ) return C.Int; procedure Tcl_EvalFile ( interp : in Tcl_Interp; fileName : in String ); function Tcl_ExprBoolean ( interp : in Tcl_Interp; strng : in String ) return Boolean; function Tcl_ExprDouble ( interp : in Tcl_Interp; strng : in String ) return C.Double; function Tcl_ExprLong ( interp : in Tcl_Interp; strng : in String ) return C.Long; function Tcl_ExprString ( interp : in Tcl_Interp; strng : in String ) return String; procedure Tcl_FindExecutable ( argv0 : in String ); procedure Tcl_GetAlias ( interp : in Tcl_Interp; slaveCmd : in String; targetInterpPtr : in Tcl_Interp; targetCmdPtr : in CArgv.Chars_Ptr_Ptr; argcPtr : access C.Int; argvPtr : access CArgv.Chars_Ptr_Ptr; result : out C.Int ); procedure Tcl_GetBoolean ( interp : in Tcl_Interp; strng : in String; boolPtr : access C.Int; result : out C.Int ); procedure Tcl_GetDouble ( interp : in Tcl_Interp; strng : in String; doublePtr : access C.Double; result : out C.Int ); function Tcl_GetHostName return String; procedure Tcl_GetInt ( interp : in Tcl_Interp; strng : in String; intPtr : access C.Int; result : out C.Int ); function Tcl_GetPathType ( path : in String ) return Tcl_PathType; function Tcl_GetSlave ( interp : in Tcl_Interp; slaveName : in String ) return Tcl_Interp; function Tcl_GetVar ( interp : in Tcl_Interp; varName : in String; flags : in C.Int ) return String; function Tcl_GetVar2 ( interp : in Tcl_Interp; part1 : in String; part2 : in String; flags : in C.Int ) return String; function Tcl_GlobalEval ( interp : in Tcl_Interp; command : in String ) return C.Int; procedure Tcl_GlobalEval ( interp : in Tcl_Interp; command : in String ); function Tcl_JoinPath ( argc : in C.Int; argv : in CArgv.Chars_Ptr_Ptr; resultPtr : in Tcl_DString ) return String; function Tcl_LinkVar ( interp : in Tcl_Interp; varName : in String; addr : in String; typ : in C.Int ) return C.Int; procedure Tcl_LinkVar ( interp : in Tcl_Interp; varName : in String; addr : in String; typ : in C.Int ); function Tcl_Merge ( argc : in C.Int; argv : in CArgv.Chars_Ptr_Ptr ) return String; function Tcl_ParseVar ( interp : in Tcl_Interp; strng : in String; termPtr : in CArgv.Chars_Ptr_Ptr ) return String; function Tcl_PkgProvide ( interp : in Tcl_Interp; name : in String; version : in String ) return C.Int; procedure Tcl_PkgProvide ( interp : in Tcl_Interp; name : in String; version : in String ); function Tcl_PkgRequire ( interp : in Tcl_Interp; name : in String; version : in String; exact : in C.Int ) return String; function Tcl_PosixError ( interp : in Tcl_Interp ) return String; procedure Tcl_PrintDouble ( interp : in Tcl_Interp; value : in C.Double; dst : in String ); function Tcl_PutEnv ( strng : in String ) return C.Int; function Tcl_RecordAndEval ( interp : in Tcl_Interp; cmd : in String; flags : in C.Int ) return C.Int; procedure Tcl_RecordAndEval ( interp : in Tcl_Interp; cmd : in String; flags : in C.Int ); function Tcl_RegExpCompile ( interp : in Tcl_Interp; strng : in String ) return Tcl_RegExp; function Tcl_RegExpExec ( interp : in Tcl_Interp; regexp : in Tcl_RegExp; strng : in String; start : in String ) return C.Int; procedure Tcl_RegExpExec ( interp : in Tcl_Interp; regexp : in Tcl_RegExp; strng : in String; start : in String ); function Tcl_RegExpMatch ( interp : in Tcl_Interp; strng : in String; pattern : in String ) return C.Int; procedure Tcl_RegExpMatch ( interp : in Tcl_Interp; strng : in String; pattern : in String ); procedure Tcl_ScanElement ( strng : in String; flagPtr : access C.Int; result : out C.Int ); procedure Tcl_SetErrorCode ( interp : in Tcl_Interp; String1 : in String := ""; String2 : in String := ""; String3 : in String := ""; String4 : in String := ""; String5 : in String := ""; String6 : in String := ""; String7 : in String := ""; String8 : in String := ""; String9 : in String := "" ); procedure Tcl_SetResult ( interp : in Tcl_Interp; strng : in String ); function Tcl_SetVar ( interp : in Tcl_Interp; varName : in String; newValue : in String; flags : in C.Int ) return String; procedure Tcl_SetVar ( interp : in Tcl_Interp; varName : in String; newValue : in String; flags : in C.Int ); function Tcl_SetVar2 ( interp : in Tcl_Interp; part1 : in String; part2 : in String; newValue : in String; flags : in C.Int ) return String; procedure Tcl_SetVar2 ( interp : in Tcl_Interp; part1 : in String; part2 : in String; newValue : in String; flags : in C.Int ); function Tcl_SignalId ( sig : in C.Int ) return String; function Tcl_SignalMsg ( sig : in C.Int ) return String; procedure Tcl_SplitList ( interp : in Tcl_Interp; list : in String; argcPtr : access C.Int; argvPtr : access CArgv.Chars_Ptr_Ptr; result : out C.Int ); procedure Tcl_SplitPath ( path : in String; argcPtr : access C.Int; argvPtr : access CArgv.Chars_Ptr_Ptr ); procedure Tcl_StaticPackage ( interp : in Tcl_Interp; pkgName : in String; initProc : in Tcl_PackageInitProc; safeInitProc : in Tcl_PackageInitProc ); function Tcl_StringMatch ( strng : in String; pattern : in String ) return C.Int; procedure Tcl_UnlinkVar ( interp : in Tcl_Interp; varName : in String ); function Tcl_UnsetVar ( interp : in Tcl_Interp; varName : in String; flags : in C.Int ) return C.Int; procedure Tcl_UnsetVar ( interp : in Tcl_Interp; varName : in String; flags : in C.Int ); function Tcl_UnsetVar2 ( interp : in Tcl_Interp; part1 : in String; part2 : in String; flags : in C.Int ) return C.Int; procedure Tcl_UnsetVar2 ( interp : in Tcl_Interp; part1 : in String; part2 : in String; flags : in C.Int ); procedure Tcl_UpdateLinkedVar ( interp : in Tcl_Interp; varName : in String ); function Tcl_UpVar ( interp : in Tcl_Interp; frameName : in String; varName : in String; localName : in String; flags : in C.Int ) return C.Int; procedure Tcl_UpVar ( interp : in Tcl_Interp; frameName : in String; varName : in String; localName : in String; flags : in C.Int ); function Tcl_UpVar2 ( interp : in Tcl_Interp; frameName : in String; part1 : in String; part2 : in String; localName : in String; flags : in C.Int ) return C.Int; procedure Tcl_UpVar2 ( interp : in Tcl_Interp; frameName : in String; part1 : in String; part2 : in String; localName : in String; flags : in C.Int ); function Tcl_VarEval ( interp : in Tcl_Interp; String1 : in String := ""; String2 : in String := ""; String3 : in String := ""; String4 : in String := ""; String5 : in String := ""; String6 : in String := ""; String7 : in String := ""; String8 : in String := ""; String9 : in String := "" ) return C.Int; procedure Tcl_VarEval ( interp : in Tcl_Interp; String1 : in String := ""; String2 : in String := ""; String3 : in String := ""; String4 : in String := ""; String5 : in String := ""; String6 : in String := ""; String7 : in String := ""; String8 : in String := ""; String9 : in String := "" ); function Tcl_GetResult ( interp : in Tcl_Interp ) return String; end Tcl.Ada;