DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e48e562b7⟧ Wang Wps File

    Length: 32792 (0x8018)
    Types: Wang Wps File
    Notes: CPS/SDS/006               
    Names: »1069A «

Derivation

└─⟦53e9d9273⟧ Bits:30006039 8" Wang WCS floppy, CR 0063A
    └─ ⟦this⟧ »1069A « 

WangText



&…08…&…09…&…0d…&…0e…&…05…&…06…%…0c…%…02…%
$…08…$…0a…$…0b…$…00……86…1
      
      
      
      
      
      
      
   …02…   
      
  …02…   …02… 
      
 

…02…CPS/SDS/006

…02…HKI/810801…02……02…
I/O CONTROL
…02……02…CAMPS








                    4̲ ̲ ̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲I̲G̲N̲



4.1      P̲A̲C̲K̲A̲G̲E̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲



4.1.1    F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The IOC is divided into two major function groups.

         1.1 The LINE INTERFACE CONTROL functions and

         1.2 DEVICE AND LINE CONTROL functions

         The LINE INTERFACE CONTROL functions are as standard
         components of the CR80D system not a part of the CAMPS
         software development and are only described below to
         provide an understanding of the implementation of the
         interfaces to DEVICE AND LINE CONTROL functions.

         The DEVICE and LINE control functions for software
         development are as well standard components of the
         CR80D system and will not be further described.

         Figures 4.1.1-1 through 14 present the breakdown of
         IOC functions.

         Figure 4.1.1-1 gives an overview of the IOC. The left
         part presents the standard DAMOS part and the right
         part the CAMPS specific functions.

         The following figures present the IOC function related
         to each of the terminals/lines interfaced.










                  Figure 4.1.1-1 to -14


4.1.2    S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲



4.1.2.1  O̲v̲e̲r̲v̲i̲e̲w̲

         The Software Structure of the IOC is determined when

         1)  The external interface hardware of the equipment
             is fixed, i.e. whether interfaced via LTUs in the
             Channel Unit or LTUXes on the TDX.

         2)  The functions to be performed are defined as belonging
             to one of 4 major groups.

             a)  Application oriented functions
             b)  Data conversion functions
             c)  Terminal definition in sense of DAMOS
             d)  Hardware (line) control functions

         3)  The functions, that are common to more than one
             interface are determined (refer to section 4.1.1).

         Figure 4.1.2.1-1 presents an overview of the CR80D
         Hardware and Software frames for implementation of
         IOC functions. The double-formed boxes are areas for
         implementation of CAMPS IOC functions.










                     FIGURE 4.1.2.1-1


         M̲o̲n̲i̲t̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲,̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲P̲r̲o̲c̲e̲s̲s̲

         Application oriented functions (refer group a above)
         are implemented in either a monitor procedure in the
         calling process or in a service process. As the access
         rights of the application within DAMOS are checked
         by TMS against the capabilities of the accessing process,
         an implementation of application oriented functions
         within a monitor procedure preserves the effect of
         DAMOS access control mechanisms, where an implementation
         within a service process would have to leave certain
         access checks to this process.

         T̲e̲r̲m̲i̲n̲a̲l̲ ̲H̲a̲n̲d̲l̲e̲r̲s̲ ̲a̲n̲d̲ ̲L̲T̲U̲X̲/̲L̲T̲U̲ ̲L̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲

         The terminal handlers define the terminals to TMS (refer
         group c above) and application. Each terminal has a
         system connection and a number of application connections.

         The LTU/LTUX line interface software implements the
         control of V24 lines, character transmission etc. (refer
         group d above).

         Either the Handlers or the LTU/LTUX software defines
         the allocation of terminals to lines.

         Data conversion functions (refer group b above) may
         be performed at any level, i.e. there are no architectural
         bindings.



