top - download
⟦87adbd239⟧ Wang Wps File
Length: 23560 (0x5c08)
Types: Wang Wps File
Notes: CPS/SDS/006
Names: »1064A «
Derivation
└─⟦53e9d9273⟧ Bits:30006039 8" Wang WCS floppy, CR 0063A
└─ ⟦this⟧ »1064A «
WangText
…00……00……00……00……00……0e……02……00……00……0e…
…0e……05……0e……06……0d……0c……0d……01……0d……05……0d……06……0c……08……0c……09……0c……0b……0c……0c……0c……0f……0c……00……0c……02……0c……05……0c……07……0b……08……0b……0a……0b……0c……0b……0d……0b……0e……0b……00……0b……01……0b……02……0b… …0b……05……0b……06……0b……07……0a……09……0a……0b……0a……0c……0a……0d……0a……0e……0a……00……0a……01……0a……02……0a…
…0a……86…1 …02… …02… …02…
…02…CPS/SDS/006
…02…HKI/810801…02……02…
I/O CONTROL
…02……02…CAMPS
4.2.2 L̲T̲U̲X̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲
4.2.2.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.2.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲B̲r̲e̲a̲k̲d̲o̲w̲n̲
The LTUX Handler Sub-Package implements the definition
of terminals in DAMOS TMS sense for the following external
devices/channels:
VDU
Medium Speed Teleprinter
Papertape Reader/Puncher
TRC/Point-to-Point/Teleprinter
OCR
Figures 4.2.2.1.1-1 - 26 present the functional breakdown.
Figure 4.2.2.1.1-1 to 4.2.2.1.1-26
4.2.2.1.2 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The numbers refer to the functional breakdown in section
4.2.2.1.1.
I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲(̲1̲.̲1̲,̲ ̲2̲.̲1̲,̲ ̲3̲.̲1̲,̲ ̲4̲.̲1̲,̲ ̲5̲.̲1̲)̲
This function sets up the protocol (= device/line handler)
private data area within the STI handler.
C̲h̲a̲n̲n̲e̲l̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲1̲.̲2̲,̲ ̲2̲.̲2̲,̲ ̲3̲.̲2̲,̲ ̲4̲.̲2̲,̲ ̲5̲.̲2̲)̲
This function configures the LTUX Function Sub-package
for the communication type and sets up V24 accordingly.
C̲o̲n̲t̲r̲o̲l̲ ̲C̲h̲a̲n̲n̲e̲l̲
This function is the capability of the creator of the
channel to request status information, to modify configuration
and to set up channel.
- For all handlers to request statistics
- For VDU handler to initialize the VDU and to request
actual settings within the VDU.
C̲l̲o̲s̲e̲ ̲C̲h̲a̲n̲n̲e̲l̲
This function is the reverse of OPEN All transfers
shall be cancelled.
S̲u̲b̲d̲e̲v̲i̲c̲e̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲ ̲(̲1̲.̲2̲.̲4̲)̲
The VDU handler shall as the only one within the LTUX
Handler sub-package support the concept of multidropped
terminals on a single channel since the VDU is configured
with three splits each defined as two terminals, one
for data, one for control. The channel control function
here covers the capability to create more than one
terminal and the coordination of terminal creation.
T̲e̲r̲m̲i̲n̲a̲l̲ ̲C̲o̲n̲t̲r̲o̲l̲
This function deals with creation and deletion of sub-devices
in DAMOS sense as well as control functions such as
definition of "Break". For VDUs a multiple set of terminals
is defined for one channel.
D̲a̲t̲a̲ ̲T̲r̲a̲n̲s̲f̲e̲r̲
This function group is a cover for data transfer for
the device/lines.
V̲D̲U̲
Output request control. To select next output to be
performed. The output may originate from any of the
terminals defined for data interface.
Input request control. To select which input shall
be processed next. As the input is a two-way communication
an arm command followed by input from the terminal,
it must be coordinated with output:
I̲n̲p̲u̲t̲/̲O̲u̲t̲p̲u̲t̲ ̲S̲c̲h̲e̲d̲u̲l̲i̲n̲g̲
The functions to coordinate output for arm commands
as well as output of data are collected under this
heading.
V̲D̲U̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲
The Handler communicates with the VDU by transferring
data to the LTUX function sub-package, which forwards
these data.
M̲S̲T̲P̲,̲ ̲P̲T̲P̲,̲ ̲T̲R̲C̲/̲P̲T̲P̲
Data transfer for these devices/lines are transparent
to the handler, except that timeouts or errors are
returned to the handler.
O̲C̲R̲
The data transfer for the OCR is protocol controlled.
The next input from the OCR is requested when an outstanding
input request is available. The protocol is fully controlled
by the OCR handler.
4.2.2.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The LTUX Handler Subpackage is organized as a set of
protocol routines (DAMOS Term) within the STI handler.
The Low Speed Line Handler handles MSTP, PTP/PTR and
TRC/Point-to-Point interfaces.
The OCR Handler handles the OCR.
The VDU Handler handles the VDU.
For the software hierarchy the numbers correspond to
the numbering in the corresponding flowgram.
4.2.2.2.1 V̲D̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The hierarchy corresponding to the control flow in
section 4.2.2.3.1 is shown in figure 4.2.2.2.1-1 to
13.
The VDU Handler consists of two major parts.
The first part, accessed via the request entry, handles
all TMS initiated requests.
The second part, accessed via the TDX response received
entry handles asynchronous answers to requested data
transfers.
Figures 4.2.2.2.1-1 to 4.2.2.2.1-13
4.2.2.2.2 O̲C̲R̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The OCR Handler consists of two parts. The first part,
accessed via the request entry, handles all TMS initiated
requests. The second part, accessed via the TDX response
received entry handles asynchronous answers to requested
data transfers.
The OCR Handler software break down is shown in figure
4.2.2.2.2-1 to -9.
Figures 4.2.2.2.2-1 to 4.2.2.2.2-9
4.2.2.2.3 L̲o̲w̲ ̲S̲p̲e̲e̲d̲ ̲L̲i̲n̲e̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲(̲L̲S̲L̲H̲)̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The LSLH has two major software parts.
One part is servicing all requests from TMS (called
the request entry), the other part servicing TDX responses
signalling that a transfer or part of a transfer has
been completed.
Figures 4.2.2.2.3-1 to -8 give the hierarchy of routines.
Figures 4.2.2.2.3-1 to 4.2.2.2.3-8
4.2.2.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.2.3.1 V̲D̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲F̲l̲o̲w̲
The VDU handler transfers data from/to a number of
sources to/from the LTUX.
The sources are:
1) The creator of the channel will by means of Control
Channel commands set up the VDU. The Control Channel
commands are output followed by input.
2) Output from data terminals.
3) Input to data terminals.
4) Input of control info.
The environment is shown in figure 4.2.2.3.1-1 and
the data transport mechanisms in fig. 4.2.2.3.1-2.
Figures 4.2.2.3.1-1 to 4.2.2.3.1-2
VDU HANDLER REQUEST ENTRY (1.1)
CHANNEL COMMAND
S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲(̲1̲.̲1̲.̲1̲)̲ C̲H̲A̲N̲N̲E̲L̲ ̲C̲O̲M̲M̲A̲N̲D̲
̲(̲1̲.̲1̲.̲2̲)̲
P̲E̲N̲D̲I̲N̲G̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲1̲.̲3̲)̲
SUBDEVICE COMMAND (1.1.1)
SUBDEVICE NOT CREATED PUT ERROR CODE
DELETE D̲E̲L̲E̲T̲E̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲1̲.̲1̲.̲1̲.̲1̲)̲
CONTROL C̲O̲N̲T̲R̲O̲L̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲1̲.̲1̲.̲1̲.̲2̲)̲
INPUT R̲E̲Q̲U̲E̲S̲T̲ ̲I̲N̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲3̲)̲
ACK INPUT A̲C̲K̲ ̲I̲N̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲4̲)̲
OUTPUT R̲E̲Q̲U̲E̲S̲T̲ ̲O̲U̲T̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲5̲)̲
INIT OUTPUT I̲N̲I̲T̲ ̲O̲U̲T̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲6̲)̲
OUTPUT/INPUT R̲E̲Q̲U̲E̲S̲T̲ ̲O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲
̲(̲1̲.̲1̲.̲1̲.̲7̲)̲
INIT OUTPUT/INPUT I̲N̲I̲T̲ ̲O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲8̲)̲
REQUEST OUTPUT/INPUT R̲E̲Q̲U̲E̲S̲T̲ ̲O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲
̲(̲1̲.̲1̲.̲1̲.̲9̲)̲
ACK OUTPUT/INPUT A̲C̲K̲ ̲O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲ ̲(̲1̲.̲1̲.̲1̲.̲1̲0̲)̲
CANCEL C̲A̲N̲C̲E̲L̲ ̲(̲1̲.̲1̲.̲1̲.̲1̲1̲)̲
DELETE SUBDEVICE (1.1.1.1)
SET SUBDEVICE NOT CREATED
ANSWER PENDING REQUESTS
MARK ONGOING REQUESTS DUMMY
IS KEYBOARD CURSOR CURRENTLY IN THIS SPLIT
PROCESS
NEXT
INPUT
CONTROL SUBDEVICE (1.1.1.2)
REQUEST INPUT (1.1.1.3)
SUBDEVICE DATA TYPE? PUT ERROR
INPUT ALREADY PENDING PUT ERROR
FOR THIS SUBDEVICE?
INPUT OF HIGHER
PRIORITY PENDING?
CANCEL ANY LOWER
PRIORITY PENDING INPUT PUT PENDING
K̲E̲Y̲B̲O̲A̲R̲D̲ ̲S̲P̲L̲I̲T̲ ̲C̲O̲N̲T̲R̲O̲L̲
(̲1̲.̲1̲.̲1̲.̲3̲.̲1̲)̲
KEYBOARD-SPLIT
CONTROL (1.1.1.3.1)
OUTPUT OPERATION ACTIVE
GENERATE KEYBOARD
SPLIT SELECT AND
UNBLOCK KEYBOARD
COMMAND
ISSUE TDX OUTPUT REQUEST
PUT PENDING PUT PENDING
…02…AND ACTIVE
PUT OUTPUT AND
OUTPUT/INPUT REQUEST
FOR THIS SPLIT
WAIT
ACK INPUT (1.1.1.4)
RELEASE BUFFER
REQUEST OUTPUT (1.1.1.5)
SUBDEVICE TYPE DATA
LOAD ERROR CODE R̲E̲Q̲U̲E̲S̲T̲ ̲O̲U̲T̲P̲U̲T̲
D̲A̲T̲A̲ ̲(̲1̲.̲1̲.̲1̲.̲5̲.̲1̲)̲
REQUEST OUTPUT DATA (1.1.1.5.1)
OUTPUT PENDING RETURN "TOO MANY REQUESTS"
ON SUBDEVICE?
ANY OTHER OUTPUT
QUEUED FOR CHANNEL
WAIT
PUT PENDING
MARK OUTPUT QUEUED RETURN
FOR CHANNEL "REQUEST QUEUED"
RETURN OUTPUT
BUFFER
INIT OUTPUT (1.1.1.6)
REQUEST TDX TRANSMISSION
REQUEST OUTPUT/INPUT (1.1.1.7)
SUBDEVICE TYPE DATA?
R̲E̲Q̲U̲E̲S̲T̲ ̲O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲
LOAD ERROR CODE D̲A̲T̲A̲ ̲(̲1̲.̲1̲.̲1̲.̲7̲.̲1̲)̲
REQUEST OUTPUT/INPUT DATA (1.1.1.7.1)
OUTPUT/INPUT PENDING ON RETURN "TOO MANY REQUESTS"
SUBDEVICE
ANY OTHER OUTPUT
QUEUED FOR CHANNEL?
KEYBOARD CURSOR
CURRENTLY IN THIS SPLIT?
MARK OUTPUT QUEUED PUT PENDING
FOR CHANNEL
RETURN OUTPUT RETURN
BUFFER "REQUEST QUEUED"
PUT PENDING AND ACTIVE
INIT OUTPUT/INPUT (1.1.1.8)
REQUEST TDX TRANSMISSION
REQUEST OUTPUT/INPUT IN (1.1.1.9)
REQUEST TDX INPUT
ACK OUTPUT/INPUT (1.1.1.10)
RELEASE BUFFER
OUTPUT/INPUT TERMINATED
RESET PENDING
CONDITION
CANCEL (1.1.1.11)
REFERRED OPERATION PENDING
BUT NOT ACTIVE
REFERRED OPERATION
REMOVE
NOT PENDING
PENDING
CONDTION
RETURN ERROR
RETURN
COMPLETION
SET OPERATION DUMMY
RETURN COMPLETION
CHANNEL COMMAND (1.1.2)
INITIALIZE I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲(̲1̲.̲1̲.̲2̲.̲1̲)̲
CREATE SUBDEVICE C̲R̲E̲A̲T̲E̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲1̲.̲1̲.̲2̲.̲2̲)̲
OPEN O̲P̲E̲N̲ ̲(̲1̲.̲1̲.̲2̲.̲3̲)̲
REQ. CONTROL R̲E̲Q̲.̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲1̲.̲2̲.̲4̲)̲
INIT CONTROL I̲N̲I̲T̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲1̲.̲2̲.̲5̲)̲
GET CONTROL RESPONSE C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲1̲.̲1̲.̲2̲.̲6̲)̲
ACK CONTROL A̲C̲K̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲1̲.̲2̲.̲7̲)̲
CLOSE C̲L̲O̲S̲E̲ ̲(̲1̲.̲1̲.̲2̲.̲8̲)̲
INITIALIZE (1.1.2.1)
BUILD MEMORY AREA ACCORDING TO SPECIFIED
MAXIMUM NUMBER OF SUBDEVICES
CREATE SUBDEVICE (1.1.2.2)
SUBDEVICE ALREADY CREATED
RETURN ERROR
SET SUBDEVICE CREATED
OPEN (1.1.2.3)
ISSUE OPEN TO LTUX WITH
VDU AND BAUDRATE SPECIFIED
CREATE TDX LOGICAL LINE
PUT PENDING
ISSUE TDX CONTROL READ
REQ CONTROL (1.1.2.4)
CONTROL TRANSFER ALREADY PENDING
RETURN ERROR
TYPE VDU V̲D̲U̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲1̲.̲2̲.̲4̲.̲1̲)̲
TYPE LTUX L̲T̲U̲X̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲1̲.̲2̲.̲4̲.̲2̲)̲
OTHER RETURN ERROR
VDU CONTROL (1.1.2.4.1)
ANY OTHER DATA OUTPUT
QUEUED FOR CHANNEL
MARK OUTPUT QUEUED
RETURN OUTPUT PUT PENDING
BUFFER
RETURN
"REQUEST QUEUED"
PUT PENDING AND ACTIVE
LTUX CONTROL (1.1.2.4.2)
PUT PENDING LTUX CONTROL
RETURN OUTPUT BUFFER
INIT CONTROL (1.1.2.5)
TYPE LTUX
ISSUE TDX OUTPUT ISSUE TDX OUTPUT
DATA CHANNEL CONTROL CHANNEL
CONTROL RESPONSE (1.1.2.6)
TYPE LTUX?
REQUEST TDX INPUT REQUEST TDX INPUT
DATA CONTROL
ACK CONTROL (1.1.2.7)
RELEASE BUFFER
CONTROL TERMINATED?
RESET PENDING CONDITION
CLOSE (1.1.2.8)
RETURN ALL PENDING OPERATIONS
ISSUE CLOSE TO LTUX
TDX RESPONSE RECEIVED ENTRY (1.2)
CONTROL IN C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲ ̲(̲1̲.̲2̲.̲1̲)̲
CONTROL OUT C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲
̲(̲1̲.̲2̲.̲2̲)̲
DATA IN D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲ ̲(̲1̲.̲2̲.̲3̲)̲
DATA OUT D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲1̲.̲2̲.̲4̲)̲
P̲E̲N̲D̲I̲N̲G̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲1̲.̲3̲)̲
CONTROL RESPONSE IN (1.2.1)
OUTPUT ANSWER? O̲U̲T̲P̲U̲T̲ ̲A̲N̲S̲W̲E̲R̲ ̲(̲1̲.̲2̲.̲1̲.̲1̲)̲
COMMAND ANSWER? C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲S̲W̲E̲R̲ ̲(̲1̲.̲2̲.̲1̲.̲2̲)̲
ASYNC. REPORT? R̲E̲P̲O̲R̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲1̲.̲2̲.̲1̲.̲3̲)̲
OUTPUT ANSWER (1.2.1.1)
OUTPUT REQUEST
RETURN
COMPLETION
VDU CONTROL OR
OUTPUT/INPUT?
NO ERROR PUT NOT
PENDING
PUT DUMMY
(SPLIT SELECT) RETURN
ANSWER
COMMAND ANSWER (1.2.1.2)
OPEN? SET OPEN RETURN COMPLETION
LTUX CONTROL GENERATE RESPONSE
STATISTICS?
CLOSE RETURN ANSWER
REPORT RESPONSE (1.2.1.3)
UNEXPECTED V24 CHANGE
LTUX ERROR
CLOSE
(except LTUX close)
F̲U̲N̲C̲T̲I̲O̲N̲ ̲K̲E̲Y̲
H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲1̲.̲2̲.̲1̲.̲3̲.̲1̲)̲
ASYNCHRONOUS REPORT
FUNCTION KEY HANDLING (1.2.1.3.1)
BREAK? ASYNCHRONOUS
(SYSTEM KEY) REPORT
ANSWER REQUEST CANCEL ALL
INPUT WITH FK PENDING AND ACTIVE
TRANSFERS
PUT NOT PENDING
RESET WAIT FOR THIS SPLIT
CONTROL RESPONSE OUT (1.2.2)
DATA RESPONSE IN (1.2.3)
DUMMY? D̲U̲M̲M̲Y̲ ̲D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲
̲(̲1̲.̲2̲.̲3̲.̲1̲)̲
OUTPUT? O̲U̲T̲P̲U̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲ ̲(̲1̲.̲2̲.̲3̲.̲2̲)̲
OUTPUT/INPUT? O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲
̲(̲1̲.̲2̲.̲3̲.̲3̲)̲
VDU CONTROL? V̲D̲U̲ ̲D̲A̲T̲A̲ ̲I̲N̲ ̲(̲1̲.̲2̲.̲3̲.̲4̲)̲
DUMMY DATA RESPONSE IN (1.2.3.1)
TEST RECORDS RECEIVED
FINISHED
ISSUE TDX READ WITH PUT NOT PENDING
THE SAME BUFFER REMOVE DUMMY
OUTPUT RESPONSE IN (1.2.3.2)
TEST RETURNED DATA
FINISHED WITH NO ERROR?
SOME ERROR? E̲R̲R̲O̲R̲ ̲I̲N̲P̲U̲T̲
NEXT REQUEST NOT
QUEUED PUT NOT PENDING
RETURN BUFFER
ASYNCHRONOUSLY TO
TMS RETURN BUFFER
RETURN COMPLETION
OUTPUT/INPUT RESPONSE IN (1.2.3.3)
TEST RETURNED RECORDS
FINISHED WITH NO ERROR?
SOME ERROR? E̲R̲R̲O̲R̲ ̲I̲N̲P̲U̲T̲
NEXT REQUEST NOT
QUEUED PUT NOT PENDING
RETURN BUFFER
ASYNCHRONOUSLY TO
TMS RETURN BUFFER
RETURN COMPLETION
VDU DATA IN (1.2.3.4)
TEST RETURNED DATA
FINISHED WITH NO ERROR?
SOME ERROR? E̲R̲R̲O̲R̲ ̲I̲N̲P̲U̲T̲
NEXT REQUEST NOT
QUEUED PUT NOT PENDING
RETURN BUFFER
ASYNCHRONOUSLY TO
TMS RETURN BUFFER
RETURN COMPLETION
DATA RESPONSE OUT (1.2.4)
DUMMY? D̲U̲M̲M̲Y̲ ̲D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲1̲.̲2̲.̲4̲.̲1̲)̲
OUTPUT? O̲U̲T̲P̲U̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲1̲.̲2̲.̲4̲.̲2̲)̲
OUTPUT/INPUT? O̲U̲T̲P̲U̲T̲/̲I̲N̲P̲U̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲1̲.̲2̲.̲4̲.̲3̲)̲
VDU CONTROL? V̲D̲U̲ ̲D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲1̲.̲2̲.̲4̲.̲4̲)̲
KEYBOARD SPLIT? S̲P̲L̲I̲T̲ ̲S̲E̲L̲E̲C̲T̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲1̲.̲2̲.̲4̲.̲5̲)̲
DUMMY DATA RESPONSE OUT (1.2.4.1)
PUT NOT PENDING
OUTPUT RESPONSE OUT (1.2.4.2)
FINISHED
CONTINUATION REQUEST
NOT QUEUED?
RETURN BUFFER TO
TMS ASYNCHRONOUSLY
OUTPUT/INPUT RESPONSE OUT (1.2.4.3)
OUTPUT FINISHED
CONTINUATION REQUEST
NOT QUEUED?
RETURN BUFFER TO
TMS ASYNCHRONOUSLY
VDU DATA RESPONSE OUT (1.2.4.4)
OUTPUT FINISHED
CONTINUATION REQUEST
NOT QUEUED?
RETURN BUFFER TO
TMS ASYNCHRONOUSLY
SPLIT SELECT RESPONSE OUT (1.2.4.5)
PENDING REQUEST HANDLING (1.3)
PENDING ACTIVE TRANSFER?
KEYBOARD SPLIT CONTROL PENDING PROCESS
CHANNEL CONTROL PENDING PROCESS
SPLIT = 0
LOOP
NO MORE SPLITS? EXIT
PENDING OUTPUT PROCESS EXIT
PENDING OUTPUT/INPUT PROCESS EXIT
NEXT SPLIT
POOL
4.2.2.3.2 O̲C̲R̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲F̲l̲o̲w̲
The OCR handler transfers data from the LTUX to a requestor
of data.
The environment for the OCR handler is shown in figure
4.2.2.3.2-1 and the data transfer mechanism in 4.2.2.3.2-2.
Figure 4.2.2.3.2-1 - 2
OCR HANDLER REQUEST ENTRY (2.1)
CHANNEL COMMAND
S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲(̲2̲.̲1̲.̲1̲)̲ C̲H̲A̲N̲N̲E̲L̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲(̲2̲.̲1̲.̲2̲)̲
P̲E̲N̲D̲I̲N̲G̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲2̲.̲3̲)̲
SUBDEVICE COMMAND (2.1.1)
SUBDEVICE NOT CREATED PUT ERROR CODE
DELETE? D̲E̲L̲E̲T̲E̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲2̲.̲1̲.̲1̲.̲1̲)̲
CONTROL? C̲O̲N̲T̲R̲O̲L̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲2̲.̲1̲.̲1̲.̲2̲)̲
INPUT? R̲E̲Q̲U̲E̲S̲T̲ ̲I̲N̲P̲U̲T̲ ̲(̲2̲.̲1̲.̲1̲.̲3̲)̲
ACK INPUT? A̲C̲K̲ ̲I̲N̲P̲U̲T̲ ̲(̲2̲.̲1̲.̲1̲.̲4̲)̲
CANCEL? C̲A̲N̲C̲E̲L̲ ̲(̲2̲.̲1̲.̲1̲.̲5̲)̲
OTHER? P̲U̲T̲ ̲E̲R̲R̲O̲R̲
DELETE SUBDEVICE (2.1.1.1)
SET SUBDEVICE NOT CREATED
ANSWER PENDING REQUEST
MARK ONGOING REQUEST DUMMY
CONTROL SUBDEVICE (2.1.1.2)
REQUEST INPUT (2.1.1.3)
2 INPUTS PENDING RETURN
"TOO MANY REQUESTS"
ONE INPUT PENDING BUT PENDING RETURN
"QUEUED"
(NO PENDING INPUT)
STX BUT ISSUE TDX READ
ETB/ETX NOT RECEIVE PUT "QUEUED"
STX NOT RECEIVED PUT PENDING PUT
"QUEUED"
ISSUE ACK PUT "QUEUED"
ACK INPUT (2.1.1.4)
SET NOT PENDING
CANCEL (2.1.1.5)
REQUESTS NOT PENDING PUT ERROR
ANSWER REQUEST
PUT DUMMY
CHANNEL COMMAND (2.1.2)
INITIALIZE I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲(̲2̲.̲1̲.̲2̲.̲1̲)̲
CREATE SUBDEVICE C̲R̲E̲A̲T̲E̲ ̲S̲U̲B̲D̲E̲V̲I̲C̲E̲ ̲(̲2̲.̲1̲.̲2̲.̲2̲)̲
OPEN O̲P̲E̲N̲ ̲(̲2̲.̲1̲.̲2̲.̲3̲)̲
REQ. CONTROL R̲E̲Q̲.̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲2̲.̲1̲.̲2̲.̲4̲)̲
INIT CONTROL I̲N̲I̲T̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲2̲.̲1̲.̲2̲.̲5̲)̲
GET CONTROL RESPONSE C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲2̲.̲1̲.̲2̲.̲6̲)̲
ACK CONTROL A̲C̲K̲.̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲2̲.̲1̲.̲2̲.̲7̲)̲
CLOSE C̲L̲O̲S̲E̲ ̲(̲2̲.̲1̲.̲2̲.̲8̲)̲
INITIALIZE (2.1.2.1)
BUILD MEMORY AREA FOR ONE SUBDEVICE
CREATE SUBDEVICE (2.1.2.2)
ALREADY CREATED
RETURN ERROR
SET SUBDEVICE CREATED
OPEN (2.1.2.3)
ISSUE OPEN TO LTUX
CREATE TDX LOGICAL LINE
PUT PENDING
ISSUE TDX CONTROL READ
REQ. CONTROL (2.1.2.4)
CONTROL ALREADY PENDING PUT ERROR
PUT PENDING
RETURN OUTPUT BUFFER
INIT CONTROL (2.1.2.5)
NOT LTUX CONTROL
RETURN ERROR
ISSUE LTUX CONTROL PUT NOT PENDING
CONTROL RESPONSE (2.1.2.6)
REQUEST TDX CONTROL INPUT
ACK CONTROL (2.1.2.7)
RELEASE BUFFER
PUT NOT PENDING
CLOSE (2.1.2.8)
RETURN ALL PENDING OPERATIONS
ISSUE CLOSE TO LTUX
TDX RESPONSE RECEIVED ENTRY (2.2)
CONTROL IN C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲ ̲(̲2̲.̲2̲.̲1̲)̲
CONTROL OUT C̲O̲N̲T̲R̲O̲L̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲
̲(̲2̲.̲2̲.̲2̲)̲
DATA IN D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲I̲N̲ ̲(̲2̲.̲2̲.̲3̲)̲
DATA OUT D̲A̲T̲A̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲O̲U̲T̲ ̲(̲2̲.̲2̲.̲4̲)̲
P̲E̲N̲D̲I̲N̲G̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲2̲.̲3̲)̲
CONTROL RESPONSE IN (2.2.1)
COMMAND ANSWER?
(ASYNCHRONOUS REPORT) C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲S̲W̲E̲R̲ ̲(̲2̲.̲2̲.̲1̲.̲1̲)̲
PARITY ERROR
CLOSE M̲E̲S̲S̲A̲G̲E̲ ̲E̲R̲R̲O̲R̲
(̲2̲.̲2̲.̲5̲)̲
ISSUE
ASYNCHRONOUS
REPORT
ISSUE TDX CONTROL READ
COMMAND ANSWER (2.2.1.1)
CLOSE RESPONSE SET CLOSED PUT NOT PENDING
RETURN ANSWER
STATISTICS REQUEST RETURN STATISTICS PUT NOT PENDING
(LTUX CONTROL)
(OPEN)
ERROR RETURN ERROR PUT NOT PENDING
BUILD DATA BLOCK
WITH DC1
ISSUE BLOCK
TO TDX
CONTROL RESPONSE OUT (2.2.2)
DATA RESPONSE IN (2.2.3)
PENDING REQUEST DUMMY
TEST RECORDS RECEIVED TEST RECORDS
RECEIVED
FINISHED
D̲A̲T̲A̲ ̲I̲N̲ ̲(̲2̲.̲2̲.̲3̲.̲1̲)̲ ISSUE TDX PUT NOT
PENDING
READ
REMOVE
DUMMY
DATA IN (2.2.3.1)
STX? P̲R̲O̲C̲ ̲S̲T̲X̲ ̲(̲2̲.̲2̲.̲3̲.̲1̲.̲1̲)̲
ETX IN BLOCK P̲R̲O̲C̲ ̲E̲T̲X̲ ̲(̲2̲.̲2̲.̲3̲.̲1̲.̲2̲)̲
STX BEFORE ETX M̲E̲S̲S̲A̲G̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲2̲.̲2̲.̲5̲)̲
END OF SEQUENCE P̲R̲O̲C̲ ̲E̲O̲S̲ ̲(̲2̲.̲2̲.̲3̲.̲1̲.̲3̲)̲
NO INPUT R̲E̲P̲O̲R̲T̲ ̲A̲S̲Y̲N̲C̲
RETURN BUFFER TO TMS
PROC STX (2.2.1)
PENDING INPUT
SET STX RECEIVED ISSUE ACK
PROC ETX (2.2.2)
NO INPUT ASYNCHRONOUS REPORT
RETURN
ISSUE ACK
PROC EOS (2.2.3)
NO INPUT ERROR
RETURN BUFFER
SET ETB RECEIVED
DATA RESPONSE OUT (2.2.4)
ACK/NAK A̲C̲K̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲2̲.̲2̲.̲4̲.̲1̲)̲
DC1 (OPEN) O̲P̲E̲N̲ ̲T̲E̲R̲M̲I̲N̲A̲T̲E̲ ̲(̲2̲.̲2̲.̲4̲.̲2̲)̲
ACK RESPONSE (2.2.4.1)
ETX?
ISSUE TDX READ
OPEN TERMINATE (2.2.4.2)
RETURN COMPLETION
MESSAGE ERROR (2.2.5)
RETURN ERROR
SET NEXT RESPONSE TO NAK
SIMULATE ETX RECEIVED
PENDING REQUEST HANDLING (2.3)
PENDING ONGOING TRANSFER?
(NEXT INPUT)
STX BUT ETB/ETX NOT RECEIVED ISSUE TDX READ
STX NOT RECEIVED
ISSUE ACK