--------------------------------------------------------------------
--
-- 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;