4.1.2.2  F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲

         Function numbers refer to section 4.1.1. Figure 4.1.2.2-1
         to 4.1.2.2-4 provides an overview.

         FORMAT HANDLER SUBPACKAGE:

         This sub-package implements application Split interface.

                         1.2.1.1.1

         LTUX HANDLER SUBPACKAGE:

         This subpackage implements

         for VDU         1.2.1.1.2   Concurrent Split Access
         for MSTP        1.2.1.2.1   Control Function Handling







                  Figure 4.1.2.2-1 to -4


         for PTP/PTR     1.2.1.3.1   Control Function Handling
         for TRC/P-P     1.2.1.4.1   Control Function Handling
         for OCR         1.2.1.5.1   Control Function Handling

         LTU HANDLER SUBPACKAGE:

         This subpackage implements:

         for NICS TARE   1.2.2.1.1   Control Function Handling
                         1.2.2.1.2   Data Format Control
                         1.2.2.1.3.1 Message Handling
         For CCIS/SCARS  1.2.2.2.1   Control Function Handling
                         1.2.2.2.2   Data Format Control
                         1.2.2.2.3.1 Message Handling
                         1.2.2.2.3.2 Segment/Frame Handling

         SSC INTERFACE SUBPACKAGE

         This subpackage implements

                         1.2.3.1     SSC HANDLER
                         1.2.3.2     Watchdog interface
                         1.2.3.3     Function when no Watchdog

         PU-PU HANDLER SUBPACKAGE

         This subpackage implements
                         1.2.1.6.1   Control Function Handling

         LTUX FUNCTIONS SUBPACKAGE

         This subpackage implements

         for VDU         1.2.1.1.3   Data Transmission Control
                         1.2.1.1.4   Data Format Control
                         1.2.1.1.5   Data Transmission Verification
                         1.2.1.1.6   V24 Lines Control
         for MSTP        1.2.1.2.2   Data Format Control
                         1.2.1.2.3   V24 Lines Control
         for PTP/PTR     1.2.1.3.2   Data Format Control
                         1.2.1.3.3   V24 Lines Control
         for TRC/P-P     1.2.1.4.2   Data Format Control
                         1.2.1.4.3   V24 Lines Control
         for OCR         1.2.1.5.2   Data Format Control
                         1.2.1.5.3   V24 Lines Control


         NICS TARE LTU FUNCTIONS SUBPACKAGE

         This subpackage implements

                         1.2.2.1.3.2 Segment/Frame Handling
                         1.2.2.1.3.3 Link Access
                         1.2.2.1.4   V24 Control

         CCIS/SCARS LTU FUNCTIONS SUBPACKAGE

         This subpackage implements

                         1.2.2.2.3.3 Link Access
                         1.2.2.2.4   V24 Control



4.1.3    D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲

         A good way of viewing the IOC is as a transformer between
         the application requests for communication with external
         devices/lines and the electrical interface to this
         external world. The top level data flow should be viewed
         from this standpoint.

         Figure 4.2.3-1 presents the interfaces between subpackages
         within IOC as well as system application and external
         interfaces.

         The following major events occur:

         (refer figure 4.1.3-1 for numbers in circles)

         1)  The application requests processing for a VDU by
             calling the Format Handler (via the System Call
             Monitor of CSF). The request leads to File I/O
             (not shown) and to data transfers to/from VDU.

         2)  The application requests I/O operations on lines/devices,
             that are not VDUs. By call of IO system functions
             (refer Kernel) data is transferred.










                      Figure 4.1.3-1


         3)  The SSC specifies Create Terminal to the Terminal
             Management System. The SSC may receive error information
             and predefined function keys ("System") via an
             asynchroneous report.

         4)  The Format Handler uses the same IOC functions
             as the application does for data transfer.

         5, 7, 9, 11)

             The SSC call of Create Terminal makes the TMS call
             the specified handler specifying creation of terminal.
             TMS react to "break" specified for the VDU or line.

         13, 15, 17)

             The Handlers initialize the channels (i.e. the
             LTU or LTUX firmware) according to the TMS specification

         6, 8, 10, 12)

             The TMS directs data transfer to the Terminal specified
             by the connection (Application or System)

         14, 16, 18, 19, 20)

             The Handlers initiate data transfers to the firmware.



