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

⟦d62c60604⟧ Wang Wps File

    Length: 89427 (0x15d53)
    Types: Wang Wps File
    Notes: CPS/SDS/033               
    Names: »1941A «

Derivation

└─⟦71c0ba358⟧ Bits:30006098 8" Wang WCS floppy, CR 0151A
    └─ ⟦this⟧ »1941A « 

WangText

…00……00……00……00……00…7…02……00……00…7
%…00…%…07…$…0c…$…0d…$ #…0a…#…0c…#…0d…# "…0b…"…02…"…05…"…06…!…0c…!…01…!  …09… …0e…  …1f……0a……1f……00……1f……05……1f……06……1e……0d……1e……0e……1e……05……1c… …1b……0b……1b……0f……1b…
…1b……07……1a……0b……1a……0c……1a……00……1a… …1a……05……19……0a……19……0f……19……01……19……02……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/033

…02…831101…02……02…
TRAFFIC HANDLING
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








4.2.3    T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲



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



4.2.3.1.1    I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲

         The transport subpackage (TRS) supplies the functions
         which are necessary to initialize a specified Transport
         Process. Furthermore it includes a number of auxiliary
         functions common to different parts of the Process.

         The description of the Transport Subpackage also serves
         the purpose of giving an overview of a Transport Process
         concerning Software Structure, Internal Communication
         and Data Structure.



4.2.3.1.2    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲

         This section introduces the functions which support
         a Transport Process within CAMPS.

         Six types of Transport Processes are realized:

         -   TRC/POINT TO POINT
         -   NICS/TARE
         -   SCARS/CCIS
         -   PTR
         -   PTP
         -   OCR

         The functional breakdown for each type of process is
         depicted on figure 4.2.3.1.2-1.

         Four main groups of functions have been identified:

         -   Transport Initialization
         -   Transport Control
         -   Outgoing Transport
         -   Incoming Transport





4.2.3.1.3    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲

         When a Transport Process is created, the type of transport
         and the number of channels/devices to be controlled
         must be specified to the process.

         The Transport Initialization includes all functions
         which are necessary to initialize Transport Control,
         Outgoing Transport and Incoming Transport in such a
         way that they support the specified type of transport.



4.2.3.1.4    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲

         The Transport Control takes care of the superior control
         functions concerning the outgoing and incoming transport.
         (START ̲UP, CLOSE ̲DOWN, Timer Functions etc.)

         The functions performed by Transport Control are initiated
         by commands received from external subpackages through
         a Channel Command Queue (CCQ).

         Each channel/device within a Transport Process has
         its own Transport Control working independently of
         the others.

         The Transport Control has its own subpackage "Transport
         Control Subpackage" (Ref. 4.2.4), which supplies a
         detailed functional description



4.2.3.1.5    I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲

         The Incoming Transport includes the functions which
         transfer the messages from IOS to the Analysis Processes.

         A number of message lines are detected in order to
         separate the message into the field groups which constitute
         the External Message Format of a CIF.

         Furthermore a number of error checks are performed.

         Parameters describing the message are collected and
         transferred to the Analysis together with the result
         of the error check.



         Each channel/device within a Transport Process has
         its own Incoming Transport working independently of
         the others.

         The Incoming Transport has its own subpackage "Incoming
         Transport Subpackage" (sec. 4.2.5) which gives a detailed
         description of the functions for each type of Transport.



4.2.3.1.6    O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲

         The Outgoing Transport includes the functions which
         are closely related to the outgoing traffic.

         Outgoing messages are received from the circuit queue
         related to the subprocess and transferred to the IOS
         for transmission to the external line/device.

         The Outgoing Transport appends a number of lines such
         as: start of message, text separators, end of message,
         page identification etc. (ref. sec. 4.2.6).

         The OTS may also generate and transmit Abbreviated
         Service Messages (ASM) specified by the Transport Control.

         The Outgoing Transport has its own subpackage "Outgoing
         Transport Subpackage" (sec.4.2.6) which gives a detailed
         functional description.












































           TRANSPORT PROCESS Figure 4.2.3.1.2-1


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

         The basic unit in a Transport Process is a subprocess
         taking care of all functions related to an external
         channel or a stand alone devices (PTP/PTR/OCR).

         When a Transport Process has been created it will start
         up a subprocess for each channel/device which is to
         be controlled by the process.

         This section describes the principle software structure
         related to a Transport Process. The basic components
         of the software structure are shown on figure 4.2.3.2-1
         to 4.2.3.2-6.

         All functions within a Transport Subprocess are realized
         by means of coroutines running under control of the
         CSF Coroutine Monitor.

         The software is supplied with a specific set of coroutines
         for each type of Transport Process. During the initialization
         of a Transport Process only the set of coroutines related
         to the actual type of Transport is presented to the
         Coroutine Monitor.

         Each coroutine is constructed as a reentrant procedure.
         This makes it possible for all subprocess within a
         Transport Process to share the same code minimizing
         the resources of memory.



4.2.3.2.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲

         The purpose of the Transport Init module is to initialize
         a Transport Process with the number of subprocesses
         prescribed by the creating process, i.e. the "Parent
         Process".

         The initializing includes the following main tasks:

         a)  Init. of the data structure for each subprocess.

         b)  Setting up each subprocess with the coroutines
             specific for the type of process to let them run
             under control of the Coroutine Monitor.

         c)  Starting up the Coroutine Monitor.


4.2.3.2.2    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲A̲u̲x̲i̲l̲i̲a̲r̲y̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲

         The Transport Auxiliary Functions include a number
         of procedures which are common to the Transport Control,
         Outgoing Transport and Incoming Transport.



4.2.3.2.3    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲.̲

         The Transport Control Coroutine is responsible for
         all functions related to the Transport Control of a
         single Transport Subprocess. A specific Transport Control
         Coroutine is supplied for each type of Transport.

         Each of these coroutines is described in the Transport
         Control Subpackage (see section 4.2.4).



4.2.3.2.4    O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         The Outgoing Transport Coroutine is responsible for
         all functions related to the outgoing transport of
         a single Transport Subprocess. A specific Outgoing
         Transport Coroutine is supplied for each type of transport
         except for the PTR and the OCR.

         Each of these coroutines is described in the Outgoing
         Transport Subpackage (see section 4.2.6).



4.2.3.2.5    I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲

         The Incoming Transport Coroutine is responsible for
         all functions related to the incoming transport of
         a single Transport Subprocess. A specific Incoming
         Transport Coroutine is supplied for each type of transport
         except for the PTP.

         Each of these coroutines is described in the Incoming
         Transport Subpackage (see section 4.2.5).





4.2.3.2.6    S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲

         The Subprocess Data Record defines all data structures
         necessary to support the coroutines within a subprocess.

         The Transport Subprocess Data Module includes definition
         of a specific data record for each type of Transport
         (see section 4.2.3.5).

         All Data Records within a Transport Process is initialized
         by the Transport Init module.





                 Figure 4.2.3.2-1 til -6



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



4.2.3.3.1    D̲y̲n̲a̲m̲i̲c̲a̲l̲ ̲P̲r̲o̲g̲r̲a̲m̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         When a transport process is created it will first execute
         the procedures supplied by the Transport Init module.

         Hereby the process is divided into a number of subprocesses
         corresponding the number of channels/devices, which
         are to be controlled by the process.

         For each subprocess a specific number of coroutines
         are presented to the Coroutine Monitor (i.e. inserted
         in the Ready List).

         When the Transport Init procedures are all executed
         the program control is handed over to the Coroutine
         Monitor. From now on all coroutines within the process
         are executed in the order they appear in the Ready
         List of the Coroutine Monitor.

         The coroutines within a subprocess exchange information
         to synchronize the transport (ref. 4.2.3.3.2). Note
         however that the subprocesses within a transport process
         is independent of each other.



4.2.3.3.2    I̲n̲t̲e̲r̲n̲a̲l̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲

         The communication logic within a Transport Subprocess
         is realized by means of semaphores through which the
         coroutines exchange operations.

         To create a Transport Subprocess three semaphores have
         been introduced with the following type definitions:

         Type    TC ̲OPSEM: COROUTINE ̲SEMAPHORE
                 OT ̲OPSEM: COROUTINE ̲SEMAPHORE
                 IT ̲OPSEM: COROUTINE ̲SEMAPHORE

         The configurations of semaphores and coroutines are
         shown on figure 4.2.3.3.-1 to 4.2.3.3.-6 for each type
         of Transport Subprocess.



         Send and receive functions related to semaphores are
         performed by means of procedures defined within the
         CSF Coroutine Monitor.

         A detailed description of semaphore operations for
         all types of Transport Subprocesses is given in section
         4.2.3.7.



4.2.3.3.2.1 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲T̲C̲ ̲O̲P̲S̲E̲M̲
 ̲

         The main waiting point for the Transport Control Coroutine
         (TC ̲COROUTINE) is the TC ̲OPSEM semaphore.

         From here the TC ̲COROUTINE may receive operations from
         the Outgoing Transport Coroutine (OT ̲COROUTINE) or
         the Incoming Transport Coroutine (IT ̲COROUTINE).

         Commands from the Channel Command Queue (CCQ) are 
         also received through the TC ̲OPSEM. In this case the
         
         TC ̲COROUTINE first initiates a System Call 
         (RECEIVE ̲FIRST ̲QEL) and then associates the answer
         
         to the TC ̲OPSEM.

         When a command is available in the CCQ an operation
         is sent to the TC ̲OPSEM telling the TC-COROUTINE that
         a command is ready.



4.2.3.3.2.2 O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲O̲T̲ ̲O̲P̲S̲E̲M̲
 ̲

         The main waiting point for the Outgoing Transport Coroutine
         (OT ̲COROUTINE) is the OT ̲OPSEM semaphore.

         From here the OT ̲COROUTINE may receive operations from
         the Transport Control Coroutine (TC ̲COROUTINE). This
         makes it possible for the TC ̲COROUTINE to interfere
         with the outgoing transport.

         The outgoing messages to be transmitted on the external
         channel are received from the circuit Queue (CIQ) through
         the OT ̲OPSEM. In this case the OT ̲COROUTINE first initiates
         a System Call (RECEIVE ̲FIRST ̲QEL) and then associates
         the answer to OT ̲OPSEM.


         When a message is available in the CIQ an operation
         is sent to OT ̲OPSEM indicating that a message is ready
         for transmission.

         The OT ̲COROUTINE will pack the message lines into a
         buffer which is sent to the IOS for outgoing transmission.
         This is done by initiating a System Call (APPEND ̲BYTES)
         and associating the answer to OT ̲OPSEM.

         When the IOS has emptied the buffer an operation is
         sent to OT ̲OPSEM telling the OT ̲COROUTINE that the
         buffer is idle.


4.2.3.3.2.3 I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲,̲ ̲I̲T̲ ̲O̲P̲S̲E̲M̲

         The main waiting point for the Incoming Transport Coroutine
         (IT ̲COROUTINE) is the IT ̲OPSEM semaphore.

         From here the IT ̲COROUTINE may receive commands from
         the Transport Control Coroutine (TC ̲COROUTINE). This
         makes it possible for the TC ̲COROUTINE to interfere
         with the incoming transport.

         The incoming messages from the IOS are also received
         through IT ̲OPSEM. In this case the IT ̲COROUTINE initiates
         a System Call (READ ̲BYTES) and associates the answer
         to IT ̲OPSEM.

         When the IOS has filled out a buffer with characters
         from the external line, an operation will be sent to
         IT ̲OPSEM, telling the IT ̲COROUTINE that the buffer
         is ready.


4.2.3.3.2.4 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲P̲o̲o̲l̲s̲

         A transport subprocess is supplied with a specified
         maximum of operations by means of which the internal
         communication takes place.

         The TRS ̲OP ̲POOL semaphore contains those of the operations
         which at a certain moment are not being used in the
         internal communication, i.e. the idle operations.

         A coroutine takes out (receives) an idle operation
         from the TRS ̲OP ̲POOL each time a message is to be sent
         to another coroutine


         An operation received from another coroutine is returned
         to the TRS ̲OP ̲POOL when the information has been saved
         or decoded.

         Operations used for communication with IOS are stored
         in IOC ̲OUT ̲POOL and IOC ̲INP ̲POOL. These operations
         are connected to a specific buffer structure required
         for transmitting/receiving a message through IOS. The
         pools simplify the reservation of buffer structures.

         The pools mentioned above are initialized with operations
         by the Transport Init Module.








                  Internal communication

                 Figure 4.2.3.3-1 til 6.


4.2.3.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.3.4.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲i̲t̲ ̲M̲o̲d̲u̲l̲e̲



4.2.3.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 Transport Init Module is called from the main module
         "TRANSPORT" which contains the first statement to be
         executed when a Transport Process has been created.

         The Transport Init Module will initialize a Transport
         Process with the type of transport(s) which are specified
         by the "Parent Process" (i.e. COPSY).

         The following main tasks are included:

         a)  Setting up a data record for each subprocess within
             the process. (See figure 4.2.3.5.1-1).

             The subprocess data record for each type of transport
             is defined in sec. 4.2.3.5.

         b)  Presenting a coroutine description to CSF Coroutine
             Monitor for each coroutine within a subprocess.

         c)  Handing over the running of coroutines to the Coroutine
             Monitor.



