For building TCL with support of access to Linter:
  1. Execute 'configure' file from distribution kit root directory 
     (unless you have done this before).

  2. Change directory to tcl.

  3. Execute 'make' command.
     If make has been completed without errors,
     you have TCL with support of access to Linter.

Note: it is assumed that TCL/TK is already installed in your system.



LINTCL INTRODUCTION
-------------------

LINTCL is a set of command providing access from Tcl to DBMS 
LINTER. All commands return a positive value if they are completed 
successfully. Otherwise returned code will be negative.

Possible returned values in case of error:

-1  LinAPI error
-2  invalid identifier
-3  object is busy
-4 not enough memory
-5  LINTCL internal error

LINTCCL commands

linter_connect username ?name length? ?password? \ ?pass length?  
?server? ?mode?
opens a connection to LINTER server <server> for user 
<username> and password <password>
Mode argument sets the mode for transaction processing: 
mOptimistic, mExclusive, mAutocommit, mAnsi. In case of 
successful completion a positive value is returned. This value is 
the identifier of the connection

linter_closeconnect ConnectID
closes the connection with identifier ConnectID and all cursors 
and operators connected with it

linter_opencursor ConnectID ?mode? ?cursor name? ?name length?
Opens cursor at the specified connection in mode <mode> and with 
name <cursor name>. Returns cursor's identifier

linter_closecursor CursorID
	Closes the cursor with identifier <CursorID>

linter_execdir CursorID query
	executes a query for the specified cursor

linter_fetch CursorID ?direction? ?position?
sets the current row in a sample according to the movement 
direction <direction>:
toNext - to the next row
toPrevious - to the previous row
toFirst - to the first row
toLast - to the last row
toAbsNumber - to the row with absolute number <position>
toRelNumber - to the row with the number <position> relative to 
the current row

linter_getrow CursorID
returns the list which first element is the termination code and all 
others contain the values of columns of response row

linter_getdata CursorID ColumnNumber ?type?
returns the two-element list, where the firs element is termination 
code, second is the value of the column of response row
tyme may have the following values: tChar, tString
default is type=tChar

linter_createstms ConnectID query
translates SQL query and creates an operator. Returns the 
operator's identifier

linter_freestms StmsID
	frees the specified operator

linter_execstms CursorID StmtID
	executes the operator

linter_bindpar CursorId StmsID number var
binds the variable <var> to the query parameter with number 
<number>

linter_cursopt CursorID option ?number?
returns the list where the first element is termination code, second 
is the value of required cursor's option. If option's type is 
cAnswerDesc, it is necessary to indicate the number of response 
column, and the value will be stored in seven elements of the list, 
each of them consisting of one field of t_ParamDesc structure.
Types of options are similar to the types of LinAPI options.

Linter_stmtopt StmtID option ?number?
	
returns the list where the first element is termination code, second 
is the value of required option. If option's type is cAnswerDesc, it 
is necessary to indicate the number of response column, and the 
value will be stored in five elements of the list corresponding to 
the fields Owner, Table, Column, Type and Length of 
t_ParamDesc structure.
If option's type is sParamDesc, it is necessary to indicate 
parameter's number and the value will be stored in three elements 
of the list corresponding to the fields Column, Type and Length of 
t_paramDesc structure. Types of options are similar to the types of 
LinAPI options.

Linter_commit ConnectID
commits transaction results for all cursors of the specified 
connection

linter_commcurs CursorID
	commits the results of cursor's transaction

linter_rollback ConnectID
rolls back transaction results for all cursors of the specified 
connection

linter_rollbcurs
rolls back transaction results for all cursors of the specified 
connection

linter_freeall
closes all connections, cursors, operators and frees all the 
resources that were used in work. It is necessary to execute this 
command before quitting an application.