4.1.4    P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         The IOC has essentially no internal common data.



4.1.5    C̲o̲m̲m̲o̲n̲ ̲D̲a̲t̲a̲

         Only for VDU formats data are shared with other CAMPS
         Packages.

         Formats are stored in files of a permanent nature.

         The first part of the file (the control record) contains
         control information, which is



         -   Number of formats in file

         -   A description for each format giving

             -   Format name
             -   Address and length of control table
             -   Address and length of VDU Codes

         The file layout is presented in figure 4.1.5-1.








                   Figure 4.1.5-1 to -7


4.1.6    I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.6.1  E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The external interfaces for IOC is the electrical interface
         for devices and lines, where IOC in fact implements
         the CAMPS external interface to devices/lines.

         Interface descriptions are:

         CAMPS ICDs ICD/004 through 8



4.1.6.2  P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The Interface for IOC can be divided into 3 main groups.

         a)  Control Interfaces for defining control parameters
             within the IOC (i.e. definition of terminals).
             On figure 4.1.3-1 this is 5, 7, 9, 11, 13.

         b)  Data Transport Interfaces using the IOS calls.
             On figure 4.1.3-1 this is 2 and 3 resulting in
             6, 8, 10, 12, and 14.

         C)  FORMAT HANDLER interfaces. On figure 4.1.3-1 this
             is marked 1.



4.1.6.2.1    C̲o̲n̲t̲r̲o̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The IOC is initialized and controlled via a number
         of control commands. They are mainly standard commands
         to TMS.

         ASSIGN:

         Initialize device handler for specific device (LTU,
         LTUX, SSC handler)

         DEASSIGN:

         Shut down handler (including all channels)



         INIT BOOT LOADING:

         Specify that Boot Load of LTU is to take place.

         BOOT LOAD:

         Define data for boot load of LTU.

         TERMINATE BOOT LOAD:

         Activation of LTU.

         OPEN CHANNEL:

         Define the protocol type for the channel:

             NICS TARE
             CCIS/SCARS
             VDU
             Low Speed Line, etc.

         and defines a synchronization element for asynchronous
         error reporting.

         CLOSE CHANNEL:

         Request close to handler.

         CONTROL CHANNEL:

         A two way communication of data to the channel protocol
         is performed. The command may either be a request for
         channel statistics or it may be a data transfer to
         initialize the channel (VDU).

         CREATE TERMINAL:

         Definition of a terminal as a connection on a multidropped
         channel. All types of channels defined in CAMPS except
         two only have one terminal per channel.

         The two are:

             VDU         The VDU is defined as two terminals
                         per split, one for control keys, one
                         for data.

             NICS TARE   The LCB transfer is via a separate
                         terminal.



         CONTROL TERMINAL:

         Not used.

         SELECT, ENABLE:

         Used to control application access to a terminal.

         CHANGE TERMINAL ATTRIBUTES, CHANGE PROFILE, PROTECT:

         Used to change the access parameters for the terminal
         and the application.

         OFFER/ACCEPT:

         Used to transfer a connect access to another process,
         possibly without this process has access right to the
         terminal. As an example, the SSC gives access to terminals/lines
         by offering the connections to TEP, THP.

         LOOK UP:

         Application request for a connection to a terminal
         for which the application process has access right.

         DISMANTLE:

         Used for two purposes. For an application to give up
         its connection. For system software (SSC) to give up
         its connection and to delete the terminal.

         USER ON/OFF:

         Specifies an application process with priviledges to
         TMS.