4.2.3.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲ ̲f̲o̲r̲ ̲M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲

         Before the main module "TRANSPORT" is entered the "Parent
         Process" shall specify the Transport Process by means
         of the following register conventions:

         R0: START ̲UP ̲ACTIVE ̲TYPE            "Global Type"
         R1: PROCESS ̲TYPE                    "Global Type"
         R2: FIRST-̲SUBPROCESS ̲NO             "Global Constant"
         R3: NO ̲OF ̲SUBPROCESSES

         The main module only contains one statement which calls
         the "Transport Init Module".



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRANSPORT ̲START (PROCESS ̲TYPE, FIRST ̲SUBPROCESS
                             ̲NO, NO ̲OF ̲SUBPROCESSES)

         b)  TRANSPORT ̲START (R0, R1, R2, R3, R4, R7, R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲ ̲f̲o̲r̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲T̲A̲R̲T̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         As for main module (see above).

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         Undefined. (No return is made from TRANSPORT ̲START.



4.2.3.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         The components of the Transport Init Module are shown
         on figure 4.2.3.4.1.3-1.

         Note that the procedure PRE ̲INITIALIZATION is an external
         procedure required by COPSY.


4.2.3.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The Transport Init Module makes use of the following
         data type for the purpose of initialization:

         TRS ̲INIT ̲PARAMS =
         RECORD
             TRANSPORT ̲TYPE       :INTEGER
             SUBPROCESS ̲TYPE      :INTEGER
             SUBPROCESS ̲DATA ̲PNT  :INTEGER
             SUBPROCESS ̲CNT       :INTEGER
             SUBPROCESS ̲ID        :INTEGER
             INIT ̲TRS ̲COMON       :BOOLEAN
             INIT ̲TYPE            :BOOLEAN
         END

4.2.3.4.1.4 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The procedures within the Transport Init Module are
         implemented with a design as given by the flowgram
         4.2.3.4.1.5-1


MAINMODULE TRANSPORT

START

TRANSPORT ̲START                (PROCESS ̲TYPE,
                               FIRST ̲SUBPROCESS ̲NO,
                               NO ̲OF ̲SUBPROCESSES)

END TRANSPORT

PROCEDURE ̲TRANSPORT ̲START      (PROCESS ̲TYPE,
                               FIRST ̲SUBPROCESS ̲NO,
                               NO ̲OF ̲SUBPROCESSES)

START

PRE ̲INITIALIZATION

INIT ̲TRANSPORT ̲PROCESS                    (PROCESS ̲TYPE,
                               FIRST ̲SUBPROCESS ̲NO,
                               NO ̲OF ̲SUBPROCESSES)

CASE PROCESS ̲TYPE

   OCR ̲S         ?   OCR ̲TC ̲COROUTINE

   PTR ̲S         ?   PTR ̲TC ̲COROUTINE

   PTP ̲S         ?   PTP ̲TC ̲COROUTINE

   NICS ̲TARE ̲S   ?   NT ̲TC ̲COROUTINE

   SCARS ̲CCIS ̲S  ?   SC ̲TC ̲COROUTINE

   TRC ̲PTOP ̲S    ?   TP ̲TC ̲COROUTINE

END CASE

END TRANSPORT ̲START








               FLOWGRAM 4.2.3.4.1.5-1


         M̲o̲d̲u̲l̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲:̲

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲T̲A̲R̲T̲

         (R0     D
         R1   C  D   SUBPROCESS ̲TYPE
         R2   C  D   FIRST ̲SUBPROCESS ̲NO
         R3   C  D   NO OF SUBPROCESSES
         R4      D   
         R7      D   INF FOR PREINITIALIZATION
         R6)  C  D   LINK

         This procedure is called from the TRANSPORT MAIN MODULE
         and activates initialization of the specified transport
         process.

         After initialization the procedure jumps to the first
         Coroutine inserted into the READY ̲LIST of the CSF ̲COROUTINE
         ̲MONITOR.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲

         (R0  C  D   BOOLEAN "TYPE OF INIT"
         R1   C  D   SUBPROCESS ̲TYPE
         R2   C  D   FIRST SUBPROCESS NO
         R3   C  D   NO OF SUBPROCESSES
         R6)  C  D   LINK

         This procedure branch to the type of initialization
         related to the subprocess type.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a TRC/POINT TO POINT
         transport process with as many subproceses as indicated
         in SUBPROCESS ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a NICS TARE Transport
         process with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.



         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a SCARS/CCIS transport
         process with as many subproceses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a PTP transport process
         with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a PTR transport process
         with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲

         (R6) C  D   LINK

         This procedure will initialize a OCR transport process
         with as many subprocesses as indicated in SUBPROCESS
         ̲CNT stored in TRS ̲INIT ̲PARAMS.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a TRC/POINT TO POINT subprocess by inserting pointers
         (references) to the other fields of the Subprocess
         data record (i.e. TRS ̲TP ̲DATA). See datastructures
         defined in sect. 4.2.3.5.2 and 4.2.3.5.7.10.



         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a NICS TARE subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲NT ̲DATA). See datastructures defined in sect. 4.2.3.5.3
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a SCARS/CCIS subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.4
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a PTP subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.5
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a PTR subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.6
         and 4.2.3.5.7.10.



         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲D̲A̲T̲A̲

         (R5  C  K   POINTER TO SUBPROCESS DATA RECORD
         R6)  C  D   LINK

         This procedure will initialize the TRANSPORT ̲PARAMETERS
         for a OCR subprocess by inserting pointers (references)
         to the other fields of the subprocess data record (i.e.
         TRS ̲SC ̲DATA). See datastructures defined in sect. 4.2.3.5.6a
         and 4.2.3.5.7.10.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲P̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a TRC/POINT TO
         POINT subprocess into the ready list. (See data structure
         in section 4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲N̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a NICS TARE subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲S̲C̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a SCARS/CCIS
         subprocess into the ready list. (See data structure
         in section 4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲P̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK



         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a PTP subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲P̲T̲R̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a PTR subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲O̲C̲R̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲S̲

         (R0  C  K   POINTER TO POOL OF COROUTINE RECORDS
         R2   C  K   SUBPROCESS ̲ID
         R6)  C  D   LINK

         This procedure initializes the CSF COROUTINE MONITOR
         and inserts the coroutines related to a OCR subprocess
         into the ready list. (See data structure in section
         4.2.3.5.7.1).

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲S̲E̲M̲A̲P̲H̲O̲R̲E̲S̲

         (R1  C  D   NO. OF SEMAPHORES
         R4   C  D   POINTER TO SEMAPHORE POOL
         R6)  C  D   LINK

         The procedure will initialize a specified number of
         semaphores collected in a pool.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲O̲P̲ ̲P̲O̲O̲L̲

         (R1  C  D   NO. OF OPERATIONS
         R4   C  D   POINTER TO TRS ̲OP ̲POOL
         R5   C  D   POINTER TO OPERATION POOL
         R6   C  D   LINK

         This procedure will insert a specified number of operations
         into the TRS ̲OP ̲POOL. Data structure defined in section
         4.2.3.5.7.6 and 4.2.3.5.7.2.



         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲I̲O̲C̲ ̲P̲O̲O̲L̲

         (R0  C  D   BUFFER SIZE (WORDS)
         R1   C  D   NO. OF BUFFERS (OPERATIONS)
         R2   C  D   POINTER TO BUFFER POOL
         R4   C  D   POINTER TO XXX ̲IOC ̲POOL
         R5   C  D   POINTER TO IOC OPERATION POOL
         R6)  C  D   LINK

         The procedure is used for inserting a number of TRS
         ̲IOC ̲OPERATIONS into the INP ̲IOC ̲POOL and the OUT ̲IOC
         ̲POOL during the initialization of a transport process.

         Before inserting of the TRS ̲IOC ̲OPERATION this is supplied
         with a pointer to a buffer used for the communication
         with the IOS system. From now on this buffer is always
         related to the operation. Data structure defined in
         section 4.2.3.5.7.6 and 4.2.3.5.7.2.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲I̲N̲I̲T̲ ̲T̲R̲S̲ ̲T̲I̲M̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲

         (R0  C  K   NO. OF TRS TIMERS
         R1   C  K   NO. OF FLASH TIMERS
         R2   C  K   POINTER TO TIMER TABLE
         R3   C  K   POINER TO FLASH TABLE
         R4   C  K   POINTER TO TIMER PROFILE
         R6)  C  D   LINK

         The procedure will initialize the timer profile with
         the parameters specified in R0-R3. Data structure defined
         in section 4.2.3.5.7.7.

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲R̲E̲S̲E̲T̲ ̲D̲A̲T̲A̲ ̲R̲E̲C̲O̲R̲D̲

         (R1  C  D   NUMBER OF WORDS TO BE RESET
         R4   C  D   POINTER TO RECORD START
         R6)  C  D   LINK

         This procedure will reset all the words of a specified
         record.




















































                   FIGURE 4.2.3.4.1.3-1


4.2.3.5  T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲…06…1         …02…   …02…   …02…   …02…  
              …02…  …02…    …02…                          


4.2.3.5.1    I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲

  The data area for a Transport Process may be divided
  into two main parts (see figure 4.2.3.5.1-1).

  a) C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲D̲a̲t̲a̲

     Contains variables, constants and strings declared
     within the program modules for a transport process.
     This area is common to all subprocesses within the
     process and has the same structure for all types
     of transport.

  b) Array of subprocess data records defined for the
     type of transport which are to be controlled by
     the process.

     XX ̲PROC ̲DATA    ARRAY (1..MAX ̲XX ̲PR ̲PROCESS) OF
                     TRS ̲XX ̲DATA

     with TRS ̲XX ̲DATA equal to one of the following data
     records:

     TRS ̲TP ̲DATA :   (TRC/P TO P)
     TRS ̲NT ̲DATA :   (NICS TARE)
     TRS ̲SC ̲DATA :   (SCARS/CCIS)
     TRS ̲PTP ̲DATA    :   (PTP)
     TRS ̲PTR ̲DATA    :   (PTR)
     TRS ̲OCR ̲DATA    :   (OCR)

  All data records include the entry "TRANSPORT PARAMETERS".
  The other fields are of different type from record
  to record.

  The TRANSPORT PARAMETERS are initialized with reference
  to the other fields of the data record.

  All coroutines within a transport subprocess are reentrant
  and access the data record by impressing the TRANSPORT
  PARAMETERS on a specific address inserted into the
  Coroutine Descriptions during the initialization.

  When a coroutine is active, the address of its Coroutine
  Description is stored into the external variable "RUNNING
  COROUTINE" which is updated by CSF Coroutine Monitor.
  (ref.fig.4.2.3.7.1-1).





















































                    FIGURE 4.2.3.5.1-1


4.2.3.5.2    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲T̲R̲C̲/̲P̲O̲I̲N̲T̲ ̲T̲O̲ ̲P̲O̲I̲N̲T̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲TP ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMTERS;
                     COROUTINE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲COROUTINES)
                                                                 OF
                                                                 TRS
                                                                 ̲COROUTINE
                                                                 ̲DESCRIPTION
                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 
                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE
                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲TP
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION
                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲TP
                                                                       ̲INP
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲TP
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     INP ̲EMF ̲BUFFER   : TP ̲INP ̲EMF
                                      ̲BUFFER
                     OUT ̲EMF ̲BUFFER   : TP ̲OUT ̲EMF
                                      ̲BUFFER
                     INP ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲TP
                                                                 ̲INP
                                                                 ̲BUF)
                                                                 OF
                                                                 TP
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER
                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲TP
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 TP
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER
                     PENDING ̲ASM ̲TABLE                           :
                                                                 ARRAY 
                                                                       (1..MAX
                                                                       ̲TP
                                                                       ̲PENDING
                                                                       ̲ASM)
                                                                       OF
                                                                       TRS
                                                                       ̲ASM
                                                                       ̲WAITING
                                                                       ̲TYPE
                     TIMER ̲TABLE : ARRAY (TP ̲TRS ̲TIMER
                                 ̲TYPE) OF TRS ̲TIMER
                     FLASH ̲TABLE : ARRAY (1..MAX ̲TP
                                 ̲FLASH) OF TRS ̲FLASH
                                 ̲TIMER
                     TIMER ̲PROFILE    : TRS ̲TIMER ̲PROFILE
                     SYS ̲PARAMS  : TRC ̲PTOP ̲PARAMETER
                                 ̲TYPE
                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲TP
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES
                     CHN ̲PROFILE : CHANNEL ̲PROFILE
                     CHANNEL ̲STATE    : ACP ̲127 ̲CHANNEL
                                      ̲STATUS
                     CIR ̲PROFILE : CIRCUIT ̲PROFILE
                     OUT ̲FIELD ̲LIST   : TRS ̲OUT ̲FIELD
                                      ̲LIST ̲TYPE
                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE
                     OUT ̲ACP ̲PARAM    : TRS ̲OUT ̲ACP
                                      ̲PARAM ̲TYPE
                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE
                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE

END DATA RECORD FOR TRC/POINT TO POINT


4.2.3.5.3    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲N̲I̲C̲S̲ ̲T̲A̲R̲E̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲NT ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMTERS;
                     COROUTINE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲COROUTINES)
                                                                 OF
                                                                 TRS
                                                                 ̲COROUTINE
                                                                 ̲DESCRIPTION
                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 
                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE
                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲NT
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION
                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲NT
                                                                       ̲INP
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲NT
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     INP ̲EMF ̲BUFFER   : NT ̲INP ̲EMF
                                      ̲BUFFER
                     OUT ̲EMF ̲BUFFER   : NT ̲OUT ̲EMF
                                      ̲BUFFER
                     INP ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲NT
                                                                 ̲INP
                                                                 ̲BUF)
                                                                 OF
                                                                 NT
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER
                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲NT
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 NT
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER
                     PENDING ̲ASM ̲TABLE                           :
                                                                 ARRAY 
                                                                       (1..MAX
                                                                       ̲NT
                                                                       ̲PENDING
                                                                       ̲ASM)
                                                                       OF
                                                                       TRS
                                                                       ̲ASM
                                                                       ̲WAITING
                                                                       ̲TYPE
                     TIMER ̲TABLE : ARRAY (NT ̲TRS ̲TIMER
                                 ̲TYPE) OF TRS ̲TIMER
                     FLASH ̲TABLE : ARRAY (1..MAX ̲NT
                                 ̲FLASH) OF TRS ̲FLASH
                                 ̲TIMER
                     TIMER ̲PROFILE    : TRS ̲TIMER ̲PROFILE
                     SYS ̲PARAMS  : NICS ̲TARE ̲PARAMETER
                                 ̲TYPE
                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲NT
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES
                     CHN ̲PROFILE : CHANNEL ̲PROFILE
                     CHANNEL ̲STATE    : ACP ̲127 ̲CHANNEL
                                      ̲STATUS
                     CIR ̲PROFILE : CIRCUIT ̲PROFILE
                     OUT ̲FIELD ̲LIST   : TRS ̲OUT ̲FIELD
                                      ̲LIST ̲TYPE
                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE
                     OUT ̲ACP ̲PARAM    : TRS ̲OUT ̲ACP
                                      ̲PARAM ̲TYPE
                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE
                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE

END DATA RECORD FOR NICS TARE


4.2.3.5.4    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲S̲C̲A̲R̲S̲/̲C̲C̲I̲S̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲SC ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMETERS;
                     COROUTINE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲SC
                                                                 ̲COROUTINES)
                                                                 OF
                                                                 TRS
                                                                 ̲COROUTINE
                                                                 ̲DESCRIPTION
                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲SC
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 
                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲SC
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE
                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲SC
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION
                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲SC
                                                                       ̲INP
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲SC
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION
                     INP ̲EMF ̲BUFFER   : SC ̲INP ̲EMF
                                      ̲BUFFER
                     OUT ̲EMF ̲BUFFER   : SC ̲OUT ̲EMF
                                      ̲BUFFER
                     INP ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲SC
                                                                 ̲INP
                                                                 ̲BUF)
                                                                 OF
                                                                 SC
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER
                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲SC
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 SC
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER
                     PENDING ̲ASM ̲TABLE                           :
                                                                 ARRAY 
                                                                       (1..MAX
                                                                       ̲SC
                                                                       ̲PENDING
                                                                       ̲ASM)
                                                                       OF
                                                                       TRS
                                                                       ̲ASM
                                                                       ̲WAITING
                                                                       ̲TYPE
                     TIMER ̲TABLE : ARRAY (SC ̲TRS ̲TIMER
                                 ̲TYPE) OF TRS ̲TIMER
                     FLASH ̲TABLE : ARRAY (1..MAX ̲SC
                                 ̲FLASH) OF TRS ̲FLASH
                                 ̲TIMER
                     TIMER ̲PROFILE    : TRS ̲TIMER ̲PROFILE
                     SYS ̲PARAMS  : SCARS ̲CCIS ̲PARAMETER
                                 ̲TYPE
                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲SC
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES
                     CHN ̲PROFILE : CHANNEL ̲PROFILE
                     CHANNEL ̲STATE    : ACP ̲127 ̲CHANNEL
                                      ̲STATUS
                     CIR ̲PROFILE : CIRCUIT ̲PROFILE
                     OUT ̲FIELD ̲LIST   : TRS ̲OUT ̲FIELD
                                      ̲LIST ̲TYPE
                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE
                     OUT ̲ACP ̲PARAM    : TRS ̲OUT ̲ACP
                                      ̲PARAM ̲TYPE
                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE
                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE

