gtpn1m0r | Non-SNA Data Communications Reference |
This is used by system programs to route messages to the output message handler for eventual transmission across the link.
This is used by output message handler to pass messages and by link controller to pass link control blocks to the CCP for transmission across the link.
Since the synchronous link comprises free running full duplex lines and the CPU must always be in a position to receive information, a channel program is always active on the receive line. The CIOUC is used by the file resident CCP to initiate the channel program when a line is started and to terminate it when the line is stopped. In addition, if SLC has been implemented using a 3705 communications controller, line enabling and disabling is activated through CIOUC.
These macros are used by system programs to send messages to high speed display (CRT) and printer terminals. Support for indirectly connected terminals (through a high level network, that is, SITA-HLN) is in the macro support to intercept messages destined for the indirect terminals and to pass them to the Output Message Handler.
These consist of a keypoint record containing information pertaining to a link, and a keypoint record for each channel of the link containing information relevant to each channel. The link keypoint contains bilateral agreement values and option indicators, output message block and LCB queue control fields, and input and output MBI information. The channel keypoint contains channel status, procedure-in-progress indicators, error counts and input and output TSI information.
These keypoint records are generated by coding CTKL macros which are assembled as program segments. These special program records are defined in the Global 3 Directory. See TPF General Macros for more information about the CTKL macro.
The link keypoint records are not retrieved by IPLP. Instead, program CIJH retrieves them on restart. They are filed by time-initiated keypoint copy (CVZA) and by update keypoint records (CVFD) like any other core-resident record. They are also filed on system cycle Down and on a catastrophic systems Error (unless a program check occurs in CPSE).
The current TPF system is being shipped with keypoints CKAA to CKAO. These keypoints must be modified, because they are system dependent. They are included with the package so that they may be used as examples. If the user's requirements are less than those of the package shipped and if the defaults of the parameters shipped are taken, assembly errors may arise in the keypoints shipped that are not being used.
Keypoint record D, which is used solely by the synchronous link control package, consists of two tables, the link routing table and the link pool availability directory. The former contains information necessary to route type A messages to or from a high level communications network (that is, SITA-HLN) attached to the system by a synchronous link. Each entry within the LRT is comprised of a symbolic link number, the HEX/HEN of the remote HLN center to which the associated TI/system is attached, and a message identifier. In addition, a pseudo line number, a remote center TI identifier, an HLN polling status indicator, and an associated line code associated with the transmitted text are included. The link pool availability directory is used to control the allocation and usage of file addresses in a fixed file area defined by FACE. These file addresses are temporarily assigned to incoming message blocks for the purpose of saving each intermediate message block on file until the complete message is received. The table consists of a bit string, each bit of which equates to a file address. The relative position of the bit within the string is the FACE ordinal number; the record type is #LKIBR.
An area of core is reserved below working storage to contain the input LCB queue. This area comprises an integral number of four byte slots which are used in a continuous cyclic manner. CTIN sets up, in the SLC common area, the address of this area as well as a number of other fields to enable BXH and BXLE instructions to be used by those programs adding items to or deleting items from the queue. There is only one input LCB queue for the system irrespective of the number of links or lines.
Following the input LCB queue an area of core is reserved for output LCB queues. A queue exists for each link and each channel of each link in the same format as described previously for the input LCB queue. The link queue control fields are in the link keypoint while those for the channel queues are in the corresponding CCW areas.
These are simply chains of working storage blocks in system virtual memory containing messages awaiting transmission. Separate chains exist for each link, with control fields in the link keypoint, and for each channel of each link with control fields in the corresponding CCW areas. Separate queues are maintained for type A and type B messages.
ENQ LCBs and message blocks are passed to OPZO from the CCP. OPZO maintains a queue of such blocks, one queue per channel, and the blocks are removed and processed one by one by the input message handler. By this means, LCBs and message blocks can be processed in strict sequential order. The pointers to the top and bottom of the queues are maintained in the keypoints.
The SLC common area, which resides in the SLC core-resident CCP, contains pointers and switches which are system-wide, regardless of the number of links. In summary, they consist of input LCB queue controls, indicators to show when certain programs are active, core level controls, CCP subroutine addresses, and translate table addresses.
Because the ECB controlled Input Message Handler is sometimes manipulating core blocks without any references in the ECB core block Reference Words, CPSE has to be specially cognizant of it.
Also, when a catastrophic systems error occurs, it is necessary to gather message references for some messages on the output message queues and to file link and channel keypoints in the same manner as some other keypoints.