4.1.6.2.2    D̲a̲t̲a̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The data transport to/from a terminal is exercised
         by calling the IOS procedures.

         APPEND BYTES
         READ BYTES

         The buffer content, which is a logical contiguous byte
         string either specified to the IOS or returned from
         the IOS is formatted as specified below.



         The start byte identifies the start of a record. It
         may also occur in data, but only when flagged as control
         characters.

         The Byte Count gives the length of Data (so that total
         length is bytecount + 3). The maximum length is dependent
         on the interfaced line.

         The flag byte give the type of the data transferred.
         It may be a line or a field or a string of control
         characters. If a line of text has not been terminated
         in a normal way the Flag Byte indicates this. Three
         ways of abnormal termination may be identified.

         a)  The line is not terminated by the normal character
             sequence, but by a different sequence (control
             characters). The line is defined as data and a
             new record is initiated (control type).

         b)  The line length exceeds the predefined length.
             The line is defined as data and a new record is
             initiated.

         c)  An unexpected V24 line status change or a key on/off
             or a timeout (more than predefined time interval
             between two characters) detected. The current record
             is terminated as a data record and the IO request
             is terminated with an error code indicating the
             reason for termination.

         The general layout of the buffer is presented in figure
         4.1.6.2.2-1.











                    Figure 4.1.6.2.2-1


         FLAG BYTE VALUES

         0       Normal data (ASCII HEX 20 to HEX 7F)

         1       Line or Field (ASCII HEX 20 to HEX 7F). For
                 incoming (CR, CR, LF) or (CR, LF) or other
                 separator detected.

                 For outgoing the sequence as specified is attached.

         2       Spare

         3       Used by IOC

         4       Control sequences from/to application to/from
                 device/line.

         5       Control sequence from/to Application to/from
                 IOC start of message

         6       Do - end of message

         7       Spare

         8,9,A   Used by IOC



4.1.6.2.2.1 M̲e̲d̲i̲u̲m̲ ̲S̲p̲e̲e̲d̲ ̲T̲e̲l̲e̲p̲r̲i̲n̲t̲e̲r̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The Medium Speed Teleprinter is interfaced by use of
         IOS APPEND BYTES with record types as shown in figure
         4.1.6.2.2.1-1. 

         If the key is off or the application has no open connection
         to the terminal an error code will be returned.

         The MSTP interface accepts types 0, 1, 4.













                   figure 4.1.6.2.2.1-1


4.1.6.2.2.2 P̲T̲P̲/̲P̲T̲R̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The PTP is interfaced by use of IOS APPEND BYTES with
         record types as shown in figure 4.1.6.2.2.2-1. If the
         key is off or the application has no open connection
         to the terminal, an error will be returned.

         The PTP interface accepts types 0, 1, 4.

         The PTR is interfaced by use of IOS READ BYTES. Received
         records will be type 0, 1 or 4 as shown in figure 4.1.6.2.2.2-2.
         If the application has no open connection to the terminal
         an error code is returned.

         The conventions for ITA 5 input processing for PTR
         are as follows:

         Characters are normally collected in type 1 records,
         where either the sequence "CR, CR, LF" or "CR, CF"
         is used as separator.

         Where more than 69 characters have been received without
         this termination of line, they are collected in a type
         0 record and a new count is initiated. Occurrence of
         any other control characters than above line termination
         leads to an immediate recording of already received
         characters into a type 0 and collection of control
         characters in type 4. If a control sequence is longer
         than 69 characters it will be collected in a type 4
         record and new record will start. If normal characters
         (1 or more) are received, record type 4 is terminated
         and a type 0 or 1 started.

         If any character has been received and there is a break
         of 2 seconds (configurable), the application IO is
         terminated.

         If no application IO request is present, characters
         received from the PTR are lost.

         For lines operating in ITA 2, the same rules apply,
         except that Shift In and Shift Out characters are allowed
         to determine the meaning of next characters. Superfluous
         Letter shift or Figure shift are returned as described
         above.







             Fig. 4.1.6.2.2.2-1 PTP Interface







             Fig. 4.1.6.2.2.2-2 PTR Interface