END DATA RECORD FOR NICS TARE


4.2.3.5.5    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲P̲T̲P̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲PTP ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMETERS;

                     COROUTINE ̲RECORDS                           :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲PTP
                                                                       ̲COROUTINES)
                                                                       OF
                                                                       TRS
                                                                       ̲COROUTINE
                                                                       ̲DESCRIPTION

                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTP
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 

                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTP
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE

                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTP
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION

                     OUT ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲PTP
                                                                       ̲OUT
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION

                     OUT ̲EMF ̲BUFFER   : PTP ̲OUT ̲EMF
                                      ̲BUFFER

                     OUT ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲PTP
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 PTP
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER

                     SYS ̲PARAMS  : PUNCH ̲PARAMETER
                                 ̲TYPE

                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲PTP
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES

                     DEV ̲PROFILE : DEVICE ̲PROFILE

                     OUT ̲FIELD ̲LIST   : TRS ̲OUT ̲FIELD
                                      ̲LIST ̲TYPE

                     OUT ̲ACP ̲PARAM    : TRS ̲OUT ̲ACP
                                      ̲PARAM ̲TYPE

                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE


END DATA RECORD FOR PTP


4.2.3.5.6    D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲P̲T̲R̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲PTR ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMETERS;

                     COROUTINE ̲RECORDS                           :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲PTR
                                                                       ̲COROUTINES)
                                                                       OF
                                                                       TRS
                                                                       ̲COROUTINE
                                                                       ̲DESCRIPTION

                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTR
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 

                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTR
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE

                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲PTR
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION

                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲PTR
                                                                       ̲IOC
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION

                     INP ̲EMF ̲BUFFER   : PTR ̲INP ̲EMF
                                      ̲BUFFER

                     INP ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲PTR
                                                                 ̲IOC
                                                                 ̲BUF)
                                                                 OF
                                                                 PTR
                                                                 ̲INP
                                                                 ̲IOC
                                                                 ̲BUFFER

                     SYS ̲PARAMS  : DEC ̲READER ̲PARAMETER
                                 ̲TYPE

                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲PTR
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES

                     DEV ̲PROFILE : DEVICE ̲PROFILE

                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE

                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE

                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE


END DATA RECORD FOR PTR


4.2.3.5.6a   D̲a̲t̲a̲ ̲R̲e̲c̲o̲r̲d̲ ̲f̲o̲r̲ ̲O̲C̲R̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲

TRS ̲OCR ̲DATA =
RECORD

                     TRP      : TRANSPORT ̲PARAMETERS;

                     COROUTINE ̲RECORDS                           :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲OCR
                                                                       ̲COROUTINES)
                                                                       OF
                                                                       TRS
                                                                       ̲COROUTINE
                                                                       ̲DESCRIPTION

                     SEMAPHORE ̲POOL   : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲OCR
                                                                 ̲SEMAPHORES)
                                                                 OF
                                                                 COROUTINE
                                                                 ̲SEMAPHORE
                                                                 

                     OP ̲POOL ̲POOL     : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲OCR
                                                                 ̲OP
                                                                 ̲POOLS)
                                                                 OF
                                                                 TRS
                                                                 ̲OP
                                                                 ̲POOL
                                                                 ̲TYPE

                     OPERATION BUFFER : ARRAY                    (1..NO
                                                                 ̲OF
                                                                 ̲OCR
                                                                 ̲OPERATIONS)
                                                                 OF
                                                                 TRS
                                                                 ̲OPERATION

                     INP ̲IOC ̲OPERATION                           :
                                                                 ARRAY (1..MAX
                                                                       ̲OCR
                                                                       ̲IOC
                                                                       ̲BUF)
                                                                       OF
                                                                       TRS
                                                                       ̲IOC
                                                                       ̲OPERATION

                     INP ̲EMF ̲BUFFER   : OCR ̲INP ̲EMF
                                      ̲BUFFER

                     INP ̲IOC ̲BUFFER   : ARRAY                    (1..MAX
                                                                 ̲IOC
                                                                 ̲OUT
                                                                 ̲BUF)
                                                                 OF
                                                                 OCR
                                                                 ̲OUT
                                                                 ̲IOC
                                                                 ̲BUFFER

                     QEL ̲ATTRIBUTES ̲POOL                         :
                                                                 ARRAY (1..NO
                                                                       ̲OF
                                                                       ̲OCR
                                                                       ̲QEL
                                                                       ̲ATTRIBUTES)
                                                                       OF
                                                                       QEL
                                                                       ̲ATTRIBUTES

                     DEV ̲PROFILE : DEVICE ̲PROFILE

                     INP ̲FIELD ̲LIST   : TRS ̲INP ̲FIELD
                                      ̲LIST ̲TYPE

                     INP ̲ACP ̲PARAM    : TRS ̲INP ̲ACP
                                      ̲PARAM ̲TYPE

                     TRS ̲TMP ̲PARAM    : TRS ̲TMP ̲TYPE


END DATA RECORD FOR OCR


4.2.3.5.7    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲D̲a̲t̲a̲ ̲T̲y̲p̲e̲s̲



4.2.3.5.7.1 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Each coroutine within a transport subprocess is presented
         to CSF Coroutine Monitor with a data record with the
         following type: (See also figure 4.2.3.5.7.1-1).

         TYPE
         TRS ̲COROUTINE ̲DESCRIPTION =

         RECORD
                 COMONITOR ̲DATA  :COROUTINE ̲RECORD
                 DATA ̲START      :INTEGER
                 STACK ̲PNT       :0...MAX STACK
                 STACK                :ARRAY(0..MAX ̲STACK) OF
                                      INTEGER

         END


         S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲r̲e̲c̲o̲r̲d̲ ̲f̲i̲e̲l̲d̲s̲

         COMONITOR ̲DATA       :Working area for Coroutine Monitor.
                               Global Type.

         DATA ̲START           :Pointer to start of Transport
                              Parameters within the subprocess
                              data record

         STACK ̲PNT            :Pointer to local coroutine stack.
                               STACK ̲PNT always points at the
                              next empty position relative to
                              start of STACK.

         STACK                :Local stack area for coroutine.
                              Each time a procedure containing
                              a waiting-point is called the
                              return address shall be saved
                              on the local stack.






                   Figure 4.2.3.5.7.1-1


4.2.3.5.7.2 I̲n̲t̲e̲r̲n̲a̲l̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲T̲y̲p̲e̲

         The operations which are used for communication through
         the Operation Semaphores are defined in the following
         type:

         TYPE    TRS ̲OPERATION =
                 RECORD
                     COMONITOR ̲DATA   :COROUTINE ̲OPERATION,
                                      working are used by Coroutine
                                      Monitor.
                     OP ̲TYPE          :INTEGER,
                                       bit 0..7:TRS ̲OPERATION
                                      ̲TYPE
                                      bit 8..11: Syscall no
                                      bit 12..13: Not used
                                      bit 14: Indicates Syscall
                                      Ready
                                      bit 15: Indicates Pending
                                      Syscall.
                     INFO1            :INTEGER,
                                      Additional information
                                      (see note)
                     INFO2            :INTEGER,
                                      Additional information
                                      (see note)
                 END

         Note: Additional information is dependent on OP ̲TYPE.



4.2.3.5.7.3 I̲O̲C̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         The Outgoing-and the Incoming Transport make use of
         operations to maintain pools of buffer structures necessary
         for communication with IOC. The following structure
         is used:

         TYPE    TRS ̲IOC ̲OPERATION =
                 RECORD
                     OP               :TRS ̲OPERATION.
                     BUFFER ̲ID        :BUFFER ̲ID ̲TYPE.
                     BUFFER ̲ADDR      :INTEGER.
                     BUFFER ̲INDEX     :INTEGER.
                     MAX ̲BUFFER       :INTEGER
                     FILE             :FILE ̲ADDRESS
                     BLE              :BUFFER ̲LIST ̲ELEMENT
                 END

         BUFFER ̲ID      :Buffer identifier (ref.4.2.3.5.11.7)

         BUFFER ̲ADDR    :Start address to IOC ̲BUFFER related
                        to
                         operation

         BUFFER ̲INDEX   :Pointer to read/write location of IOC
                        ̲
                         BUFFER

         MAX ̲BUFFER     :Max.no.of characters to be stored in
                        
                         IOC ̲BUFFER

         FILE           :Global parameter for IOC

         BLE            :Global parameter for IOC


         The data structure of the TRS ̲IOC ̲OPERATION is initialized
         by the TRS ̲INIT program (see fig.
         4.2.3.5.7.3.-1)…86…1         …02…   …02…   …02…   …02…  …02…     …02…   …02…   …02…   
                               




                   Figure 4.2.3.5.7.3-1


4.2.3.5.7.4 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲F̲i̲e̲l̲d̲ ̲L̲i̲s̲t̲ ̲T̲y̲p̲e̲s̲

         For reading/writing the External Message Format from/to
         a CIF the following field list structures are used:

         TYPE

         OUT ̲FIELD ̲LIST ̲TYPE =
         RECORD
             NO ̲OF ̲FIELDS     :INTEGER
             ACP ̲PARAMS       :FIELD ̲LIST ̲ELEMENT     "Global
                                                    Type"              HEADER   :FIELD
                                                                                ̲LIST
                                                                                ̲ELEMENT
             PREAMBLE         :FIELD ̲LIST ̲ELEMENT
             TEXT             :FIELD ̲LIST ̲ELEMENT
         END

         INP ̲FIELD ̲LIST ̲TYPE =
         RECORD
             NO ̲OF ̲FIELDS     :INTEGER
             HEADER           :FIELD ̲LIST ̲ELEMENT     "Global
                                                    Type"
             TEXT             :FIELD ̲LIST ̲ELEMENT
             CORRECTION       :FIELD ̲LIST ̲ELEMENT
             ACP ̲PARAMS       :FIELD ̲LIST ̲ELEMENT
         END

4.2.3.5.7.5 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲A̲C̲P̲-̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲T̲y̲p̲e̲s̲

         OUT ̲ACP ̲PARAM ̲TYPE =
         RECORD
             TEXT             :TEXT ̲PARAMS            "Global
                                                    Type"
             HEADER           :HEADER ̲PARAM           "Global
                                                    Type"
             PILOT ̲MARK       :BOOLEAN
         END

         INP ̲ACP ̲PARAM ̲TYPE =
         RECORD
             TEXT             :TEXT ̲PARAMS            "Global
                                                    Type"
             HEADER           :HEADER ̲PARAM           "Global
                                                    Type"              ERROR   :TRS
                                                                               ̲ERR
                                                                               ̲LIST
         END

         TRS ̲ERR ̲LIST =
         RECORD
             NO ̲OF ̲ERRORS     :INTEGER
             ERROR ̲CODES      :ARRAY(1..MAX ̲TRS ̲INP ̲ERRORS)
                              OF
                               ERROR ̲ELEMENTS         "Global
                              Type"
         END



4.2.3.5.7.6 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲P̲o̲o̲l̲

         Idle operations within a Transport Subprocess is queued
         into a pool with the following data structure:

         TYPE
         TRS ̲OP ̲POOL ̲TYPE =
             RECORD
               NO ̲OF ̲OPERATIONS   :INTEGER
                                      Specifies no of idle operations
                                      in pool
               SEM                :COROUTINE ̲SEMAPHORE
                                      Pool semaphore
         MAX ̲NO ̲OF ̲OP             :INTEGER
                                      Max.no of idle operations
                                      stored in pool
               OP ̲BUF ̲ARRAY ̲PNT   :POINTER
                                      Array of operations which
                                      have been inserted into
                                      the pool during initialization
               OP ̲SIZE            :INTEGER
                                      Specifies size of operations
                                      stored in pool.
             END


4.2.3.5.7.7 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲T̲i̲m̲e̲r̲ ̲T̲a̲b̲l̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         Each transport subprocess has its own timer table inplemented
         by the following data structures (see also figure 4.2.3.5.7.7-1)

         TYPE

         TRS ̲TIMER            :INTEGER
                               Bit(0-l4)specifies the timer
                              value, Bit 15 indicates if the
                              timer is idle or busy
         FLASH ̲TIMER =
             RECORD
                 VALUE        :TRS ̲TIMER
                               Timer for Flash Acknowledge
                 TSN          :INTEGER.
                               Binary representation of channel
                               serial no.related to timer.
                 MSG ̲REF      :QEL ̲REFERENCE "Global"
                              Reference to Flash Msg. in circuit
                              queue.
             END



         TRS ̲TIMER ̲PROFILE    =
             RECORD
                 NO ̲OF ̲TRS ̲TIMERS     :INTEGER
                 TRS ̲TIMER ̲TAB ̲ADR    :INTEGER     "POINTER"
                 NO ̲OF ̲FLASH ̲TIMERS   :INTEGER
                 FLASH ̲TAB ̲ADR        :INTEGER     "POINTER"
             END



                   Figure 4.2.3.5.7.7-1


4.2.3.5.7.8 D̲a̲t̲a̲ ̲B̲u̲f̲f̲e̲r̲s̲ ̲f̲o̲r̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲F̲l̲o̲w̲

         To read/write a message from/to a CIF containing the
         External Message Format (EMF),buffer types have been
         defined for each type of Transport: TRC/POINT TO POINT
         (TP), NICS TARE (NT), SCARS/CCIS (SC), PTP and PTR.

         This is also the case for the buffers which are assigned
         to IOC when a message is transmitted or received.

         TYPE

         TP ̲INP ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲TP ̲EMF ̲INPUT) OF
                              CHAR
         TP ̲OUT ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲TP ̲EMF ̲OUTPUT)OF
                              CHAR
         TP ̲INP ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲TP ̲IOC ̲INPUT) OF
                              CHAR
         TP ̲OUT ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲TP ̲IOC ̲OUTPUT)OF
                              CHAR

         NT ̲INP ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲NT ̲EMF ̲INPUT) OF
                              CHAR
         NT ̲OUT ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲NT ̲EMF ̲OUTPUT)OF
                              CHAR
         NT ̲INP ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲NT ̲IOC ̲INPUT) OF
                              CHAR
         NT ̲OUT ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲NT ̲IOC ̲OUTPUT)OF
                              CHAR

         SC ̲INP ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲SC ̲EMF ̲INPUT)OF
                              CHAR
         SC ̲OUT ̲EMF ̲BUFFER    :ARRAY(1..MAX ̲SC ̲EMF ̲OUTPUT)OF
                              CHAR
         SC ̲INP ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲SC ̲IOC ̲INPUT) OF
                              CHAR
         SC ̲OUT ̲IOC ̲BUFFER    :ARRAY(1..MAX ̲SC ̲IOC ̲OUTPUT)OF
                              CHAR

         PTP ̲OUT ̲EMF ̲BUFFER   :ARRAY(1..MAX ̲PTP ̲EMF ̲OUTPUT)OF
                              CHAR
         PTP ̲OUT ̲IOC ̲BUFFER   :ARRAY(1..MAX ̲PTP ̲IOC ̲OUTPUT)OF
                              CHAR

         PTR ̲INP ̲EMF ̲BUFFER   :ARRAY(1..MAX ̲PTR ̲EMF ̲INPUT) OF
                              CHAR
         PTR ̲INP ̲IOC ̲BUFFER   :ARRAY(1..MAX ̲PTR ̲IOC ̲INPUT) OF
                              CHAR
         OCR ̲INP ̲EMF ̲BUFFER   :ARRAY(1..MAX ̲OCR ̲EMF ̲INPUT) OF
                              CHAR
         OCR ̲INP ̲IOC ̲BUFFER   :ARRAY(1..MAX ̲OCR ̲IOC ̲INPUT) OF
                              CHAR



4.2.3.5.7.9 A̲u̲x̲i̲l̲i̲a̲r̲y̲ ̲D̲a̲t̲a̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲s̲

         a)  T̲R̲S̲ ̲S̲E̲N̲D̲ ̲I̲N̲F̲O̲

             Contains information for storing an outgoing message
             line in the IOC ̲BUFFER.



             TRS ̲SEND ̲INFO ̲TYPE =
             RECORD
                 BUFFER ̲AVAILABLE :BOOLEAN
                 OPERATION        :INTEGER
                 TRANSMIT         :NO ̲YES
                 NO ̲OF ̲CHAR       :INTEGER
                 SOURCE-ADDR      :INTEGER
                 SOURCE ̲INDEX     :INTEGER
                 MAX ̲INDEX        :INTEGER
             END

         b)  O̲U̲T̲G̲ ̲M̲S̲G̲ ̲C̲H̲A̲R̲A̲C̲T̲E̲R̲S̲

             Specifies the number of characters contained in
             an outgoing message.

             TYPE
             OUTG ̲MSG ̲CHAR ̲TYPE =
             RECORD
                 MSG ̲PART ̲PNT     :INTEGER
                 PILOT ̲B          :INTEGER
                 PILOT ̲C ̲START    :INTEGER
                 HEADING          :INTEGER
                 PREAMBLE         :INTEGER
                 TEXT             :INTEGER
             END


         c)  S̲A̲V̲E̲ ̲O̲P̲ ̲T̲Y̲P̲E̲

             Structure of save area for information received
             through an operation:

             SAVE ̲OP ̲TYPE =
             RECORD
                 ADDR         :INTEGER
                 OP ̲TYPE      :INTEGER
                 INFO1        :INTEGER
                 INFO2        :INTEGER
             END

         d)  P̲E̲N̲D̲I̲N̲G̲ ̲A̲S̲M̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲Y̲P̲E̲

             This is used for control of PENDING ASM TRANSMISSION
             REQUESTS inserted into PENDING ASM TABLE (which
             is organized as cyclic buffer)



             PENDING ̲ASM ̲TYPE =
             RECORD
                 NUMBER       Number of pending ASM
                 MAX ̲NUMBER   Max number of pending ASM
                 MIN ̲PNT      Pointer to last position of pending
                              ASM
                 INPUT ̲PNT    Next insert position
                 OUTPUT ̲PNT   Next output position
                     INTEGER
             END

         e)  A̲S̲M̲ ̲W̲A̲I̲T̲I̲N̲G̲ ̲T̲Y̲P̲E̲

             Indicates if an ASM request has arrived during
             the transmission of a message.

             ASM ̲WAITING ̲TYPE =
             RECORD
                 ASM ̲TYPE     :TRS ̲ASM ̲TYPES   "ref. 4.2.3.5.11.2"
                 ASM ̲INFO     :INTEGER
             END

         f)  P̲A̲G̲I̲N̲G̲ ̲T̲Y̲P̲E̲

             Includes parameters for dividing a long message
             into pages

             PAGING ̲TYPE =
             RECORD
                 BUSY                 :BOOLEAN
                 FIRST ̲PAGE ̲CHAR ̲CNT  :INTEGER
                 PAGE ̲LINE ̲CNT        :INTEGER
                 PAGE ̲ID ̲CNT          :INTEGER
             END

         g)  P̲R̲E̲E̲M̲T̲I̲O̲N̲ ̲I̲N̲D̲I̲C̲A̲T̲O̲R̲

             Specifies the type of preemption for the outgoing
             traffic:

             PREEMPTION ̲INDICATOR =
             RECORD
                 TYPE         :TRS ̲PREEMPTION ̲TYPE "ref. 4.2.3.5.11.4"
                 SEQUENCE     :(MSG ̲PREEMP, TAPE ̲PREEMP)
             END.




         h)  I̲N̲P̲U̲T̲ ̲L̲I̲N̲E̲

             Specifies information about an IOC ̲RECORD received
             through the System Call: Read Bytes.

             INPUT ̲LINE ̲TYPE =
             RECORD
                 START            :BOOLEAN
                 LENGTH           :INTEGER
                 IOC ̲TYPE         :INTEGER
                 EMF ̲INDEX        :INTEGER
             END

         i)  C̲I̲F̲ ̲I̲D̲ ̲

             Save area for CIF ̲ID during re-routing of messages
             from circuit queue.

             CIF ID =
             RECORD
                 OLD :  CIF ̲REFERENCE ̲NUMBER  "Global Type"
                 NEW :  CIF ̲REFERENCE ̲NUMBER 
             END

         j)  O̲U̲T̲G̲ ̲M̲S̲G̲ ̲F̲R̲A̲M̲I̲N̲G̲ ̲B̲U̲F̲F̲E̲R̲

             Buffer structure for construction of message lines
             in out-going messages.

             OUTG ̲MSG ̲FRAMING ̲BUFFER : ARRAY (0..80) OF CHAR




4.2.3.5.7.10 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

         Transport Parameters are common to all types of transport
         (ref. 4.2.3.5.1).

         TYPE

         TRANSPORT ̲PARAMETER =
         RECORD

         R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ ̲T̲O̲ ̲S̲E̲M̲A̲P̲H̲O̲R̲E̲S̲ ̲(̲M̲A̲I̲N̲ ̲W̲A̲I̲T̲I̲N̲G̲ ̲P̲O̲I̲N̲T̲S̲)̲

         OT ̲OPSEM ̲PNT             : POINTER
         TC ̲OPSEM ̲PNT             : POINTER
         IT ̲OPSEM ̲PNT             : POINTER

         R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ ̲T̲O̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲ ̲P̲O̲O̲L̲S̲

         TRS ̲OP ̲POOL ̲PNT          : POINTER
         OUT ̲IOC ̲POOL ̲PNT         : POINTER
         INP ̲IOC ̲POOL ̲PNT         : POINTER

         O̲P̲E̲R̲A̲T̲I̲O̲N̲ ̲S̲A̲V̲E̲ ̲A̲R̲E̲A̲S̲

         OT ̲OPERATION             : TRS ̲SAVE ̲OP ̲TYPE
         TC ̲OPERATION             : TRS ̲SAVE ̲OP ̲TYPE
         IT ̲OPERATION             : TRS ̲SAVE ̲OP ̲TYPE

         S̲Y̲S̲C̲A̲L̲L̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         INP ̲IOC ̲SEQUENCE         : LONG

         Q̲U̲E̲U̲E̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         CCQ1 ̲QEL ̲REF             :QEL ̲REFERENCE
         CCQ2 ̲QEL ̲REF             :QEL ̲REFERENCE
         CIQ ̲QEL ̲REF              :QEL ̲REFERENCE
         CIQ ̲SUBQUEUE             :INTEGER
         REPORT ̲REF               :POINTER
         STOP ̲QEL ̲REF             :QEL ̲REFERENCE

         CCQ1 ̲QEL ̲ATTRIBUTE ̲PNT   :POINTER
         CCQ2 ̲QEL ̲ATTRIBUTE ̲PNT   :POINTER
         CIQ ̲QEL ̲ATTRIBUTE ̲PNT    :POINTER

         R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ ̲T̲O̲ ̲T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲D̲E̲S̲I̲G̲N̲A̲T̲O̲R̲S̲

         TRS ̲INCOM ̲DESIGNATOR     :POINTER
         TRS ̲OUTG ̲DESIGNATOR      :POINTER


         P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲F̲O̲R̲ ̲R̲E̲A̲D̲I̲N̲G̲ ̲T̲H̲E̲ ̲E̲X̲T̲E̲R̲N̲A̲L̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲F̲O̲R̲M̲A̲T̲

         OUT ̲FIELD ̲LIST ̲PNT       :POINTER
         OUT ̲ACP ̲PARAM ̲PNT        :POINTER
         OUT ̲EMF ̲ADDR             :INTEGER
         OUT ̲EMF ̲INDEX            :INTEGER
         MAX ̲OUT ̲EMF              :INTEGER
         NO ̲OF ̲EMF ̲BUF ̲CHAR       :INTEGER

         P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲F̲O̲R̲ ̲S̲T̲O̲R̲I̲N̲G̲ ̲T̲H̲E̲ ̲E̲X̲T̲E̲R̲N̲A̲L̲ ̲M̲E̲S̲S̲A̲G̲E̲ ̲F̲O̲R̲M̲A̲T̲

         INP ̲FIELD ̲LIST ̲PNT       :POINTER
         INP ̲ACP ̲PARAM ̲PNT        :POINTER
         INP ̲EMF ̲ADDR             :POINTER
         INP ̲EMF ̲INDEX            :INTEGER
         EMF ̲VIEW ̲PNT             :POINTER
         EMF ̲VIEW ̲REF             :QEL ̲REFERENCE
         ITEM ̲REF                 :INTEGER
         FIELD ̲PNT                :INTEGER
         MAX ̲INP ̲EMF              :INTEGER

         I̲O̲C̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         IO ̲OFFER ̲ID              :INTEGER
         IO ̲CONNECTION            :INTEGER
         ACK ̲OFFER ̲ID             :INTEGER
         ACK ̲CONNECTION           :INTEGER

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

         SPEED                    :INTEGER
         ALPHABET                 :INTEGER

         C̲H̲A̲N̲N̲E̲L̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         LOGICAL ̲CHANNEL ̲NO       :LOGICAL ̲CHANNEL ̲NO ̲TYPE
         CHN ̲PROFILE ̲PNT          :POINTER
         CHANNEL ̲STATE ̲PNT        :POINTER

         D̲E̲V̲I̲C̲E̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         LOGICAL ̲DEVICE ̲NO        :LOGICAL ̲DEVICE ̲NO ̲TYPE
         DEV ̲PROFILE ̲PNT          :POINTER

         C̲I̲R̲C̲U̲I̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         CIR ̲PROFILE ̲PNT          :POINTER
         CHANNELS ̲PR ̲CIRCUIT      :INTEGER
         TRS ̲DE ̲RI                :DE ̲RI ̲TYPE



         T̲R̲A̲N̲S̲M̲I̲S̲S̲I̲O̲N̲ ̲S̲E̲R̲I̲A̲L̲ ̲N̲U̲M̲B̲E̲R̲

         PREVIOUS ̲OUTG ̲TSN        :INTEGER
         OUTG ̲TSN ̲RESET           :INTEGER
         TSN ̲WRAP ̲AROUND          :BOOLEAN
         PREVIOUS ̲INCOM ̲TSN       :INTEGER
         EXPECTED ̲INCOM ̲TSN       :INTEGER
         INCOM ̲TSN ̲RESET          :INTEGER

         T̲I̲M̲I̲N̲G̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         TIMER ̲PROFILE ̲PNT        :POINTER
         DATE ̲TIME                :TIME ̲TYPE
         STOP ̲TIME                :TIME ̲TYPE

         P̲A̲G̲I̲N̲G̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         PAGE ̲PARAM               :TRS ̲PAGING ̲TYPE

         P̲R̲E̲E̲M̲P̲T̲I̲O̲N̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         PREEMPT                  :TRS ̲PREEMPTION ̲INDICATOR

         T̲R̲A̲N̲S̲M̲I̲S̲S̲I̲O̲N̲ ̲A̲U̲X̲I̲L̲L̲A̲R̲Y̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         MSG ̲FRAME ̲BUF            :ARRAY(0..80) OF BYTE
         NO ̲OF ̲FL1 ̲SPACES         :INTEGER
         TRS ̲BELL ̲SIGNAL          :BOOLEAN
         TRS ̲SEND ̲INFO            :TRS ̲SEND ̲INFO ̲TYPE
         OUTG ̲MSG ̲CHARACTERS      :TRS ̲OUTG ̲MSG ̲CHAR ̲TYPE
         ASM ̲WAITING              :TRS ̲ASM ̲WAITING ̲TYPE
         RETRANS ̲NO               :INTEGER
         OUTG ̲MSG ̲CHAR ̲CNT        :INTEGER

         R̲E̲C̲E̲I̲V̲I̲N̲G̲ ̲A̲U̲X̲I̲L̲L̲A̲R̲Y̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         INPUT ̲LINE               :TRS ̲INPUT ̲LINE ̲TYPE
         INPUT ̲MSG ̲CHAR ̲CNT       :INTEGER
         INPUT ̲LINE ̲CHAR ̲CNT      :INTEGER
         IDENT ̲CHAR               :INTEGER
         READ ̲MSG ̲LINE            :BOOLEAN
         INPUT ̲LINE ̲ACCEPTED      :BOOLEAN
         RECEIVED ̲DESIGNATOR      :LONG
         INPUT ̲BUFFER ̲CC          :INTEGER
         OLD ̲LINE ̲TYPE            :INTEGER

         C̲O̲N̲T̲R̲O̲L̲ ̲M̲A̲S̲K̲S̲ ̲F̲O̲R̲ ̲T̲C̲S̲

         TRS ̲STATE ̲MASK           :BITMASK
         COMMAND ̲CTR ̲MASK         :BITMASK
         STOP ̲CTR ̲MASK            :BITMASK
         TIMEOUT ̲MASK             :BITMASK



         C̲O̲N̲T̲R̲O̲L̲ ̲M̲A̲S̲K̲S̲ ̲F̲O̲R̲ ̲O̲T̲S̲

         OUTG ̲STATE ̲MASK          :BITMASK
         OUTG ̲MSG ̲CTR ̲MASK        :LONG
         OUTG ̲COLLECT ̲MASK        :BITMASK
         OUTG ̲TIMER ̲MASK          :BITMASK

         C̲O̲N̲T̲R̲O̲L̲ ̲M̲A̲S̲K̲S̲ ̲F̲O̲R̲ ̲I̲T̲S̲

         INCOM ̲STATE ̲MASK         :BITMASK
         INPUT ̲CTR ̲MASK           :BITMASK
         FLX ̲CTR ̲MASK             :BITMASK
         INPUT ̲ERROR ̲MASK         :BITMASK

         P̲E̲N̲D̲I̲N̲G̲ ̲A̲S̲M̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲B̲L̲O̲C̲K̲

         PENDING ̲ASM              :PENDING ̲ASM ̲TYPE

         R̲E̲F̲E̲R̲E̲N̲C̲E̲ ̲T̲O̲ ̲T̲M̲P̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         TRS ̲TMP ̲PARAM ̲PNT        :POINTER

         T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲S̲Y̲S̲T̲E̲M̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲

         SYS ̲POINTER              :POINTER

         I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲ ̲I̲N̲D̲I̲C̲A̲T̲O̲R̲

         TRS ̲INIT ̲INDICATOR       :BOOLEAN