4.1.6.2.2.3 T̲R̲C̲,̲ ̲P̲o̲i̲n̲t̲ ̲t̲o̲ ̲P̲o̲i̲n̲t̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The TRC and P to P are interfaced by use of the IOS
         APPEND BYTES and READ BYTES with record types identical
         to the ones shown for PTP/PTR in section 4.1.6.2.2.2.



4.1.6.2.2.4 O̲C̲R̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The OCR is interfaced by use of IOS READ BYTES. Received
         records will be type 0, 1, 4, 5, or 6 as shown in figure
         4.1.6.2.2.4-1. If the application has no open connection
         an error code is returned.

         The conventions for ITA 5 input processing for OCR
         are as follows:

         Characters are normally collected in type 1 records,
         where either the sequence "CR, CR, LF" or "CR, LF"
         is used as separator. When more than 69 characters
         have been received without this termination of line,
         they are collected in a type 0 record and a new count
         initiated. Occurence of any other control character
         (-sequence) than above line termination leads to an
         immediate recording of already received info in type
         0 and collection of control chars in type 4. If a control
         charseq. is longer than 69 it is divided into several
         of max length 69. The first occurence of a non-control
         character terminates the type 4 record and starts building
         a type 0 or 1. Control characters ETB are not returned
         to the application.








                    Fig. 4.1.6.2.2.4-1





4.1.6.2.2.5 P̲U̲-̲P̲U̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The remote PU is interfaced for output by use of IOS
         APPEND BYTES and for input by IOS READ BYTES. Data
         sent in one PU by use of APPEN BYTES will be received
         as sent in the other PU by use of READ BYTES seen as
         contiguous data stream.



4.1.6.2.2.6 N̲I̲C̲S̲-̲T̲A̲R̲E̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The input is obtained by use of READ BYTES. Received
         records will be type 0, 1, 4, 5 or 6, where 0, 1 and
         4 are resulting from decoding of message text and 5
         and 6 are indicating start and end of message respectively.

         An error is returned if the application has no open
         connection to the terminal or if a fatal error has
         occured on the link.

         The input conversion is shown in fig. 4.1.6.2.2.6.

         Output is performed by using IOS APPEND BYTES. Allowed
         record types are 0, 1, 4, 5 and 6. The output conversion
         is the inverse of the input conversion. An error code
         will be returned if the record length is not identical
         to the one specified.








        Fig. 4.1.6.2.2.6 NICS-TARE Data Interface





4.1.6.2.2.7 C̲C̲I̲S̲/̲S̲C̲A̲R̲S̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The input is obtained by use of READ BYTES. Received
         records will be of type 0, 1, 4, 5 or 6, where 0, 1
         and 4 are are resulting from decoding of the message
         text and 5 and 6 are indicating start and end of message
         respectively.

         An error is returned if the application has no open
         connection to the terminal or if the message control
         field of the protocol is in error (i.e. blocks out
         of sequence, precedence and type changed). Message
         control field errors following blocks are ignored.

         The input conversion is shown in fig. 4.1.6.2.2.7.

         Output is performed by using the IOS APPEND BYTES.
         Allowed record type are 0, 1, 4, 5 and 6. The output
         conversion is the inverse of the input conversion.
         An error code will be returned to the requestor (e.g.
         THP) if the record length is not identical to the one
         specified.








        Fig. 4.1.6.2.2.7 CCIS/SCARS Data Interface





4.1.6.2.3    F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The FORMAT HANDLER is a set of monitor procedures called
         via the System Call Monitor.

         For each of the below specified interface routines,
         the application may issue all system call monitor functions:

             INIT, WAIT, CANCEL, WAIT NEXT.

         The interface routines can be grouped into two major
         groups:

             -   Process oriented interface.

             -   VDU split oriented interface.