4.2.3.5.8    L̲o̲c̲a̲l̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲n̲s̲t̲a̲n̲t̲s̲

         T̲R̲C̲ ̲/̲ ̲P̲O̲I̲N̲T̲ ̲T̲O̲ ̲P̲O̲I̲N̲T̲

         CONST
         MAX ̲TP ̲EMF ̲INPUT         =5l2     "characters"
         MAX ̲TP ̲EMF ̲OUTPUT        =512     "characters"

         MAX ̲TP ̲IOC ̲INPUT         = 80     "characters"
         MAX ̲TP ̲IOC ̲OUTPUT        = 80     "characters"
         MAX ̲TP ̲INP ̲BUF           =  2
         MAX ̲TP ̲OUT ̲BUF           =  2
         MAX ̲TP ̲FLASH             = 25

         NO ̲OF ̲TP ̲OPERATIONS      =  7
         NO ̲OF ̲TP ̲SEMAPHORE       =  3
         NO ̲OF ̲TP ̲COROUTINES      =  3
         NO ̲OF ̲TP ̲OP ̲POOLS        =  3

         TIME ̲LIMIT ̲SELF ̲CHECK    = 15     "Minutes"

         TIME ̲LIMIT ̲ZID ̲ASM       = 15     "Minutes"

         MAX ̲TP ̲PENDING ̲ASM       =  8

         N̲I̲C̲S̲ ̲T̲A̲R̲E̲

         CONST

         MAX ̲NT ̲EMF ̲INPUT         =512     "Characters"
         MAX ̲NT ̲EMF ̲OUTPUT        =512     "Characters"

         MAX ̲NT ̲IOC ̲INPUT         =256     "Characters"
         MAX ̲NT ̲IOC ̲OUTPUT        =256     "Characters"

         MAX ̲NT ̲INP ̲BUF           =  2
         MAX ̲NT ̲OUT ̲BUF           =  2

         NO ̲OF ̲NT ̲OPERATIONS      = 11
         NO ̲OF ̲NT ̲SEMAPHORES      =  3
         NO ̲OF ̲NT ̲COROUTINES      =  3
         NO ̲OF ̲NT ̲POOLS           =  3

         TIME ̲LIMITS ̲ZID ̲ASM      = 15     "Minutes"
         MAX ̲NT ̲PENDING ̲ASM       =  6




         S̲C̲A̲R̲S̲/̲C̲C̲I̲S̲

         CONST

         MAX ̲SC ̲EMF ̲INPUT         =512     "Characters"
         MAX ̲SC ̲EMF ̲OUTPUT        =512     "Characters"

         MAX ̲SC ̲IOC ̲INPUT         =512     "Characters"
         MAX ̲SC ̲IOC ̲OUTPUT        =512     "Characters"

         MAX ̲SC ̲INP ̲BUF           =  2
         MAX ̲SC ̲OUT ̲BUF           =  2

         NO ̲OF ̲SC ̲OPERATIONS      = 11
         NO ̲OF ̲SC ̲SEMAPHORES      =  3
         NO ̲OF ̲SC ̲COROUTINES      =  3
         NO ̲OF ̲SC ̲OP ̲POOLS        =  3
         MAX ̲SC ̲PENDING ̲ASM       =  2

         P̲T̲P̲

         CONST

         MAX ̲PTP ̲EMF ̲OUTPUT       =512     "Characters"

         MAX ̲PTP ̲IOC ̲OUTPUT       = 70     "Characters"

         MAX ̲PTP ̲IOC ̲BUF          =  2

         NO ̲OF ̲PTP ̲COROUTINES     =  2
         NO ̲OF ̲PTP ̲SEMAPHORES     =  2
         NO ̲OF ̲PTP ̲OPERATIONS     =  6
         NO ̲OF ̲PTP ̲OP ̲POOLS       =  2


         P̲T̲R̲

         CONST

         MAX ̲PTR ̲EMF ̲INPUT        =512     "Characters"

         MAX ̲PTR ̲IOC ̲INPUT        = 70     "Characters"

         MAX ̲PTR ̲IOC ̲BUF          =  2

         NO ̲OF ̲PTR ̲COROUTINES     =  2
         NO ̲OF ̲PTR ̲SEMAPHORES     =  2
         NO ̲OF ̲PTR ̲OPERATIONS     =  4
         NO ̲OF ̲PTR ̲OP ̲POOL        =  2




         O̲C̲R̲

         CONST

         MAX ̲OCR ̲EMF ̲OUTPUT       =512     "Characters"

         MAX ̲OCR ̲IOC ̲OUTPUT       = 70     "Characters"

         MAX ̲PTP ̲IOC ̲BUF          =  2

         NO ̲OF ̲OCR ̲COROUTINES     =  2
         NO ̲OF ̲OCR ̲SEMAPHORES     =  2
         NO ̲OF ̲OCR ̲OPERATIONS     =  4
         NO ̲OF ̲OCR ̲OP ̲POOLS       =  2




4.2.3.5.9    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲Q̲u̲e̲u̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲


4.2.3.5.9.1 T̲R̲C̲/̲P̲ ̲T̲O̲ ̲P̲,̲ ̲N̲I̲C̲S̲ ̲T̲A̲R̲E̲,̲ ̲S̲C̲A̲R̲S̲/̲C̲C̲I̲S̲ ̲a̲n̲d̲ ̲P̲T̲P̲

         VAR
         TRS ̲CIQ ̲REF,         "Circuit Queue"
         TRS ̲CCQ1 ̲REF,        "Channel Command Queue(1)"
         TRS ̲CCQ2 ̲REF,        "Channel Command Queue(2)"
         TRS ̲ANQ ̲REF,         "Analysis Queue"
         TRS ̲COQ ̲REF,         "Conversion Queue"
         TRS ̲LOG ̲REF,         "Queue for Log"
         TRS ̲REPORT ̲REF,      "Queue for Reports"
         TRS ̲UNK ̲ASM ̲REF,     "Queue for Unknown ASM"
         TRS ̲SAR ̲REF: QUEUE ̲REFERENCE  "Storage-Queue"
         The queue references take the following values:
         INIT
         "Queue Reference     =Mainqueue, Subqueue"
         TRS ̲CIQ ̲REF          =TRS-CIQ, TRS ̲MAIN ̲Q
         TRS ̲CCQ1 ̲REF         =TRS ̲CCQ, TRS ̲SUB ̲Q1
         TRS ̲CCQ2 ̲REF         =TRS ̲CCQ, TRS ̲SUB ̲Q2
         TRS-ANQ-REF          =TRS ̲SYS ̲Q*256+TRS ̲ANQ,TRS ̲SUB ̲Q3
         TRS ̲COQ ̲REF          =TRS ̲SYS ̲Q*256+TRS ̲COQ,TRS ̲SUB ̲Q3
         TRS ̲LOG ̲REF          =TRS ̲SYS ̲Q*256+TRS ̲SYSTEM ̲Q,
                                                 TRS ̲SUB ̲Q2
         TRS ̲REPORT ̲REF       =TRS ̲SYS ̲Q*256+TRS ̲SPIP ̲REPQ,
                                                 TRS ̲SUB ̲Q1
         TRS ̲UNK ̲ASM ̲REF      =TRS ̲SYS ̲Q*256+TRS ̲SPIP ̲REPQ,
                                                 TRS ̲SUB ̲Q4
         TRS ̲SAR ̲REF          =TRS-̲SYS-̲Q*256+TRS ̲ISQ,TRS ̲SUB ̲Q1

         Note: Main queue is a global scalar type.


4.2.3.5.9.2 P̲T̲R̲ (OCR)

         VAR

         TRS ̲PTR ̲CCQ ̲REF,     "Channel Command Queue"

         TRS ̲PTR ̲ANQ ̲REF,     "Analysis Queue"

         TRS ̲PTR ̲REP ̲REF:     QUEUE ̲REFERENCE  "Report Queue"

         The queue references take the following values:

         INIT (The values below are also used by the OCR transport)

         "Queue Reference     =Mainqueue, Subqueue"

         TRS ̲PTR ̲CCQ ̲REF      =PTR ̲TRS ̲CCQ, TRS ̲SUB ̲Q1

         TRS ̲PTR ̲ANQ ̲REF      =PTR ̲TRS ̲ANQ, TRS ̲SUB ̲Q3

         TRS ̲PTR ̲REP ̲REF      =PTR ̲TRS ̲SPIP ̲REPQ, TRS ̲SUB ̲Q1

         Note: Main queue is a global scalar type.




4.2.3.5.10   C̲I̲F̲ ̲F̲i̲e̲l̲d̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲f̲o̲r̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲

         Incoming Messages are stored in a CIF with the following
         global Field Specification Types:

         TYPE

         FIELD ̲INFO ̲ELEMENT =
             RECORD
                 REFERENCED       :BOOLEAN
                 WRITE ̲ACCESS     :BOOLEAN
                 PERMANENT        :BOOLEAN
                 ALLOCATED ̲LENGTH :FIELD ̲LENGTH
                 USED ̲LENGTH      :FIELD ̲LENGTH
                 FIELD ̲STATUS     :(NOT ̲EXISTING,INCLUDED ̲FROM,
                                        PREDECESSOR,NEW ̲FIELD)
         END

         FIELD ̲INFORMATION=ARRAY(NO ̲OF ̲FIELDS)OF FIELD ̲INFO
         ̲ELEMENT

         A transport subprocess makes use of the following configuration:



         VAR

         TRS ̲FIELD   :FIELD ̲INFORMATION

         INIT

         TRS ̲FIELD (1)  = TRUE, TRUE, TRUE, 512, 0, NEW ̲FIELD
         TRS ̲FIELD (2)  = TRUE, TRUE, TRUE, 512, 0, NEW ̲FIELD
         TRS ̲FIELD (3)  = TRUE, TRUE, TRUE,1024, 0, NEW ̲FIELD
         TRS ̲FIELD (4)  = TRUE, TRUE, TRUE,   0, 0, NEW ̲FIELD
         TRS ̲FIELD (5)  = TRUE, TRUE, TRUE,1024, 0, NEW ̲FIELD
         TRS ̲FIELD (6)  = TRUE, TRUE, TRUE, 512, 0, NEW ̲FIELD
         TRS ̲FIELD (7)  = TRUE, TRUE,FALSE, 512, 0, NEW ̲FIELD
         TRS ̲FIELD (8)  = TRUE, TRUE,FALSE,   0, 0, NEW ̲FIELD
         TRS ̲FIELD (9)  = TRUE, TRUE,FALSE, 512, 0, NEW ̲FIELD
         TRS ̲FIELD(10)  = TRUE, TRUE,FALSE,1024, 0, NEW ̲FIELD
         TRS ̲FIELD(11)  = TRUE, TRUE,FALSE,   0, 0, NEW ̲FIELD
         TRS ̲FIELD(l2)  =FALSE,FALSE,FALSE,   0, 0, NOT ̲EXISTING





4.2.3.5.11   L̲o̲c̲a̲l̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲c̲a̲l̲a̲r̲ ̲T̲y̲p̲e̲s̲



4.2.3.5.11.1 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲T̲y̲p̲e̲s̲

         TYPE

         TRS ̲OPERATION ̲TYPE =

            (PRIM ̲COM,        "Primary Command from CCQ"

             SEC ̲COM,         "Secondary Command from CCQ"

             INP ̲CLOSE ̲ACK,   "ITS Close Down Acknowledge"

             OUT ̲CLOSE ̲ACK,   "OTS Close Down Acknowledge"

             IDENT ̲CHAR,      "140 identical characters detected"

             ASM ̲ACK,         "ASM transmitted"

             SEND ̲ZID,        "Transmit ZID ASM"

             ACK ̲REC,         "Transaction Acknowledge"

             SEND ̲ACK,        "Send Transaction Acknowledge"

             OUTG ̲MSG,        "Outgoing Message from CIQ"

             TR ̲ASM,          Transmit ASM"

             TRS ̲LOG ̲ACK,     "Log Acknowledge"

             TRS ̲PREEMPT      "Transport Preemption

             TRS ̲START,       "Start Up"

             TRS ̲STOP,        "Stop Transport"

             TRS ̲CLOSE,           "Close Down"

             IOC ̲REPLY)       "Reply from IOC"





4.2.3.5.11.2 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲A̲S̲M̲ ̲T̲y̲p̲e̲s̲

         TYPE

         TRS ̲ASM ̲TYPE =

            (ACP ̲ZBC,             "Identical Characters"

             ACP ̲FLASH,           "Flash Receipt"

             ACP ̲SELF ̲CHK,        "Self Addressed Channel Check"

             ACP ̲ZID,             "TSN Check Message"

             ACP ̲QRV,             "Open for Incoming Traffic"

             ACP ̲QRT,             "Close for Incoming Traffic"

             ACP ̲ZBZ ̲N,           "Test Message Reply"

             ACP ̲INT ̲ZBZ ̲TP,      "Test Message(TRC/P TO P)

             ACP ̲INT ̲ZBZ ̲NT,      "Test Message (NICS TARE)"

             ACP ̲CONT ̲MSG,        "Continuity Message"

             ACP ̲FINAL ̲MSG,       "Final Number Message (ACP)"

             ACP ̲CHAN ̲CHK ̲MSG,    "Channel Check Message (ACP)"

             E1 ̲FINAL ̲MSG,        "Final Number Message (E1)"

             E1 ̲CHN ̲CHK ̲MSG,      "Channel Check Message (E1)"

             TRANS ̲ACK),          "Transaction Acknowledge"

         The formats of all ASM types are included in section
         4.2.6.1.4



4.2.3.5.11.3 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲T̲i̲m̲e̲r̲ ̲T̲y̲p̲e̲s̲

         TYPE

         TP ̲TRS ̲TIMER ̲TYPE =

             (TP ̲INCOM,       "TRC/PTOP Incoming Timer"
              TP ̲SELFCHECK,   "TRC/PTOP Selfcheck Timer"
              TP ̲ZIDASM)      "TRC/PTOP ZID ASM Timer"

         NT ̲TRS ̲TIMER ̲TYPE =

             (NT ̲INCOM,       "NICS TARE Incoming Timer"
             NT ̲OUTG,         "NICS TARE Outgoing Timer"
             NT ̲ZIDASM)       "NICS TARE ZID ASM Timer"

         SC ̲TRS ̲TIMER ̲TYPE =

             (SC ̲INCOM,       "SCARS)CCIS Incoming Timer"
             SC ̲TRACK,        "SCARS/CCIS Transaction Timer"
             SC ̲ZIDASM)       "SCARS/CCIS ZID ASM Timer"

         TRS ̲TIMEOUT ̲TYPE =

             (NO ̲TIMEOUT, TRS ̲TIMEOUT, FLASH ̲TIMEOUT)

         TRS ̲TIMEOUT ̲ID =

             (TRS ̲PERIODIC, TRS ̲PREEMPTION)


4.2.3.5.11.4 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲e̲e̲m̲p̲t̲i̲o̲n̲ ̲T̲y̲p̲e̲s̲

         TYPE

         TRS ̲PREEMPTION ̲TYPES =

             (NO ̲PREEMPT,

             STOP ̲PREEMPT,        "Unconditional Preemption"

             FLASH ̲PREEMPT)       "Flash notification received"


4.2.3.5.11.5 O̲u̲t̲g̲o̲i̲n̲g̲ ̲T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲T̲y̲p̲e̲

         OUTG ̲CTR ̲TYPE =

         (RETRANSMIT,         "Retransmit Message"

         NEW ̲MSG,             "Transmit New Message"

         IOC ̲BUF,             "IOC Buffer returned from IOC"

         NEW ̲TRACK,           "Transmit Transaction Acknowledge"

         NEW ̲ASM)             "Transmit ASM"


4.2.3.5.11.6 I̲n̲c̲o̲m̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲L̲i̲n̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲T̲y̲p̲e̲

         READ ̲MSG ̲LINE ̲RESULT =

         (COMPLETE ̲LINE,
         IOC ̲BUFFER ̲EMPTY,
         EMF ̲BUFFER ̲FULL)



4.2.3.5.11.7 I̲O̲C̲ ̲B̲u̲f̲f̲e̲r̲ ̲I̲d̲e̲n̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         BUFFER ̲ID ̲TYPE =
             (DONT ̲CARE,
              EOM ̲BUFFER,         "End of Message"
              NICS ̲TARE ̲ACK)      "Acknowledge to NICS TARE"


4.2.3.5.11.8 F̲o̲r̲m̲a̲t̲ ̲L̲i̲n̲e̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲T̲y̲p̲e̲

         TYPE

         TRS ̲FLX ̲TYPE=(FL1, FL3, FL4, FL6, FL10, FL11, FL13,
         FL14,
                                                       FL15,
                                                 FL16)




4.2.3.5.11.9 M̲e̲s̲s̲a̲g̲e̲ ̲L̲i̲n̲e̲ ̲G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲T̲y̲p̲e̲

         TRS ̲MSG ̲LINE ̲TYPE=

             (NT ̲SOM,         "Start of Message, NICS TARE"

             SC ̲SOM,          "Start of Message, SCARS/CCIS"

             TAPE ̲START,      "Tape Start Sequence"

             ACP ̲FL1,         "ACP 127 Format Line 1"

             PTP ̲FL1          "Format Line 1 for PTP"

             E1-FLB           "Format line B for msg. in E1
                              format

             PILOT ̲FL1,       "Format line 1A for ACP Pilot

             ACP ̲BT,          "Text Separator"

             ACP ̲FL14,        "ACP 127 Format Line 14"

             ACP ̲FL15,        "ACP 127 Format Line 15"

             ACP ̲FL16,        "ACP 127 Format Line 16"

             SC ̲FL16,         "Format Line 16 for SCARS/CCIS

             EOM,             "End of Message, NICS TARE and
                              SCARS/CCIS

             TAPE ̲END,        "Tape End Sequence"

             PAGE ̲ID,         "Page Id Sequence"

             MSG ̲PREEMP,      "Message Preemption"

             TAPE ̲PREEMP,     "Tape Preemption"

             PILOT ̲FL4        "Format Line 1A for Pilot




4.2.3.5.11.10 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲ ̲T̲y̲p̲e̲s̲

         The following types are used to identify the Internal
         Errors detected within a Transport Subprocess and transmitted
         to GAQ by means of the external procedure SEND ̲GARBLE
         (Ref.CPS/ICD/009, sec. 4.3.7).

         TRS ̲INTERNAL ̲ERROR ̲TYPE =

             (TRS ̲OP ̲ERROR,       "A Coroutine has received
                                  an
                                   illegal operation type"

             TRS ̲TIMEOUT ̲ERROR,   "An illegal timer id has been
                                   inserted in the local timer
                                   table"

             TRS ̲OP ̲POOL ̲EMTPY,   "The TRS ̲OP ̲POOL is empty"

             TRS ̲POOL ̲OVERFLOW    "Max no of pool operations
                                  exceeded

             TRS ̲SYSCALL ̲ERR ̲1    "Operation returned to pool
                                  with pending syscal indication

             TRS ̲SYSCALL ̲ERR ̲2    "Attempt to activate new system
                                  call through an operation
                                  with pending syscall indication

             TRS ̲SYSCALL ̲ERR ̲3    "Attempt to clear syscall
                                  indication from an operation
                                  for which PENDING ̲SYSCALL
                                  and TRS ̲SYSCALL ̲READY have
                                  not been set.

             STACK ̲OVERFLOW,      "Stack error for Running
                                   Coroutine"

             STACK ̲UNDERFLOW)     "Stack error for Running
                                   Coroutine"

             ASM ̲TABLE ̲OVERFLOW   "Overflow in PENDING ̲ASM ̲TABLE

             IOC ̲REC ̲START ̲ERR    "IOC Record start character
                                  differs from F1E.

             IOC ̲REC ̲TYPE ̲ERR     "Illegal type of IOC ̲RECORD

             IOC ̲REC ̲LENGTH ̲ERR   "Illegal length of IOC ̲RECORD



             TRS ̲IOC ̲OP ̲ERR       "Attempt to return illegal
                                  operation to IOC ̲POOL

             IOC ̲REC ̲SEQ ̲ERR      "Illegal record sequence from
                                  IOC

             IOC ̲MSG ̲TYPE ̲ERR)    Illegal message type in some
                                  Block (Only SCARS/CCIS)



4.2.3.5.11.11 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲T̲y̲p̲e̲s̲

         The Coroutine type is used for initialisation and identification
         of coroutines.

         TRS ̲COROUTINES = (TRS ̲CONTROL ̲COROUTINE,
                           TRS ̲OUTPUT ̲COROUTINE,
                           TRS ̲INPUT ̲COROUTINE)



4.2.3.5.11.12 T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲u̲b̲-̲Q̲u̲e̲u̲e̲ ̲T̲y̲p̲e̲s̲

         The sub-queue type is used for updating the queue references.

         TRS ̲SUBQUEUE = (TRS ̲MAIN ̲Q,
                         TRS ̲SUB ̲Q1, TRS ̲SUB ̲Q2,
                         TRS ̲SUB ̲Q3, TRS ̲SUB ̲Q4,
                         TRS ̲SUB ̲Q5, TRS ̲SUB ̲Q6)




4.2.3.5.12   E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         The following external data are all accessed through
         TMP


4.2.3.5.12.1 T̲a̲b̲l̲e̲s̲ 

         CHANNEL ̲PROFILE ̲TABLE        Ref. DBD section 5.3.4.1

         CHANNEL ̲ACP ̲STATUS ̲TABLE     Ref. DBD section 5.3.4.2

         CIRCUIT ̲CONNECTIVITY ̲TABLE   Ref. DBD section 5.3.4.3

         CIRCUIT ̲TABLE                Ref. DBD section 5.3.4.4



         DEVICE ̲TABLE                 Ref. DBD section 5.3.3

         LTUX ̲LINE ̲TABLE              Ref. CPS ̲PREFIX

         LTU ̲LINE ̲TABLE               Ref. CPS ̲PREFIX


4.2.3.5.12.2 S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

         TRC ̲PTOP ̲PARAMETER           Ref. DBD section 5.1.2.1

         NICS ̲TARE ̲PARAMETER          Ref. DBD section 5.1.2.2

         SCARS ̲CCIS ̲PARAMETER         Ref. DBD section 5.1.2.3

         PUNCH ̲PARAMETER              Ref. DBD section 5.1.4.4

         DEC ̲READER ̲DD                Ref. DBD section 5.1.4.5

         ACP ̲127 ̲PARAMETER            Ref. DBD section 5.1.3

         NETWORK ̲PARAMETER            Ref. DBD section 5.1.7

         OLD ̲CLOCK                    Ref. DBD section 5.1.5.1


4.2.3.5.12.3 G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲s̲

         TRANSMISSION ̲GSN             Ref. DBD section 5.4

         PTP ̲DOCUMENT ̲GSN             Ref. DBD section 5.4



4.2.3.6  T̲R̲A̲N̲S̲P̲O̲R̲T̲ ̲A̲U̲X̲I̲L̲I̲A̲R̲Y̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲S̲



4.2.3.6.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲T̲i̲m̲e̲r̲ ̲M̲o̲d̲u̲l̲e̲

         The Transport Timer Module is an auxiliary module,
         which supplies a number of general procedures for updating
         of the local timer tables within a transport subprocess
         (ref. 4.2.3.5.2.3).



         The following functions are included:

         -   Update Timers
         -   Set TRS ̲TIMER
         -   Set FLASH ̲TIMER
         -   Check Timeouts
         -   Check Flash Acknowledge
         -   Find Flash Message in Time Table
         -   Initialize Time Table
         -   Check Present Time
         -   Timeout Request
         -   Timeout Cancel
         -   Set TRC/PTOP Incoming Timer
         -   Set NICS TARE Incoming Timer
         -   Set SCARS/CCIS Incoming Timer
         -   Set SCARS/CCIS Transaction Acknowledge Timer



4.2.3.6.1.1 U̲p̲d̲a̲t̲e̲ ̲T̲R̲S̲ ̲T̲i̲m̲e̲r̲s̲

         This procedure decrements all active timers stored
         in the specified Timer Table and Flash Table. Only
         timers with a value which differ from zero are decremented.
          If at least one timer is decremented to zero the procedure
         returns a true completion code.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  UPDATE ̲TRS ̲TIMERS  (TIMER-̲PROFILE)
                                (CC): (BOOLEAN)

         b)  UPDATE ̲TRS ̲TIMERS  (R1, R6, R7)    :(BOOLEAN)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to TIMER ̲PROFILE    (kept)
         R6  LINK                                (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  cc  completion code (TRUE, FALSE)
         R1, R2, R5                              (destr)





4.2.3.6.1.2 S̲e̲t̲ ̲T̲R̲S̲ ̲T̲i̲m̲e̲r̲

         This procedure will set a timer within a specified
         Timer Table to a specified value.

         If the value is zero, the timer is set idle (i.e. non
         active).

         If the value differs from zero and FFFF (HEX) the timer
         is set busy (i.e. active).

         If the value is equal to FFFF (hex) the current value
         is returned.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲TRS ̲TIMER    (TIMER ̲PROFILE,
                              TIMER ̲ID       : Ref. 4.2.3.5.11.3,
                              TIMER ̲VALUE    : 0..FFFF (Hex))
                              (TIMER ̲TABLE,
                              TIMER ̲VALUE)   : OK


         b)  SET ̲TRS ̲TIMER (TIMER ̲ID,R1,R2,R4,R5,R6) : OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1  Value                       (dest)
         R4          Pointer to Timer Profile    (dest)
         R6  LINK                        (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R2  Current value
         R5                              (dest)

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Illegal Timer ̲Id
         Illegal Timer Value





4.2.3.6.1.3 S̲e̲t̲ ̲F̲l̲a̲s̲h̲ ̲T̲i̲m̲e̲r̲

         This procedure inserts a value, a QEL-Reference for
         the flash message and a TSN (Transmission Serial Number)
         into the first idle timer of a specified Flash Table.

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  SET ̲FLASH ̲TIMER (TIMER ̲PROFILE,
                                  TIMER ̲VALUE : 0...127,
                                  MSG ̲REF     : QEL ̲REF,
                                  TSN         : 1..9999)
                                 (FLASH ̲TABLE): OK

             b)  SET ̲FLASH ̲TIMER (R0,R1,R2,R3,R4,R5,R6) : OK

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R1  TSN                             (kept)
             R2 VALUE                            (destr)
             A3 QEL ̲REF                          (kept)
             R4         Pointer to Timer Profile (destr)
             R6 LINK                             (kept)

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R0,R5                               (destr)

             F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             Illegal Timer Value
             Illegal TSN
             Flash Table Overflow



4.2.3.6.1.4 C̲h̲e̲c̲k̲ ̲T̲i̲m̲e̲o̲u̲t̲s̲

         This procedure will search the specified Timer Table
         and/or Flash Table for timeouts.

         A timeout is defined as an active (busy) timer with
         a value equal to zero.

         If a timeout is found, the timer is set idle (non active)
         and a specification of the timeout is returned.



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CHECK ̲TIMEOUTS   (TIMER ̲PROFILE)
                              (TIMEOUT ̲ID,QEL ̲REF,TSN):(TRS
                              ̲TIME ̲
                                                    OUT ̲TYPE)

         b)  CHECK ̲TIMEOUTS   (R1,R3,R4,R5,R6):(TRS ̲TIME ̲OUT
                              ̲
                                             TYPE)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R4         Pointer to Timer Profile    (kept)
             R6 LINK                                (kept)

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R1  TIME ̲ID
             R2  TSN          (only for flash timeout)
             R3  QEL ̲REF      (only for flash timeout)

             Note: TRS ̲TIME ̲OUT ̲TYPE (Ref. 4.2.3.5.11.3)



4.2.3.6.1.5 C̲h̲e̲c̲k̲ ̲F̲l̲a̲s̲h̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲

         This procedure will check if a specified TSN (Transmission
         Serial Number) has been assigned on active time in
         the Flash Table. If so the timer is set idle (non active)
         and a QEL-Reference to the flash message is returned.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a) CHECK ̲FLASH (TIMER ̲PROFILE, TSN)
                        (MSG ̲REF):(BOOLEAN)

         b)  CHECK ̲FLASH (R1,R2,R3,R4,R6).(BOOLEAN)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         
         R2 TSN                       (kept)
         R4  Pointer to Timer Profile (destr)
         R6 LINK                      (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1                           (destr)
         R3  MSG ̲REF(QEL ̲Reference)



4.2.3.6.1.6 F̲i̲n̲d̲ ̲F̲l̲a̲s̲h̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲i̲n̲ ̲T̲i̲m̲e̲r̲ ̲T̲a̲b̲l̲e̲

         This procedure examines if a flash message has been
         assigned a timer in the Flash Timer Table. If so the
         timer is set idle and the QEL. Ref for the flash message
         is returned.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CHECK ̲FLASH (TIMER ̲PROFILE)
                         (QEL ̲REF): BOOLEAN

         b)  CHECK ̲FLASH (R1,R3,R4,R6): BOOLEAN

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4  Pointer to Timer Profile (destr)

         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1          (destr)

         R3  QEL ̲REF if EXIT = TRUE



4.2.3.6.1.7 I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲T̲i̲m̲e̲r̲ ̲T̲a̲b̲l̲e̲

         This procedure will reset all times in the local timer
         tables of a subprocess.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  INIT ̲TIMER ̲TABLE (TIMER ̲PROFILE)

         b)  INIT ̲TIMER ̲TABLE (R4,R5,R7,R6)



         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      Pointer to Transport Parameters

         R5  Destr



4.2.3.6.1.8 C̲h̲e̲c̲k̲ ̲P̲r̲e̲s̲e̲n̲t̲ ̲T̲i̲m̲e̲

         This procedure reads the present time and checks if
         it is equal to a specified time.(Only the hours and
         minutes are checked)

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  CHECK ̲PRESENT ̲TIME (HOUR,MIN)       : BOOLEAN

             b)  CHECK ̲PRESENT ̲TIME (R1,R2,R3,R7,R6) : BOOLEAN

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R1  Hour   (2 ASC digits)           (kept)
             R2  Min    (2 ASC digits)           (kept)
             R3         Pointer to SYSTEM ̲TIME   (kept)
             R6  LINK                            (kept)

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R7                                  (kept)

             Exit = True if match