4.1.6.2.3.1  P̲r̲o̲c̲e̲s̲s̲ ̲O̲r̲i̲e̲n̲t̲e̲d̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The process oriented interface defines to the FORMAT
         HANDLER the location of and size of the internally
         used consecutive memory area as well as the format
         file to be used.

         The routine is called:

         I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲

             Input:  Start address format area
                     Length format area
                     Maximum number of splits handled
                     Size format control area
                     Size buffer area
                     FDCB of main catalog
                     Format file name

             Output: Done
                     Already Done
                     Error

4.1.6.2.3.2  V̲D̲U̲ ̲S̲p̲l̲i̲t̲ ̲O̲r̲i̲e̲n̲t̲e̲d̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         The VDU split oriented interface can be divided into
         initialization, format handling, field handling and
         control functions.



         I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲.

         The first call for handling a split defines the format
         area to be used for this interface. The reserved format
         area remains reserved, but it is possible to handle
         a different VDU split via the interface. To handle
         a different VDU split the Remove Terminal function
         must be called followed by a renewed Init Terminal

         D̲E̲F̲I̲N̲E̲ ̲F̲O̲R̲M̲A̲T̲ ̲A̲R̲E̲A̲

             Input:  Maximum size of control tables ever to
                     be handled via this interface.

             Output: Done + interface number (IFCB index).

         The interface number (IFCB index) must be supplied
         for all access defined below since it eventually defines
         the actual format file used and the actual split. The
         DEFINE FORMAT AREA establishes a control structure
         in the FORMAT HANDLER for handling one split and should
         only be called once, whereas format file and actual
         split identification can be changed.

         I̲N̲I̲T̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲

         The INIT TERMINAL defines to the format handler which
         VDU split is handled via this interface.

             Input:  Interface # (IFCB index)
                     File System Name for TMS of Terminal
                     Control Offer ID
                     Data Offer ID

             Output: Done
                     Terminal already defined
                     Error.

         The terminal (split) used may be redefined by use of
         REMOVE TERMINAL and a renewed INIT TERMINAL.

         R̲E̲M̲O̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲

             Input:  Interface # (IFCB index).

             Output: Done
                     No terminal defined
                     Error.



         F̲O̲R̲M̲A̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲

         The format handling functions are used to get and change
         formats and output them onto the VDU split.

         G̲E̲T̲ ̲F̲O̲R̲M̲A̲T̲

         The GET FORMAT defines a format on the already defined
         format file and reads-in the control tables.

             Input:  Interface # (IFCB index)
                     Format ID.

             Output: Done
                     Not found
                     No file defined
                     Too big
                     Other error.

         O̲U̲T̲P̲U̲T̲ ̲F̲O̲R̲M̲A̲T̲

         The OUTPUT FORMAT transfers the format from the defined
         format file to the defined VDU split.

             Input:  Interface # (IFCB index).

             Output: Done
                     No format defined
                     No terminal defined
                     Other error.

         I̲N̲S̲E̲R̲T̲ ̲L̲I̲N̲E̲S̲

         The INSERT LINES change a format either before it has
         been output or after.

             Input:  Interface # (IFCB index)
                     Line number
                     Line incarnation number
                     Number of lines.

             Output: Done
                     No format defined
                     Line not repeatable
                     Incarnation number outside present range
                     No terminal defined
                     Other error.



         The incarnation number is the identification of the
         last line not shifted down. In order to insert one
         or more lines above an already defined set, incarnation
         must be put to zero.

         D̲E̲L̲E̲T̲E̲ ̲L̲I̲N̲E̲S̲

         The DELETE LINES change a format either before it has
         bveen output or after.

             Input:  Interface # (IFCB index)
                     Line number
                     Line incarnation number
                     Number of lines.

             Output: Done
                     No format defined
                     Line not repeatable
                     Incarnation number outside present range
                     Number of lines too big
                     No terminal defined
                     Other error.

         In order to delete all lines below a specified line,
         the number of lines should be defined to zero.

         Note that an issue of Insert or Delete Lines on a format
         after the format has been output implies output to
         the VDU.

         F̲I̲E̲L̲D̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲

          The field handling functions are input and output
         of fields.

         Fields are transferred from / to the application buffers.
         The interface is based on a definition of a field buffer
         and a field list buffer as shown in fig. 4.1.6.2.3-1.

         For output, the fields are taken as specified in the
         field list, assuming that the fields are sequenced
         in the Buffer as defined in the field list. The Buffer
         is the consecutive byte string defined by buffer 1,
         buffer 2 and buffer 3.



         For input, the field content is put in the Buffer defined
         as above and the field list is contructed reflecting
         the content of the Buffer.

         The layout of the field list is shown in fig. 4.1.6.2.3-2
         and the Buffer in 4.1.6.2.3-3.






        Fig. 4.1.6.2.3-1 Field Transfer Interface







            Fig. 4.1.6.2.3-2 Field List Layout




         F̲I̲E̲L̲D̲S̲ ̲O̲U̲T̲P̲U̲T̲

             Input:  Interface # (IFCB index)
                     Pointer Field List
                     Pointer BLE list
                     Number of fields.

             Output: Done
                     No Format Output
                     No Terminal
                     Other error.

         F̲I̲E̲L̲D̲S̲ ̲I̲N̲P̲U̲T̲

             Input:  Interface # (IFCB index)
                     Pointer empty field list
                     Pointer BLE list
                     First field
                     Number of fields.

             Output: Done (field list loaded and Buffer filled)
                     No format or terminal
                     First field not variable
                     Space not sufficient in buffer
                     Other error.








              Fig. 4.1.6.2.3-3 Buffer Layout




         C̲H̲A̲N̲G̲E̲ ̲F̲I̲E̲L̲D̲ ̲A̲T̲T̲R̲

         The CHANGE FIELD ATTR is used to highlight a field
         to the operator. Attributes can be defined with numeric
         values as defined below. Combined attributes are obtained
         by summing the numeric values:

             Strike Through     = 32
             Non Display        = 16
             Half Intensity     =  8
             Reverse Video      =  4
             Dotted Underline   =  2
             Blink              =  1

                 Input:  Interface # (IFCB index)
                         Line Number
                         Incarnation Number
                         Field Number.

                 Output: Done
                         No format or split
                         Unknown field
                         Field attributes not modifiable
                         Other error.

         G̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲P̲O̲S̲I̲T̲I̲O̲N̲

         This function is used to obtain the cursor position.
         If possible, the field identification and number of
         lines displayed in split above the cursor line are
         returned.

             Input:  Interface # (IFCB index)

             Output: Line number, Incarnation number, field
                     number, number of lines above cursor-line
                     Error.

         If the cursor is positioned in a formatted line but
         not in field, the line and incarnation number will
         be OK, but field number zero.

         S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲P̲O̲S̲I̲T̲I̲O̲N̲

             INPUT:  Interface # (IFCB index)
                     Line number
                     Incarnation number
                     Field number
                     Number of lines above cursor.


             Output: Done
                     No format on split
                     Unknown field
                     Other error.

         Control functions. The control functions are used to
         ring the bell, clear split and to receive function
         keys.

         S̲E̲N̲D̲ ̲C̲O̲N̲T̲R̲O̲L̲

             Input:  Interface # (IFCB index)
                     Code "Bell" or "Clear Split".

             Output: Terminal undefined
                     Other error.

         R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲

             Input:  Interface # (IFCB index).

             Output: Function key identification or error.

         The functions to control formats and fields and SEND
         CONTROL are mutually exclusive (i.e. cannot be pending
         at the same time), but a pending RECEIVE CONTROL is
         allowed.