4.2.3.6.1.9 T̲i̲m̲e̲o̲u̲t̲ ̲R̲e̲q̲u̲e̲s̲t̲

         This procedure makes a request for a timeout from CSF
         Timer Monitor.



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         a)  TRS ̲TIMEOUT ̲REQUEST  (TIMEOUT       :(ONCE,PERIODIC)
                                  FORMAT         :(MINUTES,SECONDS)
                                  EVENT ̲ID       :TRS ̲TIMEOUT
                                                 ̲ID,
                                  QUEUE REF      :CCQ ̲Subq.1,
                                  TIME ̲OUT ̲VALUE :INTEGER
                                  PARAMS         :REQUEST ̲TIME
                                                 ̲RELATIVE)

         b)  TRS ̲TIMEOUT ̲REQUEST (TIMEOUT,FORMAT,EVENT ̲ID,
                                       R1,R2,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1             Pointer to queue ref. (destr.)
         R2  Timeout value               (destr.)
         R4  Pointer to REQUEST ̲TIME ̲RELATIVE ̲PARAMS (destr.)
         R6  LINK                        (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5  destr
         R7  Pointer to TRANSPORT ̲PARAMETERS



4.2.3.6.1.10 T̲R̲S̲ ̲T̲i̲m̲e̲o̲u̲t̲ ̲C̲a̲n̲c̲e̲l̲

         This procedure cancels a previously requested timeout.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         a)  TRS ̲TIMEOUT ̲CANCEL (EVENT ̲ID  :TRS ̲TIMEOUT ̲ID
                                  QUEUE ̲REF:CCQ ̲1
                                  PARAMS:   REQUEST ̲TIME ̲RELATIVE)

         b)  TRS ̲TIMEOUT ̲CANCEL (EVENT ̲ID, R1,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1          Pointer to queue ref.       (destr.)
         R4  Pointer to REQUEST ̲TIME ̲RELATIVE ̲PARAMS (destr.)
         R6 LINK                                 (kept)



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5  destr
         R7  Pointer to TRANSPORT ̲PARAMETERS



4.2.3.6.1.11 T̲R̲C̲/̲P̲T̲O̲P̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲i̲m̲e̲r̲

         This procedure activates the timer related to supervision
         of the incoming traffic for TRC/POINT TO POINT.

         The timer is only activated if the state of the incoming
         channel is equal to the specified state.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲TP ̲INCOM ̲TIMER (CHANNEL ̲STATE: OPEN, CLOSED)
                                (TIMER ̲TABLE)

         b)  SET ̲TP ̲INCOM ̲TIMER (R0,R1,R2,R3,R4,R5,R6,R7)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  CHANNEL ̲STATE (OPEN, CLOSED)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  Pointer to TRANSPORT ̲PARAMETERS
         R0,R1,R2,R3,R4,R5 (destr)



4.2.3.6.1.12 N̲I̲C̲S̲ ̲T̲A̲R̲E̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲i̲m̲e̲r̲

         Equivalent to TRC/PTOP Incoming Timer

         (Sec 4.2.3.6.1.11).

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲NT ̲INCOM ̲TIMER (CHANNEL ̲STATE: OPEN, CLOSED)
                                (TIMER ̲TABLE)

         b)  SET ̲NT ̲INCOM ̲TIMER (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         (See 4.2.3.6.1.11)





4.2.3.6.1.13 S̲C̲A̲R̲S̲/̲C̲C̲I̲S̲ ̲I̲n̲c̲o̲m̲i̲n̲g̲ ̲T̲i̲m̲e̲r̲

         This procedure activates the timer related to supervision
         of the incoming traffic for SCARS/CCIS.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲SC ̲INCOM ̲TIMER () (TIMER ̲TABLE)

         b)  SET ̲SC ̲INCOM ̲TIMER (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  Pointer to transport Parameters
         R0,R1,R2,R3,R4,R5    Destr.



4.2.3.6.1.14 S̲C̲A̲R̲S̲/̲C̲C̲I̲S̲ ̲T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲A̲c̲k̲n̲o̲w̲l̲e̲d̲g̲e̲ ̲T̲i̲m̲e̲r̲

         This procedure activates the Timer for supervision
         of the return of the Transaction Acknowledge from SCARS/CCIS.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲SC ̲TRACK ̲TIMER () (TIMER ̲TABLE)

         b)  SET ̲SC ̲TRACK ̲TIME (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0,R1,R2,R3,R4,R5    Destr.
         R7  Pointer to transport Parameters





4.2.3.6.2    C̲o̲m̲m̲o̲n̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         This module contains a number of auxiliary procedures
         common for Transport Control, Outgoing Transport and
         Incoming Transport. The following functions are included:

         -   Save link on local stack
         -   Restore link from local stack
         -   Read base for Transport Paramaters
         -   Receive operation from TRS ̲OP ̲POOL
         -   Send TRS ̲OPERATION
         -   Wait for operation from semaphore
         -   Receive operation (buffer) from IOC buffer pool
         -   Return operation to IOC buffer pool
         -   Associate Syscall to Semaphore
         -   Cancel Initiated Syscall
         -   Clear Syscall Indication
         -   Update Syscall Sequence No.
         -   Find Next Syscall Reply
         -   Set indicator with mask
         -   Check indicator with mask
         -   Reset indicator with mask
         -   ASCII to Binary Conversion
         -   Binary to ASCII Conversion



4.2.3.6.2.1 S̲a̲v̲e̲ ̲L̲i̲n̲k̲

         Saves the link of the calling procedure and returns
         the base (pointer) of transport parameters related
         to Running Coroutine. Stack Pointer is updated. See
         figure 4.2.3.5.7.1-1.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SAVE ̲LINK (LINK) (PARAM ̲BASE):OK
         b)  SAVE ̲LINK (R5,R6,R7):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  LINK to be saved                    (destr.)
         R7  LINK for SAVE ̲LINK procedure        (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
         R5  Pointer to Transport Parameters

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
         Stack Overflow  (Process is retired)





4.2.3.6.2.2 R̲e̲s̲t̲o̲r̲e̲ ̲L̲i̲n̲k̲

         Returns the link of calling procedure from local stack
         together with pointer to Transport Parameters. Stack
         Pointer is updated. See figure 4.2.3.5.7.1-1.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RESTORE ̲LINK (    )
                        (RESTORED ̲LINK, PARAM ̲BASE) : OK

         b)  RESTORE ̲LINK (R5,R6,R7):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  LINK for RESTORE ̲LINK procedure     (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5   Pointer to Transport Parameters
         R6   Restored Link

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Stack Underflow          (Process is retired)

4.2.3.6.2.3 R̲e̲a̲d̲ ̲B̲a̲s̲e̲ ̲f̲o̲r̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲

         Returns a pointer to Transport Parameters for running
         subprocess. See figure 4.2.3.5.7.1-1.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  READ ̲PARAM ̲BASE (    )(PARAM ̲BASE): OK

         b)  READ ̲PARAM ̲BASE (R5,R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R5      Pointer to Transport Parameters





4.2.3.6.2.4 R̲e̲c̲e̲i̲v̲e̲ ̲T̲R̲S̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         This procedure receives an operation (ref. sec. 4.2.3.5.7.2)
         from a TRS ̲OP ̲POOL (defined in sec. 4.2.3.5.7.6) and
         initializes the operation with: Priority, OP ̲TYPE and
         INFO ̲FIELD.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RECEIVE ̲TRS ̲OPERATION  (OP ̲TYPE,INFO,
                                     PRIORITY) (OPERATION):OK

         b)  RECEIVE ̲TRS ̲OPERATION (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         R0  First info word          (kept)
         R1  Second info word         (kept)
         R2  TRS ̲OPERATION ̲TYPE       (kept)
         R3  TRS ̲PRIORITY             (kept)
         R6  LINK                     (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5          Pointer to operation
         R7          Pointer to Transport Operation

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Pool Empty



4.2.3.6.2.5 R̲e̲t̲u̲r̲n̲ ̲T̲R̲S̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         This procedure returns an operation to a TRS-OP ̲POOL
         (defined in sec. 4.2.3.5.7.6).

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RETURN ̲TRS ̲OPERATION (TRS ̲OP ̲POOL,OPERATION): OK

         b)  RETURN ̲TRS ̲OPERATION (R4,R5,R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲



         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      Pointer to TRS ̲OP ̲POOL          (destr.)
         R5      Pointer to operation (kept)
         R6 LINK                      (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None



4.2.3.6.2.6 S̲e̲n̲d̲ ̲T̲R̲S̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         This procedure receives an idle operation from the
         TRS ̲OP ̲POOL of the Running Subprocess, and send it
         to a specified Semaphore. The operation is initialized
         with OP ̲TYPE, OP ̲INFO, and PRIORITY.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SEND ̲TRS ̲OPSEM (OP ̲TYPE, INFO, PRIORITY, SEMAPHORE)

         b)  SEND ̲TRS ̲OPSEM (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  Info 1               (kept)
         R1  Info 2               (kept)
         R2  OP ̲TYPE              (kept)
         R3  PRIORITY             (kept)
         R4  Pointer to semaphore (kept)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  Pointer to Transport Parameters
         R5  (destr.)



4.2.3.6.2.7 W̲a̲i̲t̲ ̲T̲R̲S̲ ̲o̲p̲s̲e̲m̲

         This procedure receives an operation from a semaphore
         and saves operation pointer, OP ̲TYPE and OP ̲INFO into
         a save area of type SAVE ̲OP ̲TYPE (Ref. 4.2.3.5.7.9).



         If the OP ̲TYPE indicates a PENDING ̲SYSCALL it is supplied
         with TRS ̲SYSCALL ̲READY indication. If the operation
         does not refer to a PENDING ̲SYSCALL it is returned
         to the TRS ̲OP ̲POOL.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  WAIT ̲TRS ̲OPSEM (SEMAPHORE)(SAVE ̲OP ̲TYPE, OPERATION)

         b)  WAIT ̲TRS ̲OPSEM (R3,R4,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3          Pointer to save area        (destr.)
         R4          Pointer to semaphore        (destr.)
         R6  LINK                     (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7          Pointer to Transport Parameters



4.2.3.6.2.8 R̲e̲c̲e̲i̲v̲e̲ ̲I̲O̲C̲ ̲B̲u̲f̲f̲e̲r̲

         Receives an idle buffer (see figure 4.2.3.5.7.3-1)
         from a specified IOC ̲POOL. if the pool is empty a return
         is made to an ERROR exit.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         a)  RECEIVE ̲IOC ̲BUFFER (IOC ̲POOL)(OPERATION,CC): ERROR
             ̲OK

         b)  RECEIVE ̲IOC ̲BUFFER (R3,R4,R5,R6,R7): ERROR ̲OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3          Pointer to Pool  (destr.)
         R6  LINK                     (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to operation (buffer)
         R7          Pointer to Transport Parameters
         R5  (destr.)




4.2.3.6.2.9 R̲e̲t̲u̲r̲n̲ ̲I̲O̲C̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲

         Returns an IOC buffer to pool specified in the operation
         connected to buffer (ref.fig.4.2.3.5.7.3-1).

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RETURN ̲IOC ̲OPERATION (OPERATION)

         b)  RETURN ̲IOC ̲OPERATION (R1,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         R1          Pointer to operation        (kept)
         R6  LINK                                (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4          Pointer to pool
         R5          No of operations in pool
         R7          Pointer to Transport Parameters

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲

         Operation type differs from IOC ̲REPLY.



4.2.3.6.2.10 A̲s̲s̲o̲c̲i̲a̲t̲e̲ ̲S̲Y̲S̲C̲A̲L̲L̲ ̲t̲o̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲

         This procedure associates an operation referencing
         an initiated system call to a semaphore.

         The OP ̲TYPE of the operation is supplied with a PENDING
         ̲SYSCALL indication.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲ASSOCIATE (SEMAPHORE, OPERATION)

         b)  TRS ̲ASSOCIATE (R4,R5,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      Pointer to semaphore            (kept)
         R5      Pointer to operation            (kept)
         R3  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7      Pointer to Transport Parameters


4.2.3.6.2.11 C̲a̲n̲c̲e̲l̲ ̲I̲n̲i̲t̲i̲a̲t̲e̲d̲ ̲S̲y̲s̲c̲a̲l̲l̲

         This procedure cancels all System Calls referred to
         by operations with the specified OP ̲TYPE and received
         from the specified pool.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CANCEL ̲TRS ̲SYSCALL (OP ̲TYPE, POOL)
         b)  CANCEL ̲TRS ̲SYSCALL (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  OP ̲TYPE                  (destr.)
         R4      Pointer to Pool      (destr.)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7  Pointer to tranport Parameters
         R1,R2,R3,R5                  (destr.)



4.2.3.6.2.12 C̲l̲e̲a̲r̲ ̲S̲y̲s̲c̲a̲l̲l̲ ̲I̲n̲d̲i̲c̲a̲t̲i̲o̲n̲

         This procedure clears the PENDING ̲SYSCALL and SYSCALL
         ̲READY indication from the OP ̲TYPE of an operation.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CLEAR ̲TRS ̲SYSCALL (OPERATION)
         b)  CLEAR ̲TRS ̲SYSCALL (R5,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5      Pointer to operation  (kept)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None.





4.2.3.6.2.13 U̲p̲d̲a̲t̲e̲ ̲S̲y̲s̲c̲a̲l̲l̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲ ̲N̲u̲m̲b̲e̲r̲

         This procedure may be used to keep track on the sequence
         of initiated Syscalls (e.g. IO ̲READ ̲BYTES). For this
         purpose the following parameter must be defined:

         TYPE SYSCALL ̲NO ̲PARAM = LONG

         with

         SYSCALL ̲NO ̲PARAM ̲LEAST   specifying the next syscall
                                  to be waited for.

         SYSCALL ̲NO ̲PARAM ̲HOST    specifying the next syscall
                                  to be initiated and associated.

         The procedure supplies the following functions:

         -   if Init ̲Switch is true the SYSCALL ̲NO ̲PARAM is
             initialized with a specified OP ̲TYPE. (Syscall
             Id).

         -   if Init ̲Switch is false the specified operation
             is updated with the contents of SYSCALL ̲NO ̲PARAM.MOST.

             Then the SYSCALL ̲NO position of SYSCALL ̲NO ̲PARAM
             ̲HOST is incremented (module 16)

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         a)  SET ̲SYSCALL ̲NO (OP ̲TYPE, INIT ̲SWITCH)
                              (OPERATIONS,SYSCALL ̲NO ̲PARAM)

         b)  SET ̲SYSCALL ̲NO (R0,R1,R4,R5,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0  TRS ̲OPERATION ̲TYPE                  (destr)
         R1  INIT ̲SWICHT (BOOLEAN)               (destr)
         R4      Pointer to SYSCALL ̲NO ̲PARAM     (kept)
         R5      Pointer to Operation            (kept)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None.





4.2.3.6.2.14 F̲i̲n̲d̲ ̲N̲e̲x̲t̲ ̲S̲y̲s̲c̲a̲l̲l̲ ̲R̲e̲p̲l̲y̲

         This procedure searches for the next syscall reply
         in a specified pool.

         The procedure makes use of a parameter called SYSCALL
         ̲NO ̲PARAM (see 4.2.3.6.2.14). If the OP ̲TYPE and SYSCALL
         ̲NO of one of the operations in the pool is equal to
         SYSCALL ̲NO ̲PARAM.LEAST, the pointer to this operation
         is returned. In this case the SYSCALL ̲NO in SYSCALL
         ̲NO ̲PARAM.LEAST is incremented (module 16).

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  FIND ̲NEXT ̲SYS ̲REPLY (POOL)
                                 (SYSCALL ̲NO ̲PARAM, OPERATION)
                              :
                                 BOOLEAN

         b)  FIND ̲NEXT ̲SYS ̲REPLY (R0,R1,R2,R3,R4,R5,R6): BOOLEAN

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3      Pointer to SYSCALL ̲NO ̲PARAM     (destr.)
         R4      Pointer to POOL                 (destr.)
         R6      LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R5      Pointer to Operation if EXIT = TRUE

         R0..R4                                  (dest.)

         EXITS:  TRUE - operation found
                 FALSE - No opeation found


4.2.3.6.2.15 S̲e̲t̲ ̲I̲n̲d̲i̲c̲a̲t̲o̲r̲

         Gives a specified bit position within an indicator
         the value "true".

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SET ̲INDICATOR (INDICATOR,BIT ̲MASK): OK

         b)  SET ̲INDICATOR (R1,R2,R4,R6)



         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1  BIT MASK                 (kept)
         R4  Pointer to indicator     (kept)
         R6  LINK                     (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R2  Updated indicator



4.2.3.6.2.16 R̲e̲s̲e̲t̲ ̲I̲n̲d̲i̲c̲a̲t̲o̲r̲

         Gives a specified bit position within an indicator
         the value "false".

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RESET ̲INDICATOR (INDICATOR,BIT ̲MASK): OK

         b)  RESET ̲INDICATOR (R1,R2,R4,R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         As for SET ̲INDICATOR





4.2.3.6.2.17 C̲h̲e̲c̲k̲ ̲I̲n̲d̲i̲c̲a̲t̲o̲r̲

         This procedure checks if a specified bit position within
         an indicator is true or false.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CHECK ̲INDICATOR (INDICATOR,BIT ̲MASK)(CC):
                              BOOLEAN

         b)  CHECK ̲INDICATOR (R1,R4,R6,R7): BOOLEAN

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         R1      Bit Maske
         R1      Pointer to indicator            (destr.)
         R6  LINK                                (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7      (kept)



4.2.3.6.2.18 B̲i̲n̲a̲r̲y̲ ̲t̲o̲ ̲A̲S̲C̲I̲I̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲

         This procedure converts a binary number (16 bit) into
         three or four ASCII digits which are stored into a
         specified position of a buffer structured as an array
         of characters.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲BIN ̲ASCII    (Buffer address,
                               Buffer index,
                               Number ̲of ̲digits,
                               Binary Number)

         b)  TRS ̲BIN ̲ASCII (R0,R1,R3,R4,R5,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1          Binary Value     (destr.)
         R3          No. of digits    (destr.)
         R4  Pointer to buffer        (kept)
         R5  Buffer Start index       (destr.)
         R6  LINK



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0                           (destr)



4.2.3.6.2.19 A̲S̲C̲I̲I̲ ̲t̲o̲ ̲B̲i̲n̲a̲r̲y̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲

         This procedure converts a decimal number (0-9999) stored
         in ASCII format at a specified position of a buffer
         structured as an array of characters.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲ASCII ̲BIN (Buffer Address, Buffer Index,
                                      No ̲of digits)
                                      (Binary Number)

         b)  TRS ̲ASCII ̲BIN (R1,R2,R3,R4,R5,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3          No. of digits    (destr.)
         R4  Pointer to buffer        (kept)
         R5  Buffer Index             (destr.)
         R6  LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1  Binary Value
         R2                           (destr.)



4.2.3.6.3    C̲o̲m̲m̲o̲n̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲


4.2.3.6.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Errors resulting from instruction execution within
         a Transport Subprocess are divided into three main
         groups:

             System Call Errors
             Command Errors
             Internal Errors.



         a)  S̲y̲s̲t̲e̲m̲ ̲C̲a̲l̲l̲ ̲E̲r̲r̲o̲r̲s̲

             These errors may occcur as a result of a System
             Call returning a Completion Code (CC) which is
             not zero.

             The System Call Errors are handled by a call to
             the ANALYSE ̲ERROR procedure defined in CPS/ICD/009,
             section 6.3.6.

         b)  C̲o̲m̲m̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲s̲

             The TCS has received a command through its Channel
             Command Queue with illegal maintype or subtype.

             A report is sent to GAQ by the external SEND ̲GARBLE
             procedure (ref.CPS/ICD/009, sec.4.3.7) supplied
             with the following Garble Parameters

             GARBLE ̲PARAMS =                     "Global Type"
             RECORD
                 ERROR ̲TYPE : QERROR
                 USER ̲ACTION: GIVE ̲UP
                 ERROR ̲INFO : "empty"
             END

         c)  I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             The Internal Errors are defined by the "TRS ̲INTERNAL
             ̲ERROR ̲TYPE (Ref. 4.2.3.5.11.10).

             A report is sent to GAQ by the external SEND ̲GARBLE
             procedure (ref. CPS/ICD/009, section 4.3.7) supplied
             with the following Garble Parameters:

             GARBLE ̲PARAMS =                     "Global Type"
             RECORD
                 ERROR ̲TYPE   : INTERNAL
                 USER ̲ACTION  : GIVE ̲UP
                 ERROR ̲INFO   : INTERNAL ̲ERROR ̲INFO
             END

             INTERNAL ̲ERROR ̲INFO =               "Global Type"
             RECORD
                 LOG          : INTEGER          "Error Location"
                 INFO         : ARRAY (1..4)     OF INTEGER
             END



             INFO contains the following elements:

                 INFO (1)  =  TRS ̲INTERNAL ̲ERROR ̲TYPE
                 INFO (2)  =  (SUBPROCESS ̲ID)*256+COROUTINE
                              ̲Id
                 INFO (3)  =  depends on INFO (1)
                 INFO (4)  =  depends on INFO (1)

             Note:   INFO (2) is read from the coroutine record
                     of the running coroutine.



4.2.3.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲

         1)  T̲R̲S̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲s̲

             This procedure will set up the Garble Parameters
             for a command error (ref. 4.2.3.6.3.1) and send
             them to GAQ. 
             The calling process is retired.

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  TRS ̲COMMAND ̲ERROR (QEL ̲REF)

             b)  TRS ̲COMMAND ̲ERROR (R2,R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R2  QEL Reference
             R6  Link

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             None.


         2)  T̲R̲S̲ ̲I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲

             This procedure will construct the Garble Parameters
             for an internal error and send them to GAQ (ref.
             4.2.3.6.3.1).

             The calling process is retired.



             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  TRS ̲INTERNAL ̲ERR
                              (Error Location,      "address"
                               Error Type,
                               Info (3),
                               Info (4))

             b)  TRS ̲INTERNAL ̲ERR (R0,R1,R2,R3,R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R0  TRS ̲INTERNAL ̲ERROR ̲TYPE (See 4.2.3.5.11.10)
             R1               Address of calling procedure
             R2  Info (3)
             R3  Info (4)
             R6  Link

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             None.


4.2.3.6.4    C̲o̲m̲m̲o̲n̲ ̲R̲e̲p̲o̲r̲t̲ ̲a̲n̲d̲ ̲D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         This module contains a number of common procedures
         for reporting and data collecting. The following subjects
         are handled:

         -   Generation of Reports for Supervisor Printer
         -   Statistics for outgoing Messages
         -   Storage for outgoing Messages
         -   Log for outgoing messages
         -   Discontinuity Log for Incoming Messages
         -   Report for Unknown ASM



4.2.3.6.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         A Transport Subprocess may generate a number of Warning
         and Channel reports for the supervisor's printer (ref.
         CPS/ICD/009, sec. 5.2.2.12).

         The report data are stored in a buffer with the following
         type:



         TYPE
         REPORT ̲BUFFER ̲TYPE =
         RECORD
             TOC              : TIME ̲TYPE
             TEXT ̲REF         : 1..MAX ̲REPORT ̲TEX ̲REF
             REPORT ̲DATA      : ARRAY (1..MAX ̲REPORT ̲DATA ̲BYTES)
                                       OF CHAR
         END

         TEXT ̲REF    : Reference to the report text (global
                     type).

         REPORT ̲DATA : Variable data which specifies the channel,
                     device or message referred by the Report.

         The Transport Report Data are defined by:

         TYPE
         TRS ̲REPORT =
         RECORD
             DESIGNATOR ̲1     : DESIGNATOR ̲TYPE
             TSN ̲1            : INTEGER
             DESIGNATOR ̲2     : DESIGNATOR ̲TYPE
             TSN ̲2            : INTEGER
         END

         All reportes generated within Transport Processes have
         been listed in the Table below.


         Table: Report Specification for Transport Processes
         ---------------------------------------------------




4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲

         C̲r̲e̲a̲t̲e̲ ̲T̲R̲S̲ ̲R̲e̲p̲o̲r̲t̲

         This procedure stores the report data from a transport
         subprocess in a buffer structure as defined in section
         4.2.3.6.4.1 and sends it to the supervisors printer
         through a specified queue reference.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CREATE ̲TRS ̲REPORT
                        (QUEUE        : REFERENCE,
                         REPORT ̲TYPE  :(WARNING, CHANNEL),
                         TEXT ̲REF     : REPORT ̲TEXT ̲REF,
                         CD1          : DESIGNATOR ̲1,
                         TSN1         : INTEGER,
                         CD2          : DESIGNATOR ̲2,
                         TSN2         : INTEGER)

         b)  CREATE ̲TRS ̲REPORT
                        (REPORT ̲TYPE, TEXT ̲REF, R0,R1,R2,R3,
                        R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0          Pointer to queue reference  (destr.)
         R1          Pointer to CD1              (destr.)
         R2  TSN1                                (destr.)
         R3          Pointer to CD2              (destr.)
         R4  TSN2                                (destr.)
         R6  LINK                                (kept)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7          Pointer to Transport Parameter
         R5                                      (destr.)



4.2.3.6.4.3 O̲u̲t̲g̲o̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲

         This procedure creates the statistics for a message
         (OUTG ̲MSG ̲PER ̲CHN ̲TYPE) transmitted on the outgoing
         channel.



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲OUTG ̲STATISTICS ()(TRANSPORT ̲PARAMETERS)

         b)  TRS ̲OUTG ̲STATISTICS (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         As for TRS ̲OUTG ̲STORAGE, (see sec.4.2.3.6.4.4).



4.2.3.6.4.4 O̲u̲t̲g̲o̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲

         This procedure creates RETRIEVAL KEYS for a message
         which has been transmitted on the outgoing channel
         and sends them to STORAGE as prescribed by: CPS/ICD/009
         section 5.3.1.2.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲OUTG ̲STORAGE ()(TRANSPORT ̲PARAMETERS)

         b)  TRS ̲OUG ̲STORAGE (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  LINK                 (destr.)

         R7      Pointer to Transport Parameters
         R0,R1,R2,R3,R4,R5        (destr.)



4.2.3.6.4.5 O̲u̲t̲g̲o̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲L̲o̲g̲

         This procedure creates the OUTGOING MESSAGE LOG as
         prescribed by: CPS/ICD/009 section 5.4.2.4. The procedure
         supports two types of logs:

         OUT ̲VALID ̲PTP ̲LOG

         OUT ̲VALID ̲LOG

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲OUTG ̲LOG (LOG ̲TYPE)
                          (TRANSPORT ̲PARAMETERS)

         b)  TRS ̲OUTG ̲LOG (R0,R1,R2,R3,R4,R5,R7,R6)



         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0      Type of log      (destr.)
         R6  LINK                 (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7      Pointer to Transport Parametes
         R1,R2,R3,R4,R5           (destr.)



4.2.3.6.4.6 D̲i̲s̲c̲o̲n̲t̲i̲n̲u̲i̲t̲y̲ ̲L̲o̲g̲

         This procedure creates the Channel Discontinuity Log
         as presecribed in CPS/ICD/009 sect. 5.4.2.3.

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TRS ̲DISCONTINUITY ̲LOG (RECEIVED ̲TSN,
                                    EXPECTED ̲TCN,
                                    MESSAGE ̲TYPE)
                                   (TRANSPORT ̲PARAMETERS)

         b)  TRS ̲DISCONTINUITY ̲LOG (R0,R1,R2,R3,R4,R5,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1  Received TSN             (destr.)
         R2  Expected TSN             (destr.)
         R3  Message Type (QEL Maint) (destr.)
         R6  LINK                     (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7      Pointer to Transport Parameters



4.2.3.6.4.7 S̲e̲n̲d̲ ̲U̲n̲k̲n̲o̲w̲n̲ ̲A̲S̲M̲ ̲R̲e̲p̲o̲r̲t̲

         This procedure will send Unknown ASMs received through
         the Channel Command Queue to the Supervisor's Printer.



         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  SEND ̲UNKNOWN ̲ASM ̲REPORT (QEL ̲REF, FLAGS)
                                     (TRANSPORT ̲PARAMETERS)

         b)  SEND ̲UNKNOWN ̲ASM ̲REPORT (R2,R3,R7,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R2  QEL Ref. for ASM         (destr.)
         R3  QEL Flags to follow ASM  (destr.)
         R6  LINK                     (destr.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R7      Pointer to Transport Parameters
         R1,R4,R5                     (destr.)



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



4.2.3.7.1    T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲s̲

         The communication within a Transport Subprocess is
         realized by means of semaphores through which the coroutines
         exchange information.

         The information is stored in operations with a data
         structure as defined in section 4.2.3.5.7.2.

         The principle flow of operations is described in section
         4.2.3.3.2, which defines the semaphores within a Transport
         Subprocess.

         The types of operations within a Transport Subprocess
         is defined in section 4.2.3.5.11.1.

         The operation type "IOC ̲REPLY" is related to a special
         data structure necessary for communication with IOC
         (ref. 4.2.3.5.7.3).

         The following tables defines the operations which may
         occur within each type of Transport Process.





                SEMAPHORE OPERATIONS FOR:

              TRC/PTOP TRANSPORT SUBPROCESS


                SEMAPHORE OPERATIONS FOR:

              NICS/TARE TRANSPORT SUBPROCESS


                SEMAPHORE OPERATIONS FOR:

             SCARS/CCIS TRANSPORT SUBPROCESS


                SEMAPHORE OPERATIONS FOR:

                 PTR TRANSPORT SUBPROCESS


                SEMAPHORE OPERATIONS FOR:

                 PTP TRANSPORT SUBPROCESS


                SEMAPHORE OPERATIONS FOR:

                 OCR TRANSPORT SUBPROCESS