4.1.6.3  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.6.3.1    F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲t̲o̲ ̲L̲T̲U̲X̲ ̲H̲a̲n̲d̲l̲e̲r̲

         The interface is via the data transfer:

             Input of data
             Output of data
             Combined Input / Output.

         The records transferred are of type 0, 1, 4.





4.1.6.3.2    L̲T̲U̲X̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲-̲ ̲L̲T̲U̲X̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The handler communciates with one LTUX channel via:

             -   a bidirectional data channel
             -   a bidirectional control channel.

         This set of interfaces is for one electrical interface.

         Comments to the LTUX Function Subpackage are (via the
         control channel):

             1)  Open
                 Setup of firmware for this channel
                 -   definition of control character sequences
                 -   definition of legal control characters
                 -   definition of mode
                     (conversion, VDU protocol etc)
                 -   definition of time out etc.
                 -   handler buffer size, number of buffers
                 Setup of V24

             2)  Close
                 Remove V24

             3)  Cancel
                 Remove all outgoing buffers

             4)  Request statistics (since last request)
                 1.  number of characters transmitted
                     a)   incoming
                     b)   outgoing.

         All commands 1 - 4 shall be acknowledged on the control
         channel.

         In addition to the requested actions with reaponses
         (1-4 above) following asyncroneous reports are sent
         to the Handler:

             Parity error
             CRC error (VDU).


         Record               Low Speed      OCR          VDU
          (numbers in brackets  Dev
         refer sec. 4.1.6.2.2)
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Normal data (0)      Oversized    Oversized    Oversized
                              line or      line or      field
                     or
                              premature    premature    premature
                              termination  termination  termination
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Line of Field (1)    CR, CR, LF   CR, CR, LF   Field
         sep
                                or CR, LF    or CR, LF    arator
 1c
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Control sequence         X            X           X
         (4) (Not one of spe-              Illegal      Illegal
         cified below and                  control      control
         not line/field                    characters   characters
         sequence                          End of       End
         of
                                           sequence     sequence
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲

         Special seq          MSTP/PTP/    ETB          Interrupt
         Reports are          PTR key on   generates    sequence
         type (3)                          end of se-   control
                              control      quence but   report
                              channel      does not in-
                              report       terrupt line
                                           decode
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Start of seq (8)       ./.          ./.        STX
         sep-
                                                        arator
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         End of sequence (9)  Time out     ETB shall    ETX
         +
                              end of       cause an     Block
                     
                              seq          end of seq   Control
                                           Timeout
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Ack / NAK (A)          ./.          ./.        After
         suc-
                                                        cessful
                                                        outgoing
                                                        trans-
                                                        mission.
                                                        after
                     NAK
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

                 LTUX   Handler Interface


         Record               Low Speed      OCR         VDU
          (numbers in brackets  Dev
         refer sec. 4.1.6.2.2)
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Normal data (1)      No con-        ./.       No con-
                              version                  version
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Line or Field (2)    Add            ./.       CLEAR
         LINE
                              CR CR LF                 + Data
                                                       + TAB
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Control Seq (4)      No con-      No con-     No con-
                              version      version     version
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         Start of se-          ./.           ./.       Transmission
         quence (8)                                    protocol
                                                       (x)
                                                       initiator
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲

         End of se-            ./.           ./.       Transmission
         quence (9)                                    protocol
                                                       (x)
                                                       terminator
          ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         ̲ ̲ ̲ ̲ ̲ ̲


         (x) Characters outside this frame shall just be transmitted
             without protocol

                   LTUX Handler   LTUX




4.1.6.3.3    L̲T̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲-̲ ̲N̲I̲C̲S̲ ̲-̲ ̲T̲A̲R̲E̲ ̲L̲T̲U̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲s̲

         The transfer is the segment level data interface defined
         for the protocol plus the control commands defined
         for the protocol.

         In addition, statistics may be requested from the LTU.



4.1.6.3.4    L̲T̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲-̲ ̲C̲C̲I̲S̲/̲S̲C̲A̲R̲S̲ ̲L̲T̲U̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The transfer is the block level data transfer defined
         for the protocal plus control commands to set up and
         take down the line.