top - download
⟦1af919b7f⟧ Wang Wps File
Length: 67534 (0x107ce)
Types: Wang Wps File
Notes: CPS/SDS/028
Names: »2162A «
Derivation
└─⟦8b37ca311⟧ Bits:30006109 8" Wang WCS floppy, CR 0174A
└─ ⟦this⟧ »2162A «
WangText
…00……00……00……00……00…H…0a……00……00…H…0b…H…0d…H…0f…H H…07…G…0b…G…0e…G
F…09…F…0d…D…01…D D…07…C…0a…C…0e…C C…05…B…0a…B…0f…*…08…*…0f…*…00…* *…05…)…0d…)…0e…)…0f…)…05…)…06…(…0a…(…0b…(…0f…(…00…(…86…1 …02…
…02… …02…
…02…CPS/SDS/028
…02…850301…02……02…
I/O CONTROL
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.1.6 C̲o̲m̲m̲o̲n̲ ̲D̲a̲t̲a̲
N.A.
4.1.7 I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
4.1.7.1 E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The external interfaces for IOC are the electrical
interfaces for devices and lines, where IOC in fact
implements the CAMPS external interface to devices/lines.
Interface descriptions are:
CAMPS ICDs ICD/004 through 8.
4.1.7.2 P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The interface for IOC can be divided into 4 main groups.
a) IOS Interfaces
b) Data transport interfaces (using IOS calls).
c) FORMAT HANDLER interfaces.
d) Control Interfaces for defining control parameters
within the IOC
4.1.7.2.1 I̲O̲S̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The IOS interfaces are included here as background
information. For coding purposes please refer to DAMOS
I/O SYSTEM.
4.1.7.2.1.1 M̲o̲u̲n̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The specified volume name is checked against the volume
name actually recorded on the volume. At return the
volume is identified by the symbolic volume name, and
the functions utilizing the file structure of the volume
may operate on the files.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) MOUNT (FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
DEVICENAME: DEVICE ̲NAME,
VOLUMENAME: VOLUME ̲NAME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK.
b1) MON(SCM,SYSCASE,IO ̲MOUNT: R6, R0, R1, R2, R5,
R7):
ERROR ̲OK
b2) COMON(SYSCALL, IO MOUNT, R0, R1, R2, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R1 Pointer to DEVICENAME
R2 Pointer to VOLUMNAME
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.2 D̲i̲s̲m̲o̲u̲n̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The description of the volume is excluded from FMS.
No files may be open for access when this command
is called.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DISMOUNT (FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
VOLUMENAME: VOLUME ̲NAME)
(CC: COMPLETION CODE):
ERROR ̲OK.
b1) MON (SCM, SYSCALL, IO ̲DISMOUNT: R6, R0, R1, R5,
R7):
ERROR ̲OK
b2) COMON (SYSCALL, IO ̲DISMOUNT, R0, R1, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R1 Pointer to VOLUMENAME
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.3 D̲i̲s̲m̲a̲n̲t̲l̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
F̲i̲l̲e̲s̲
The file will no longer be open via the given file
descriptor. If the file is not open for access by
any user, and the file is temporary, it will be deleted.
T̲e̲r̲m̲i̲n̲a̲l̲s̲
It is checked that FD identifies a connection from
the caller to a subdevice.
Not completed operations on the connection are cancelled.
The connection is removed and will not be accessible
anymore.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DISMANTLE (CONID: USER ̲CONNECTION ̲TYPE)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲DISMANTLE: R6, R4, R5, R7):
ERROR ̲OK
b2) COMON (SYSCALL, IO ̲DISMANTLE, R4, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 CONID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.4 R̲e̲s̲e̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Removes the contents of the specified file. If the
file is a random file, the sectors corresponding to
the file are deallocated.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) RESET (FILEDECR: FDCB ̲INDEX)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲RESET: R6, R4, R5, R7):
ERROR ̲OK
b2) COMON (SYSCALL, IO ̲RESET, R4, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 FILEDECR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.5 A̲c̲c̲e̲p̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Returns a file descriptor to a file/terminal, that
has previsouly been offered to the caller. The offer
transaction is identified by the offer identification
given as call parameter. The file/terminal becomes
open for access by the caller with the file descriptor
as identification.
Note: The OFID must be made known to the caller of
ACCEPT by the offerer.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ACCEPT (FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
OFID: OFFER ̲ID)
(CONID: USER ̲CONNECTION ̲TYPE
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲ACCEPT: R6, R0, R3, R4, R5,
R7):
ERROR ̲OK
b2) COMON ( CSYSCALL, IO ̲ACCEPT, R0, R3, R4, R5, R6,
R7):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R3 OFID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 CONID
R7 CC
4.1.7.2.1.6 O̲f̲f̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The caller offers a file to another user. This means
that the user specified, may issue an "accept" command
and thereby get a file descriptor of the file. The
user will thus be able to access the file. In this
way it is possible for several users to exchange information
via a file without a name.
The access rights of the user who accepts the file,
depends on whether or not the user who "offers" the
file are allowed to protect the file:
- "offerer" has protect right:
"accepter" gets the access rights which are the
union of:
1) the rights the "accepter" already has
2) the intersection of the "offered" and the rights
the "offerer" has.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) OFFER (CONID: USER ̲CONNECTION ̲TYPE
ACCDECR: ACCESS ̲DESCRIPTION)
(OFID: OFFER ̲ID,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲OFFER: R6, R1, R3, R4, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲OFFER, R1, R2, R3, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to ACCDECR
R4 CONID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R3 OFID
R7 CC
4.1.7.2.1.7 E̲n̲t̲e̲r̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
F̲i̲l̲e̲s̲
The subject file is named in the SFD specified in the
second parameter with the name given as the first parameter.
The subject file becomes permanent.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ENTER (FILEDECR ̲DIR: FDCB ̲INDEX,
FILEDECR ̲FILE: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲ENTER: R6, R1, R2, R4, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲ENTER, R1, R2, R4, R5, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R2 FILEDECR ̲FILE
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.8 L̲o̲o̲k̲u̲p̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
T̲e̲r̲m̲i̲n̲a̲l̲s̲
Refer description for ENTER
F̲i̲l̲e̲s̲
Retrieves in an SFD a file given by symbolic name.
The file becomes open for access by the caller.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) LOOKUP (FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(FILEDECR ̲FILE: FDCB ̲INDEX,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON SCM, SYSCALL, IO ̲LOOKUP: R6, R1, R2, R4, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲LOOKUP, R1, R2, R4, R5, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 FILEDECR ̲FILE
R7 CC
4.1.7.2.1.9 D̲e̲s̲c̲e̲n̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Works as lookup. However, an implicit "dismantle"
is made on the SFD.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DESCENT (FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(FILEDECR ̲FILE: FDCB ̲INDEX,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲DESCENT: R6, R1, R4, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲DESCENT, R1, R4, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 FILEDECR ̲FILE
R7 CC
4.1.7.2.1.10 R̲e̲n̲a̲m̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Changes the name of the file in the specified directory
from "old file name" to "new file name".
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) RENAME (FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAMES: FILE ̲NAMES)
(CC: COMPLETION CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲RENAME: R6, R1, R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲RENAME, R1, R4, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAMES
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.11 R̲e̲m̲o̲v̲e̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Deletes the symbolic name of a file from the SFD.
If the name of the file has now been removed from all
SFDs in which it has been entered, the file will either
be deleted (if it is not open for access by any user)
or become temporary.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) REMOVE (FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK.
b1) MON (SCM, SYSCALL, IO ̲REMOVE: R6, R1, R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲REMOVE, R1, R4, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.12 G̲e̲t̲r̲o̲o̲t̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Returns a file descriptor for the root SFD on the specified
volume. The root SFD becomes open for access by the
caller.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GETROOT (FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
VOLUMENAME: VOLUME ̲NAME)
(FILEDECR ̲ROOT: FDCB ̲INDEX,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, IO ̲GETROOT: R6, R0, R1, R4,
R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲GETROOT, R0, R1, R4, R5, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R1 Pointer to VOLUMENAME
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 FILEDECR ̲ROOT
R7 CC
4.1.7.2.1.13 R̲e̲a̲d̲b̲y̲t̲e̲s̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
T̲e̲r̲m̲i̲n̲a̲l̲s̲
It is checked that FD identifies a connection from
the caller to a subdevice of type terminal.
Caller's access rights are checked.
It is checked that the function is called from a CPU
level not lower than the access level for the terminal
(Log. VDUs cannot be accessed directly).
The function reads one logical block of data from a
terminal.
The device handler corresponding to the terminal is
called to enable input. The data is delivered into
a buffer supplied by the caller. The amount of data
transferred will be one logical block of data (protocol
dependent) but at most the length specified in FILADD.
The FIRST ̲BYTE in FILADD is ignored but should for
compatibility with the FMS command be set to zero at
first read (and will be updated subsequently)
F̲i̲l̲e̲s̲
Reads a sequence of bytes from the specified file into
a buffer supplied by the caller.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) READBYTES (CONID: USER ̲CONNECTION ̲TYPE
FILADD: FILE ̲ADDRESS,
BLE: BUFFER ̲LIST ̲ELEMENT)
(FILADD: FILE ̲ADDRESS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
Note: BLE is the first BLE in a chain.
b1) MON (SCM, SYSCALL, IO ̲READBYTES: R6, R1, R2, R4,
R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲READBYTES, R1, R3, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILADD
R2 Pointer to BLE
R4 CONID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.14 M̲o̲d̲i̲f̲y̲b̲y̲t̲e̲s̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
T̲e̲r̲m̲i̲n̲a̲l̲s̲
MODIFYBYTES should not be used on terminals.
F̲i̲l̲e̲s̲
Modifies a sequence of bytes in the specified file,
with the contents of the buffer specified.
If (some of) the bytes in the byte sequence are not
part of the file, the size is increased to the file
position of the byte sequence plus the number of bytes
in the buffer. The file position (i.e. FIRST ̲BYTE)
may not exceed the size of the file before the call.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) MODIFYBYTES (FILEDECR: FDCB ̲INDEX,
FILADD: FILE ̲ADDRESS
BLE: BUFFER ̲LIST ̲ELEMENT)
(FILADD: FILE ̲ADDRESS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
Note: BLE is the first BLE in a chain.
b1) MON (SCM, SYSCALL, IO ̲MODIFYBYTES: R6, R1, R2,
R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲MODIFYBYTES, R1, R2, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILADD
R2 Pointer to BLE
R4 FILEDECR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.1.15 A̲p̲p̲e̲n̲d̲b̲y̲t̲e̲s̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
T̲e̲r̲m̲i̲n̲a̲l̲s̲
It is checked that FD identifies a connection from
the caller to a subdevice of type terminal.
Caller's access rights are checked.
It is checked that the function is called from a CPU
level not lower than the access level for the terminal
(i.e. VDUs cannot be directly accessed).
The function is used to output data to a terminal.
The device handler for the terminal is called to output
data.
"Append ̲bytes" is equivalent to "modify ̲bytes" with
an u̲n̲d̲e̲f̲i̲n̲e̲d̲ FIRST ̲BYTE.
F̲i̲l̲e̲s̲
Appends the contents of the buffer to the file. The
size of the file is increased with the number of bytes
in the buffer.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) APPENDBYTES (CONID: USER ̲CONNECTION ̲TYPE
FILADD: FILE ̲ADDRESS,
BLE: BUFFER ̲LIST ̲ELEMENT)
(FILADD: FILE ̲ADDRESS,
CC: COMPLETION ̲CODE):
ERROR ̲OK
Note: BLE is the first BLE in a chain.
b1) MON (SCM, SYSCALL, IO ̲APPENDBYTES: R6, R1, R2,
R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, IO ̲APPENDBYTES, R1, R2, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILADD
R2 Pointer to BLE
R4 CONID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
4.1.7.2.2 D̲a̲t̲a̲ ̲T̲r̲a̲n̲s̲p̲o̲r̲t̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The data transport to/from a terminal is exercised
by calling the IOS procedures.
APPEND BYTES
READ BYTES
The buffer content, which is a logical contiguous byte
string either specified to the IOS or returned from
the IOS is formatted as specified below.
The start byte identifies the start of a record. It
may also occur in data, but only when flagged as control
characters.
The Byte Count gives the length of Data (so that total
length is bytecount + 3). The maximum length is dependent
on the interfaced line.
The flag byte give the type of the data transferred.
It may be a line or a field or a string of control
characters. If a line of text has not been terminated
in a normal way the Flag Byte indicates this. Three
ways of abnormal termination may be identified.
a) The line is not terminated by the normal character
sequence, but by a different sequence (control
characters). The line is defined as data and a
new record is initiated (control type).
b) The line length exceeds the predefined length.
The line is defined as data and a new record is
initiated.
c) An unexpected V24 line status change or a key on/off
or a timeout (more than predefined time interval
between two characters) detected. The current record
is terminated as a data record and the IO request
is terminated with an error code indicating the
reason for termination.
The general layout of the buffer is presented in figure
4.1.7.2.2-1.
Figure 4.1.7.2.2-1
FLAG BYTE VALUES
0 Normal data (ASCII HEX 20 to HEX 7F)
1 Line or Field (ASCII HEX 20 to HEX 7F). For
incoming (CR, CR, LF) or (CR, LF) or other
separator detected.
For outgoing the sequence as specified is attached.
2 Spare
3 Spare
4 Control sequences from/to application to/from
device/line.
5 Control sequence from/to Application to/from
IOC start of message
6 Do - end of message
7 ACK
4.1.7.2.2.1 M̲e̲d̲i̲u̲m̲ ̲S̲p̲e̲e̲d̲ ̲T̲e̲l̲e̲p̲r̲i̲n̲t̲e̲r̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The Medium Speed Teleprinter is interfaced by use of
IOS APPEND BYTES with record types as shown in figure
4.1.6.2.2.1-1.
If the key is off or the application has no open connection
to the terminal an error code will be returned.
The MSTP interface accepts types 0, 1, 4.
figure 4.1.7.2.2.1-1
4.1.7.2.2.2 P̲T̲P̲/̲P̲T̲R̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The PTP is interfaced by use of IOS APPEND BYTES with
record types as shown in figure 4.1.6.2.2.2-1. If the
key is off or the application has no open connection
to the terminal, an error will be returned.
The PTP interface accepts types 0, 1, 4.
The PTR is interfaced by use of IOS READ BYTES. Received
records will be type 0, 1 or 4 as shown in figure 4.1.6.2.2.2-2.
If the application has no open connection to the terminal
an error code is returned.
The conventions for ITA 5 input processing for PTR
are as follows:
Characters are normally collected in type 1 records,
where either the sequence "CR, CR, LF" or "CR, LF"
is used as separator.
Where more than 69 characters have been received without
this termination of line, they are collected in a type
0 record and a new count is initiated. Occurrence of
any other control characters than above line termination
leads to an immediate recording of already received
characters into a type 0 and collection of control
characters in type 4 (except superfluous SI,SO which
are delete). If a control sequence is longer than 69
characters it will be collected in a type 4 record
and new record will start. If normal characters (1
or more) are received, record type 4 is terminated
and a type 0 or 1 started.
An application input is terminated on:
Message End received, Message Start received (except
just after Message End, Break of 30 seconds (except
just after Message End).
An I/O is further terminated on device failure.
If no application IO request is present, characters
received from the PTR are lost.
For lines operating in ITA 2, the same rules apply,
except that Shift In and Shift Out characters are allowed
to determine the meaning of next characters. Superfluous
Letter shift or Figure shift are deleted as described
above.
Fig. 4.1.7.2.2.2-1 PTP Interface
Fig. 4.1.7.2.2.2-2 PTR Interface
4.1.7.2.2.3 T̲R̲C̲,̲ ̲P̲o̲i̲n̲t̲ ̲t̲o̲ ̲P̲o̲i̲n̲t̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The TRC and P to P are interfaced by use of the IOS
APPEND BYTES and READ BYTES with record types identical
to the ones shown for PTP/PTR in section 4.1.6.2.2.2.
4.1.7.2.2.4 O̲C̲R̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The OCR is interfaced by use of IOS READ BYTES. Received
records will be type 0, 1, 4, 5, or 6 as shown in figure
4.1.6.2.2.4-1. If the application has no open connection
an error code is returned.
The conventions for ITA 5 input processing for OCR
are as follows:
Characters are normally collected in type 1 records,
where either the sequence "CR, CR, LF" or "CR, LF"
is used as separator. When more than 69 characters
have been received without this termination of line,
they are collected in a type 0 record and a new count
initiated. Occurence of any other control character
(-sequence) than above line termination leads to an
immediate recording of already received info in type
0 and collection of control chars in type 4. If a control
charseq. is longer than 69 it is divided into several
of max length 69. The first occurence of a non-control
character terminates the type 4 record and starts building
a type 0 or 1. Control characters ETB are not returned
to the application.
Fig. 4.1.7.2.2.4-1
4.1.7.2.2.5 N̲I̲C̲S̲-̲T̲A̲R̲E̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The input is obtained by use of READ BYTES. Received
records will be type 0, 1, 4, 5 or 6, where 0, 1 and
4 are resulting from decoding of message text and 5
and 6 are indicating start and end of message respectively.
An error is returned if the application has no open
connection to the terminal or if a fatal error has
occured on the link.
The input conversion is shown in fig. 4.1.7.2.2.5.
Output is performed by using IOS APPEND BYTES. Allowed
record types are 0, 1, 4, 5 and 6. The output conversion
is the inverse of the input conversion. An error code
will be returned if the record length is not identical
to the one specified.
The interface to NICS ̲TARE is implemented via 3 connections,
one for Data (input+output), one for acknowledges (output
only) and one for LCB!s (input+output).
Fig. 4.1.7.2.2.5 NICS-TARE Data Interface
4.1.7.2.2.6 C̲C̲I̲S̲/̲S̲C̲A̲R̲S̲ ̲D̲a̲t̲a̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The input is obtained by use of READ BYTES. Received
records will be of type 0, 1, 4, 5 or 6, where 0, 1
and 4 are are resulting from decoding of the message
text and 5 and 6 are indicating start and end of message
respectively.
An error is returned if the application has no open
connection to the terminal or if the message control
field of the protocol is in error (i.e. blocks out
of sequence, precedence and type changed). Message
control field errors following blocks are ignored.
The input conversion is shown in fig. 4.1.7.2.2.6.
Output is performed by using the IOS APPEND BYTES.
Allowed record type are 0, 1, 4, 5 and 6. The output
conversion is the inverse of the input conversion.
An error code will be returned to the requestor (e.g.
THP) if the record length is not identical to the one
specified.
Fig. 4.1.7.2.2.6 CCIS/SCARS Data Interface
4.1.7.2.3 F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The FORMAT HANDLER is a set of monitor procedures called
via the System Call Monitor.
For each of the below specified interface routines,
the application may issue all system call monitor functions:
INIT, WAIT, CANCEL, WAIT NEXT.
The interface routines can be grouped into two major
groups:
- Process oriented interface.
- VDU split oriented interface.
Format Handler Definitions, Adat. - P3 extensions
1) Any number of consecutive Format Lines may be defined
as a line group.
2) A Format Line can only belong to one line group.
3) A Linegroup is consecutive to another Linegroup
if the Format Line number of the first line of
the Linegroup is one superior to the last Format
Line of the other Linegroup.
4) A consecutive set of Format Lines are consecutive
to a Linegroup if the last Format Line in the Linegroup
is one below the first Format-line in the set.
5) Similar for Format Lines following a Linegroup.
6) A Linegroup is defined as a set of consecutive
Linegroups and/or Format Lines.
7) A Linegroup may only belong to one other Linegroup.
8) A Format Line/Linegroup may be repeated or deleted
as long as any repetition has not taken place in
higher levels of Linegroup definitions.
9) A repetition of a Linegroup copies exactly the
Format layout for the Linegroup of the moment of
the repetition request with all fields in the repeated
area empty.
4.1.7.2.3.1 I̲n̲i̲t̲ ̲F̲o̲r̲m̲a̲t̲
Input: Maximum number of splits handled
FDCB of main catalogue
Format file name
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INIT ̲FORMAT (SPLITS: SPLITS ̲TYPE,
FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲INIT ̲FORMAT: R6, R1, R7,
R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲INIT ̲FORMAT, R1, R2, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R2 SPLITS
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal.
4.1.7.2.3.2 D̲e̲f̲i̲n̲e̲ ̲F̲o̲r̲m̲a̲t̲ ̲A̲r̲e̲a̲
Initialization. The first call for handling a split
defines the format area to be used for this interface.
The reserved format area remains reserved, but it is
possible to handle a different VDU split via the interface.
To handle a different VDU-split, the Remove Terminal
function must be called, followed by a renewed Init.
Terminal.
Input: Maximum size of control tables ever to be handled
via this interface.
Maximum size of buffer ever to be used via
this interface.
Output: Done + interface number (IFCB index).
The interface number (IFCB index) must be supplied
for all access defined below because it eventually
defines the actual format file used and the actual
split. The DEFINE FORMAT AREA establishes a control
structure in the FORMAT HANDLER for handling one split
and should only be called once, whereas format file
and actual split identification can be changed.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DEFINE ̲FORMAT ̲AREA (AREA ̲REC: FORMAT ̲AREA
̲REC
SPLIT ̲SIZE: INTEGER)
(INTERFACE ̲NO: IFCB ̲INDEX,
CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, FH ̲DEFINE ̲FORMAT ̲AREA: R6,R1,R2,R3,R5,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲DEFINE ̲FORMAT ̲AREA: R1,R2,R3,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 Pointer AREA ̲REC
R3 SPLIT ̲SIZE
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.3.3 I̲n̲i̲t̲ ̲T̲e̲r̲m̲i̲n̲a̲l̲
The INIT TERMINAL defines to the format handler which
VDU split is handled via this interface.
Input: Interface # (IFCB index)
File System Name for TMS of Terminal
Control Offer ID
Data Offer ID
Output: Done
The terminal (split) used may be redefined by use of
REMOVE TERMINAL and a renewed INIT TERMINAL.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FORMAT ̲INIT ̲TERMINAL (INTERFACE ̲NO: IFCB ̲INDEX,
FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
CONT ̲ID: OFFER ̲ID,
DATA ̲ID: OFFER ̲ID)
(CC: COMPLETION CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲INIT ̲TERMINAL: R6,R0,R1,R3,R4,R8,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲INIT ̲TERMINAL: R0,R1,R3,R4,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R1 INTERFACE ̲NO
R3 CONT ̲ID
R4 DATA ̲ID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.3.4 R̲e̲m̲o̲v̲e̲ ̲T̲e̲r̲m̲i̲n̲a̲l̲
Input: Interface # (IFCB index)
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) REMOVE ̲TERMINAL (INTERFACE ̲NO: IFCD ̲INDEX)
(CC: COMPLETION ̲COPE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲REMOVE ̲TERMINAL: R6, R1,
R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲REMOVE ̲TERMINAL, R1, R5, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors fatal
4.1.7.2.3.5 G̲e̲t̲ ̲F̲o̲r̲m̲a̲t̲
The format handling functions are used to get and change
formats and output them onto the VDU split.
The GET FORMAT defines a format on the already defined
format file and reads-in the control tables.
Input: Interface # (IFCB index)
Format ID.
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲FORMAT (INTERFACE ̲NO: IFCB ̲INDEX)
FORMAT ̲ID: FORMAT ̲ID ̲TYPE)
(CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, FH ̲GET ̲FORMAT: R6,R1,R3,R5,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲GET ̲FORMAT, R1, R3,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R1 INTERFACE ̲NO
R2 Pointer to FORMAT ̲ID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.3.6 O̲u̲t̲p̲u̲t̲ ̲F̲o̲r̲m̲a̲t̲
The OUTPUT FORMAT transfers the format from the defined
format file to the defined VDU split.
Input: Interface # (IFCB index).
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) OUTPUT ̲FORMAT (INTERFACE ̲NO: IFCD ̲INDEX)
(CC: COMPLETION ̲CODE): ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲OUTPUT ̲FORMAT: R6, R1, R5,
R7)
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲OUTPUT ̲FORMAT R1, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than above fatal
4.1.7.2.3.7 I̲n̲s̲e̲r̲t̲ ̲L̲i̲n̲e̲s̲
The INSERT LINES changes a format, either before it
has been output or after.
Input: Interface # (IFCB index)
Line number
Line incarnation number
Number of lines.
Output: Done
VDU split failed
The incarnation number is the identification of the
last line not shifted down. In order to insert one
or more lines above an already defined set, incarnation
must be set to zero.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INSERT ̲LINES (INTERFACE ̲NO: IFCB ̲INDEX,
LINE ̲NUMBER: LINE ̲NUMBER ̲TYPE,
INCARNATION ̲NUMBER: INCARNATION ̲NUMBER
̲TYPE,
NUMBER
OF
LINES:
INTEGER)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL
FH ̲INSERT ̲LINES: R6, R1, R2, R3, R4,
R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲INSERT ̲LINES, R1,R2,R3,R4,R5,R6,R7):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 LINE ̲NUMBER
R3 INCARNATION ̲NUMBER
R4 NUMBER ̲OF ̲LINES
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, INSERT ̲NOT ̲ALLOWED,
VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Others than above listed are fatal
4.1.7.2.3.8 D̲e̲l̲e̲t̲e̲ ̲L̲i̲n̲e̲s̲
The DELETE LINES changes a format, either before it
has been output or after.
Input: Interface # (IFCB index)
Line number
Line incarnation number
Number of lines.
Output: Done
VUD split failed
In order to delete all lines below a specified line,
the number of lines should be defined to zero. If
too many lines specified, the maximum will be deleted.
Note that the issuing of Insert or Delete Lines on
a format after the format has been output implies output
to the VDU.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DELETE ̲LINES (INTERFACE ̲NO: IFCB ̲INDEX,
LINE ̲NUMBER: LINE ̲NUMBER ̲TYPE,
INCARNATION ̲NUMBER: INCARNATION ̲NUMBER
̲
TYPE,
NUMBER ̲OF ̲LINES: INTEGER)
(CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, FH ̲DELETE ̲LINES: R6,R1,R2,R3,R4,R5,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲DELETE ̲LINES, R1,R2,R3,R4,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 LINE ̲NUMBER
R3 INCARNATION ̲NUMBER
R4 NUMBER OF LINES
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, DELETE ̲NOT ̲ALLOWED,
VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All but the ones above are fatal
4.1.7.2.3.9 F̲i̲e̲l̲d̲ ̲O̲u̲t̲p̲u̲t̲
The field handling functions are performing input and
output of fields.
Fields are transferred from / to the application buffers.
The interface is based on a definition of a field buffer
and a field list buffer as shown in fig. 4.1.7.2.3-1.
For output, the fields are taken as specified in the
field list, assuming that the fields are sequenced
in the Buffer as defined in the field list. The Buffer
is the consecutive byte string defined by buffer 1,
buffer 2 and buffer 3.
For input, the field content is put into the Buffer
defined as above and the field list is constructed
reflecting the content of the Buffer.
The layout of the field list is shown in fig. 4.1.7.2.3-2
and the Buffer in fig. 4.1.7.2.3-3.
The Number of bytes is the byte length of the transfer
(i.e. the example the length of record 1 + record 2
+ record 3 + record 4 but excluding the unused part
of Buffer 2).
FIGURE 4.1.7.2.3-1
FIELD TRANSFER INTERFACE
FIGURE 4.1.7.2.3-2
FIELD LIST LAYOUT
FIGURE 4.1.7.2.3-3
BUFFER LAYOUT
Input: Interface # (IFCB index)
Pointer Field List
Pointer BLE list
Number of fields.
Byte length of buffer
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FIELDS ̲OUTPUT (INTERFACE ̲NO: IFCB ̲INDEX,
FIELD ̲LIST: FIELD ̲LIST ̲TYPE,
BLE: BUFFER ̲LIST ELEMENT,
NUMBER ̲OF ̲FIELDS: INTEGER,
BYTE ̲LENGTH: BYTE ̲LENGTH ̲TYPE)
(CC: COMPLETION ̲CODE): ERROR ̲OK
b1) MON (SCM, SYSCALL; FH ̲FIELDS ̲OUTPUT: R6, R0, R1,
R2, R3,
R4, R5, R7): ERROR
̲OK
b2) COMON (CSYSCALL, FH ̲FIELDS ̲OUTPUT, R0, R1, R2,
R3, R4, R5,
R7, R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 BYTE ̲LENGTH Buffer length in total
R1 INTERFACE ̲NO
R2 Pointer to BLE
R3 Pointer to FIELD ̲LIST
R4 NUMBER ̲OF ̲FIELDS
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than above mentioned are fatal.
4.1.7.2.3.10 H̲i̲g̲h̲ ̲P̲r̲i̲o̲r̲i̲t̲y̲ ̲F̲i̲e̲l̲d̲s̲ ̲O̲u̲t̲p̲u̲t̲
The same functions as for Fields Output are performed.
In addition the keyboard is locked and the inhibit
cursor is restored before execution of the functions.
Input: Interface # (IFCB index)
Pointer Field List
Pointer BLE List
Number of fields
Byte length of buffer
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) HIGH ̲PRI ̲FIELDS ̲OUTPUT (INTERFACE ̲NO: IFCB ̲INDEX,
FIELD ̲LIST: FIELD ̲LIST
̲TYPE,
BLE: BUFFER ̲LIST ELEMENT,
NUMBER ̲OF ̲FIELDS: INTEGER,
BYTE ̲LENGTH: BYTE ̲LENGTH
̲TYPE)
(CC: COMPLETION ̲CODE): ERROR
̲OK
b1) MON (SCM, SYSCALL; FH ̲HIGH ̲PRI ̲FIELDS ̲OUTPUT: R6,
R0, R1,
R2, R3, R4, R5, R7): ERROR
̲OK
b2) COMON (CSYSCALL, FH ̲HIGH ̲PRI ̲FIELDS ̲OUTPUT: R0,
R1, R2,
R3, R4, R5, R6, R7): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 BYTE ̲LENGTH Buffer length in total
R1 INTERFACE ̲NO
R2 Pointer to BLE
R3 Pointer to FIELD ̲LIST
R4 NUMBER ̲OF ̲FIELDS
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than above mentioned are fatal.
4.1.7.2.3.11 F̲i̲e̲l̲d̲ ̲I̲n̲p̲u̲t̲
Input: Interface # (IFCB index)
Pointer empty field list
Pointer BLE list
First field
Number of fields.
Output: Field list filled, Buffer filled,
Bytes transferred filled,
Fields transferred = Number of fields)
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FIELDS ̲INPUT ( INTERFACE ̲NO: IFCB ̲INDEX,
BLE: BUFFER ̲LIST ̲ELEMENT,
FIRST ̲FIELD: FIELD ̲DESCRIPTOR ̲TYPE,
NUMBER ̲OF ̲FIELDS: INTEGER)
(BYTES ̲TRANSFERRED: BYTE ̲LENGTH ̲TYPE,
FIELD ̲LIST: FIELD ̲LIST ̲TYPE,
CC: COMPLETION CODE): ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲FIELDS ̲INPUT: R6, R0, R1,
R2, R3,
R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲FIELDS ̲INPUT; R0, R1, R2, R3,
R4, R5,
R7, R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FIRST
̲FIELD
R1 INTERFACE ̲NO
R2 Pointer to BLE
R3 Pointer to FIELD
̲LIST
R4 NUMBER ̲OF ̲FIELDS
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 BYTES ̲TRANSFERRED
R7 CC (OK,
VDU ̲SPLIT ̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All but above fatal.
The number of fields indicates the length of the field
list for both output and input.
4.1.7.2.3.12 C̲h̲a̲n̲g̲e̲ ̲F̲i̲e̲l̲d̲ ̲A̲t̲t̲r̲
The CHANGE FIELD ATTR is used to highlight a field
to the operator. Attributes can be defined with numeric
values as defined below. Combined attributes are obtained
by summing the numeric values:
Strike Through
Non Display
Half Intensity
Reverse Video
Dotted Underline
Blink
Input: Interface # (IFCB index)
Line Number
Incarnation Number
Field Number.
New attributes
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) CHANGE ̲FIELD ̲ATTR (INTERFACE ̲NO: IFCB ̲INDEX,
FIELD: FIELD ̲DESCRIPTOR ̲TYPE,
NEW ̲ATTR: FIELD ̲ATTR ̲TYPE)
(CC: COMPLETION ̲CODE): ERROR
̲OK
b1) MON (SCM, SYSCALL, FH ̲CHANGE ̲FIELD ̲ATTR: R6, R0,
R1, R3,
R5, R7): ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲CHANGE ̲FIELD ̲ATTR, R0, R1,
R3, R5, R7
R6): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FIELD
R1 INTERFACE ̲NO
R2 NEW ̲ATTR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT
̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All but above are fatal.
4.1.7.2.3.13 G̲e̲t̲ ̲C̲u̲r̲s̲o̲r̲ ̲P̲o̲s̲i̲t̲i̲o̲n̲
This function is used to obtain the cursor position.
If possible, the field identification and number of
lines displayed in split above the cursor line are
returned.
Input: Interface # (IFCB index)
Output: Line number, Incarnation number, field
number, number of lines above cursor-line
Error.
If the cursor is positioned in a formatted line but
not in a field, the line and incarnation number will
be OK, but field number zero.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲CURSOR ̲POSITION (INTERFACE ̲NO: IFCB ̲INDEX)
FIELD: FIELD ̲DESCRIPTOR ̲TYPES)
LINES ̲ABOVE: INTEGER,
CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, FH ̲GET ̲CURSOR ̲POSITION: R6,
R0, R1,
R2, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲GET ̲CURSOR ̲POSITION, R0, R1,
R3, R5,
R7, R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to Field
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 LINES ̲ABOVE
R7 CC (OK, CURSOR ̲NOT ̲IN ̲FORMATTED ̲LINE,
CURSOR ̲NOT ̲IN ̲FIELD,
VDU ̲SPLIT ̲FAILED)
4.1.7.2.3.14 S̲e̲t̲ ̲C̲u̲r̲s̲o̲r̲ ̲P̲o̲s̲i̲t̲i̲o̲n̲
INPUT: Interface # (IFCB index)
Line number
Incarnation number
Field number
Number of lines above cursor.
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SET ̲CURSOR ̲POSITION (INTERFACE ̲NO: IFCB ̲INDEX,
FIELD: FIELD ̲DESCRIPTOR ̲TYPE,
LINES ̲ABOVE: INTEGER)
(CC: COMPLETION CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲SET ̲CURSOR ̲POSITION: R6,
R0, R2,
R5, R7): ERROR
̲OK
b2) COMON (CSYSCALL, FH ̲SET ̲CURSOR ̲POSITION, R0, R1,
R3, R5,
R7, R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FIELD
R1 INTERFACE ̲NO
R2 LINES ̲ABOVE
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT
̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other errors are fatal.
4.1.7.2.3.15 S̲e̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲
The control functions are used to ring the bell, clear
split and to receive function keys.
Input: Interface # (IFCB index)
Code "Bell" or "Clear Split".
Output: VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SEND ̲CONTROL (INTERFACE ̲NO: IFCB ̲INDEX,
CMD: SEND ̲CONTROL ̲COMMAND): ERROR
̲OK
b1) MON (SCM, SYSCALL, FH ̲SEND ̲CONTROL: R6, R1, R3,
R5, R7):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R1 INTERFACE ̲NO
R2 CMD
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT
̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other errors fatal
4.1.7.2.3.16 R̲e̲c̲e̲i̲v̲e̲ ̲C̲o̲n̲t̲r̲o̲l̲
Input: Interface # (IFCB index).
Output: Function key identification
Priority override
VDU split failed
The priority override is returned when a split
with higher priority has claimed function keys
by Receive-Control.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) RECEIVE ̲CONTROL (INTERFACE ̲NO: IFCB ̲INDEX)
(KEY: FUNCTION ̲KEY,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲RECEIVE ̲CONTROL: R6, R0,
R1, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲RECEIVE ̲CONTROL, R0, R1, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 KEY
R7 CC (OK, VDU ̲SPLIT
̲FAILED)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All but the above listed are fatal
The functions to control formats and fields and SEND
CONTROL are mutually exclusive (i.e. cannot be pending
simultaneously), but a pending RECEIVE CONTROL is allowed.
4.1.7.2.3.17 I̲n̲s̲e̲r̲t̲ ̲L̲i̲n̲e̲ ̲G̲r̲o̲u̲p̲
The function inserts one copy of the Linegroup after
the specified incarnation of the Linegroup. Incarnation
zero means insertion in front of the already existing
incarnation of the Linegroup.
Insertion can only be performed if no repetition has
been performed on Linegroups containing this Linegroup.
Input: Interface#
Linegroup#
Incarnation#
Output: Done
VUD split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INSERT ̲LINE ̲GROUP (INTERFACE ̲NO: IFCB ̲INDEX,
GROUP: GROUP ̲NUMBER ̲TYPE,
INCARNATION: INCARNATION ̲NUMBER
̲TYPE
(CC: COMPLETION ̲CODE): ERROR
̲OK
b1) MON (SCM, SYSCALL, FH ̲INSERT ̲LINE ̲GROUP: R6, R1,
R2, R3,
R5, R7): ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲INSERT ̲LINE ̲GROUP, R1, R2,
R3, R5,
R7, R6): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 GROUP
R3 INCARNATION
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VUD ̲SPLIT
̲FAILED)
4.1.7.2.3.18 D̲e̲l̲e̲t̲e̲ ̲L̲i̲n̲e̲ ̲G̲r̲o̲u̲p̲
This function deletes the specified incarnation of
a Linegroup.
Deletion is only allowed if no repetition has been
performed on Linegroup containing this Linegroup.
Input: Interface#
Linegroup#
Incarnation#
Output: Done
VDU split failed
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DELETE ̲LINE ̲GROUP (INTERFACE ̲NO: IFCB ̲INDEX,
1 GROUP: GROUP ̲NUMBER ̲TYPE,
INCARNATION: INCARNATION ̲NUMBER
̲
TYPE)
(CC: COMPLETION ̲CODE): ERROR
̲OK
b1) MON (SCM, SYSCALL, FH ̲DELETE ̲LINE ̲GROUP: R6, R1,
R2, R3,
R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲DELETE ̲LINE ̲GROUP, R1, R2,
R3, R5, R7,
R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 GROUP
R3 INCARNATION
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT ̲FAILED)
4.1.7.2.3.19 G̲e̲t̲ ̲C̲u̲r̲s̲o̲r̲ ̲G̲r̲o̲u̲p̲ ̲P̲o̲s̲i̲t̲i̲o̲n̲
This function returns the group and incarnation of
the first(lowest) group in the hierarchy of Linegroups
where insert/delete is allowed.
Input: Interface#
Output: Group number
Incarnation
or
VDU split failed
Cursor not in Linegroup
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲CURSOR ̲GROUP ̲POSITION (INTERFACE ̲NO: IFCB ̲INDEX)
(GROUP: GROUP ̲NUMBER
̲TYPE,
INCARNATION: INCARNATION
̲NUMBER ̲
TYPE,
CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, FH ̲GET ̲CURSOR ̲GROUP ̲POSITION:
R6,
R1, R2, R3, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲GET ̲CURSOR ̲GROUP ̲POSITION,
R1, R2, R3, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 GROUP
R3 INCARNATION
R4 CC (OK, CURSOR ̲NOT ̲IN ̲GROUP,
VUD ̲SPLIT ̲FAILED)
4.1.7.2.3.20 B̲u̲i̲l̲d̲ ̲A̲D̲A̲T̲ ̲P̲3̲ ̲T̲a̲b̲l̲e̲
The Build ADAT P3 Table is used to build up a table
describing the layout of a ADAT-P3 format. This function
is called after Get ̲Format and can be called again
if an update of the table is required.
Input: Interface #
Pointer to Table
Output: Number of Groups
Done
Not ADAT P3
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Build ̲ADAT ̲P3 ̲Table (Interface no.: IFCB ̲Index,
Table: Pointer,
CC: Completion Code)
b1) MON (SCM, SYSCALL; FH ̲BUILD ̲ADAT ̲P3 ̲TABLE, R6,
R1, R2,
R3, R7): ERROR
̲OK
b2) COMOM (CSYSCALL, FH ̲BUILD ̲ADAT ̲P3 ̲TABLE, R1, R2,
R3, R7, R6): ERROR ̲OK
N̲o̲t̲e̲:̲ ̲A̲D̲A̲T̲ ̲P̲3̲ ̲F̲o̲r̲m̲a̲t̲
A format is considered to be ADAT ̲P3 format if the
first element of each group is a non-repeatable format
line. All groups are repeatable.
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE NO.
R2 POINTER TO TABLE
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R3 NUMBER OF GROUPS
R7 CC (OK, NOT ̲ADAT ̲P3)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than the above mentioned are fatal.
4.1.7.2.3.21 E̲n̲a̲b̲l̲e̲ ̲D̲a̲t̲a̲ ̲K̲e̲y̲s̲
This function makes the alphanumeric and screen manipulation
keys available to the terminal user provided the split
is called.
Input Interface #
Output None
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ENABLE ̲DATA ̲KEYS (INTERPACE ̲NO: IFCB ̲INDEX)
(CC: COMPLETION)
b1) MON(SEM, SYSCALL, FH ̲ENABLE ̲DATA ̲KEYS: RC,
R1, R5, R7): ERROR ̲OK
b2) COMON(CSYSCALL, FH ̲ENABLE ̲DATA ̲KEYS,
R1, R5, R7, R6): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, VDU ̲SPLIT ̲FAILED)
4.1.7.2.3.22 L̲i̲n̲e̲ ̲S̲i̲z̲e̲
The Line Size is used to calculate the VDU memory consumption
for a line.
Input: Interface #
Line #
Output: Done
VDU memory consumption
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Line ̲Size (INTERFACE NO.: IFCB ̲INDEX
LINE ̲NUMBER: INTEGER
CC: COMPLETION CODE)
b1) MON (SCM, SYSCALL; FH ̲LINE ̲SIZE, R6, R0, R1, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL; FH ̲LINE ̲SIZE, R0, R1, R2, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE NO
R2 LINE NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 VDU MEMORY CONSUMPTION
R7 CONPLETION CODE
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than the above mentioned are fatal.
4.1.7.2.3.23 G̲r̲o̲u̲p̲ ̲S̲i̲z̲e̲
The Group Size is used to calculate the VDU memory
consumption for a group.
Input: Interface #
Line Group #
Output: Done
VDU memory consumption
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Group ̲Size (INTERFACE NO.: IFCB ̲INDEX
LINE GROUP ̲NUMBER: INTEGER
CC: COMPLETION CODE)
b1) MON (SCM, SYSCALL; FH ̲GROUP ̲SIZE, R6, R0, R1, R2,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲GROUP ̲SIZE, R0, R1, R2, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE NO.
R2 LINE GROUP NO.
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 VDU MEMORY CONSUMPTION
R7 COMPLETION CODE (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than the above mentioned are fatal.
4.1.7.2.3.24 R̲e̲m̲a̲i̲n̲i̲n̲g̲ ̲M̲e̲m̲o̲r̲y̲
The Remaining Memory is used to calculate the free
VDU memory.
Input: Interface #
Output: Done
Free Memory
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Remaining Memory (INTERFACE NO.: IFCB ̲INDEX
CC: COMPLETION CODE)
b1) MON (SCM, SYSCALL; FH ̲REMAINING ̲MEMORY, R6, R0,
R1, R2,
R7): ERROR ̲OK
b2) COMON (CSYSCALL, FH ̲REMAINING ̲MEMORY, R0, R1, R2,
R7,
R6): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE NO.
R2
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 FREE MEMORY
R7 COMPLETION CODE (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than the aove mentioned are fatal.
4.1.7.2.4 C̲o̲n̲t̲r̲o̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The Creators (SSC package) control of LTUX Handler
Subpackage, LTUX Function Subpackage, LTU Handler Subpackage,
NICS-TARE LTU Function Subpackage and CCIS-SCARS LTU
Function Subpackage is performed via the IOS commands
to TMS
CREATE ̲SUBDEVICE
APPEND ̲CONTROL
READ ̲CONTROL
DISMANTLE
Asynchronous events are signalled to the SSC on the
synchronization element specified at CREATE ̲SUBDEVICE.
Statistics and status is obtained via Append Control+
Read Control
Setting up of an external interface consists of
Bootload (LTU only)
Create Subdevice: Definition to parent
protocol of essential parameters
Append Control: Definition of LTU/LTUX
parameters
Append Control: Initialization of external
device (VDU only)
Read Control: Response to certain Append Controls
4.1.7.2.4.1 C̲r̲e̲a̲t̲e̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲
Parameters for Create Subdevice are parameters for
the parent. These are the Subdevices Address, the protocol
id, the subdevice resource and speed parameters.
4.1.7.2.4.2 A̲p̲p̲e̲n̲d̲/̲R̲e̲a̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲
In order to be able to specify the meaning of an Append
Control the first word is always giving the type. The
general layout is:
1. - 2.byte Header of control, takes values
SUBDEV: Control of the subdevice
itself
(spare)
LOWER ̲PROTOCOL ̲OUTPUT ̲INPUT:
Combined output and input
to
LTUX or LTU of control information
EXTERNAL ̲DEVICE ̲INPUT: Input of
data
from external device
LOWER ̲PROTOCOL ̲OUTPUT: Output
of con-
trol information to LTU/LTUX
(spare)
EXTERNAL ̲DEVICE ̲OUTPUT: Output
of
data to external device
3. byte Spare = 0
4. - N. byte The actual control information
For LOWER ̲PROTOCOL ̲OUTPUT ̲INPUT Append Control and
Read Control shall always be combined (with the input
request first).
The controls available are for CCIS/SCARS interface
defined by CS ̲COMMAND (refer 4.1.4.3) and for other
by PROT ̲COMMAND.
The meaning is:
PC ̲ENABLE, CS ̲REOPEN: Definition of
LTU/LTUX protocol
parameters
CS ̲SET ̲UP ̲LINES, CS ̲DISC ̲LINES: Setup and take-down
of V24 interface
PC ̲OPEN ̲PROTOCOL Setup V24 and
start protocol
CS ̲SET ̲UP ̲LINK Start outgoing
protocol
CS ̲DISC ̲LINK Disconnect outgoing
protocol
PC ̲CLOSE ̲PROTOCOL Take down protocol
and external
lines (V24)
PC ̲REDEFINE ̲PARAMS Parameter redefinition
CS ̲STATISTIC, PC ̲STATISTICS Obtain Statistics
from LTU/LTUX
PC ̲STATUS, CS ̲READ ̲V24 Status information
on link
PC ̲DEVICE ̲STATUS Status on ext.
device
(e.g. key, paper)
4.1.7.2.4.3 L̲T̲U̲X̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲i̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
O̲p̲e̲n̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲ The parent parameters are as of
the TDX (STI) handler definition.
A̲p̲p̲e̲n̲d̲/̲R̲e̲a̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲
4. - N byte
Refer section 4.2.2.7 bytes 4. - N for Append Control
("Commands to the LTUX")
Refer section 4.2.2.7 bytes 4 - N for Read Control
("Responses to Commands")
For VDU the sequence is
PC ̲ENABLE, PC ̲OPEN ̲PROTOCOL used by a series of Append
Controls with EXTERNAL ̲DEVICE ̲OUTPUT and a PC ̲PREDEFINE
̲PARAMS (switch on converter). For other the followed
sequence is
PC ̲ENABLE, PC ̲OPEN ̲PROTOCOL
The Open Protocol is responded when
VDU, MSTP, PTP/PTR: VDU is powered
and key status
can be obtained
OCR, TRC ̲TP when device is operational (106, 107)
A̲s̲y̲n̲c̲h̲r̲o̲n̲o̲u̲s̲ ̲R̲e̲p̲o̲r̲t̲s̲
Format refer section 4.1.4.2 and record definition
SD ̲OTHER ̲STATUS ̲REC.
V̲D̲U̲
USER ̲ACTION ̲TYPE
M̲S̲T̲P̲
USER ̲ACTION ̲TYPE, DEVICE ̲ACTION ̲TYPE
A̲L̲L̲
SD ̲FAILURE + ERROR CODE(DROP ̲106, DROP ̲107,
OUT ̲RETRANSMISSION, IN ̲RETRANSMISSION,
UNEXPECTED ̲CONTROL ̲CHAR ̲SEQUENCE).
4.1.7.2.4.4 V̲D̲U̲ ̲S̲p̲l̲i̲t̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
O̲p̲e̲n̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲:̲
Subdevice address: Primary split number (1..8)
Additional parameters Word 1: Secondary Split
number
Word 2: Type(VDU ̲DATA,VDU
̲CONTROL)
Word 3: Priority (1..8)
No Append/Read Control
No Asynchronous reports.
4.1.7.2.4.5 L̲T̲U̲ ̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
O̲p̲e̲n̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲ The parent parameters as of the
LTU Handler definitions
A̲p̲p̲e̲n̲d̲/̲R̲e̲a̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲
Refer sections 4.2.3.7.1 and 4.2.3.7.2 for byte 4 -
N and 4 - M in requests and responses.
The command are to NICS-TARE PC ̲COMMAND and CCIS/SCARS
CS ̲COMMANDS.
A̲s̲y̲n̲c̲h̲r̲o̲n̲o̲u̲s̲ ̲R̲e̲p̲o̲r̲t̲s
SD ̲FAILURE + ERROR
NICS-TARE Datatype NICS-TARE ̲FAILURE
CCIS/SCARS Datatype CCIS ̲SCARS ̲FAILURE
SD ̲OTHER ̲STATUS
NICS-TARE Datatype NICS-TARE ̲OTHER
̲STATUS
CCIS/SCARS Datatype CCIS ̲SCARS ̲OTHER
̲STATUS
4.1.7.2.4.6 N̲I̲C̲S̲-̲T̲A̲R̲E̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
O̲p̲e̲n̲ ̲S̲u̲b̲d̲e̲v̲i̲c̲e̲
Subdevice address: (NT ̲DATA, NT ̲LCB, NT ̲ACK)
4.1.7.2.5 P̲r̲i̲n̲t̲e̲r̲ ̲F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The PRINTER FORMAT HANDLER is a set of monitor procedures
called via the System Call Monitor.
For each of the below specified interface routines,
the application may issue all system call monitor functions:
INIT, WAIT, CANCEL, WAIT NEXT.
The interface routines can be grouped into two major
groups:
- Process oriented interface.
- Printer split oriented interface.
Printer Format Handler Definitions, Adat. - P3 extensions
1) Any number of consecutive Format Lines may be defined
as a line group.
2) A Format Line can only belong to one line group.
3) A Linegroup is consecutive to another Linegroup
if the Format Line number of the first line of
the Linegroup is one superior to the last Format
Line of the other Linegroup.
4) A consecutive set of Format Lines are consecutive
to a Linegroup if the last Format Line in the Linegroup
is one below the first Format-line in the set.
5) Similar for Format Lines following a Linegroup.
6) A Linegroup is defined as a set of consecutive
Linegroups and/or Format Lines.
7) A Linegroup may only belong to one other Linegroup.
8) A Format Line/Linegroup may be repeated or deleted
as long as any repetition has not taken place in
higher levels of Linegroup definitions.
9) A repetition of a Linegroup copies exactly the
Format layout for the Linegroup of the moment of
the repetition request with all fields in the repeated
area empty.
4.1.7.2.5.1 I̲n̲i̲t̲ ̲F̲o̲r̲m̲a̲t̲
Input: Maximum number of splits handled
FDCB of main catalogue
Format file name
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INIT ̲FORMAT (SPLITS: SPLITS ̲TYPE,
FILEDECR ̲DIR: FDCB ̲INDEX,
FILENAME: FILE ̲NAME)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, PH ̲INIT ̲FORMAT: R6, R1, R7,
R4, R5, R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲INIT ̲FORMAT, R1, R2, R4, R5,
R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 Pointer to FILENAME
R2 SPLITS
R4 FILEDECR ̲DIR
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal.
4.1.7.2.5.2 D̲e̲f̲i̲n̲e̲ ̲F̲o̲r̲m̲a̲t̲ ̲A̲r̲e̲a̲
Initialization. The first call for handling a split
(printer) defines the format area to be used for this
interface. The reserved format area remains reserved,
but it is possible to handle a different split via
the interface. To handle a different split, the Remove
Printer function must be called, followed by a renewed
Init Printer.
Input: Maximum size of control tables ever to be handled
via this interface.
Maximum size of buffer ever to be used via
this interface.
Output: Done + interface number (IFCB index).
The interface number (IFCB index) must be supplied
for all access defined below because it eventually
defines the actual format file used and the actual
split. The DEFINE FORMAT AREA establishes a control
structure in the PRINTER FORMAT HANDLER for handling
one split and should only be called once, whereas format
file and actual split identification can be changed.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) DEFINE ̲FORMAT ̲AREA (AREA ̲REC: FORMAT ̲AREA
̲REC
(INTERFACE ̲NO: IFCB ̲INDEX,
CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, PH ̲DEFINE ̲FORMAT ̲AREA: R6,R1,R2,R3,R5,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲DEFINE ̲FORMAT ̲AREA: R1,R2,R3,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 Pointer AREA ̲REC
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.5.3 I̲n̲i̲t̲ ̲P̲r̲i̲n̲t̲e̲r̲
The INIT TERMINAL defines to the format handler which
VDU split is handled via this interface.
Input: File System Name for TMS of Printer
Interface # (IFCB index)
Lines per page
Lines between pages
Data Offer ID
Output: Done
The Printer (split) used may be redefined by use of
REMOVE PRINTER and a renewed INIT PRINTER.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INIT ̲PRINTER (FILESYSTEMNAME: FILE ̲SYSTEM ̲NAME,
INTERFACE ̲NO: IFCB ̲INDEX,
LINES PER PAGE: INTEGER
LINES BETWEEN PAGES: INTEGER
DATA ̲ID: OFFER ̲ID
CC: COMPLETION CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, PH ̲INIT ̲PRINTER: R6,R0,R1,R3,R4,R8,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲INIT ̲PRINTER: R0,R1,R3,R4,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to FILESYSTEMNAME
R1 INTERFACE ̲NO
R2 LINES PER PAGES
R3 LINES BETWEEN PAGES
R4 DATA ̲ID
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.5.4 R̲e̲m̲o̲v̲e̲ ̲P̲r̲i̲n̲t̲e̲r̲
Input: Interface # (IFCB index)
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) REMOVE ̲PRINTER (INTERFACE ̲NO: IFCD ̲INDEX)
(CC: COMPLETION ̲COPE):
ERROR ̲OK
b1) MON (SCM, SYSCALL, PH ̲REMOVE ̲PRINTER: R6, R1, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲REMOVE ̲PRINTER, R1, R5, R7,
R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors fatal
4.1.7.2.5.5 G̲e̲t̲ ̲F̲o̲r̲m̲a̲t̲
The format handling functions are used to get and change
formats and output them onto the Printer (split).
The GET FORMAT defines a format on the already defined
format file and reads-in the control tables.
Input: Page Head
Interface # (IFCB index)
Format ID.
Page Trail
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲FORMAT (Page Head: Page ̲Data.HEADER
INTERFACE ̲NO: IFCB ̲INDEX)
FORMAT ̲ID: FORMAT ̲ID ̲TYPE)
Page Trail: Page ̲Data.TRAILER
(CC: COMPLETION ̲CODE)
b1) MON (SCM, SYSCALL, PH ̲GET ̲FORMAT: R6,R1,R3,R5,R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲GET ̲FORMAT, R0, R1, R3,R5,R7,R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 Pointer to PAGE HEAD
R1 INTERFACE ̲NO
R2 Pointer to FORMAT ̲ID
R3 Pointer to PAGE TRAIL
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
All errors are fatal
4.1.7.2.5.6 F̲i̲e̲l̲d̲ ̲O̲u̲t̲p̲u̲t̲
Fields are transferred from the application buffers.
The interface is based on a definition of a field buffer
and a field list buffer as shown in fig. 4.1.7.2.3-1.
The fields are taken as specified in the field list,
assuming that the fields are sequenced in the Buffer
as defined in the field list merged into the format
specified by Get ̲Format and transferred to the printer
(split).
The Buffer is the consecutive byte string defined by
buffer 1, buffer 2 and buffer 3.
The layout of the field list is shown in fig. 4.1.7.2.3-2
and the Buffer in fig. 4.1.7.2.3-3.
The Number of bytes is the byte length of the transfer
(i.e. the example the length of record 1 + record 2
+ record 3 + record 4 but excluding the unused part
of Buffer 2).
The transforming of fields including the format is
terminated by Output ̲Format.
Input: Interface # (IFCB index)
Pointer Field List
Pointer BLE list
Number of fields.
Byte length of buffer
Output: Done
Printer failed
Paper Out
Cancelled
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FIELDS ̲OUTPUT (INTERFACE ̲NO: IFCB ̲INDEX,
FIELD ̲LIST: FIELD ̲LIST ̲TYPE,
BLE: BUFFER ̲LIST ELEMENT,
NUMBER ̲OF ̲FIELDS: INTEGER,
BYTE ̲LENGTH: BYTE ̲LENGTH ̲TYPE)
(CC: COMPLETION ̲CODE): ERROR ̲OK
b1) MON (SCM, SYSCALL; PH ̲FIELDS ̲OUTPUT: R6, R0, R1,
R2, R3,
R4, R5, R7): ERROR
̲OK
b2) COMON (CSYSCALL, PH ̲FIELDS ̲OUTPUT, R0, R1, R2,
R3, R4, R5,
R7, R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 BYTE ̲LENGTH Buffer length in total
R1 INTERFACE ̲NO
R2 Pointer to BLE
R3 Pointer to FIELD ̲LIST
R4 NUMBER ̲OF ̲FIELDS
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, Paper ̲Out, Cancelled,
Printer ̲Failed)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than above mentioned are fatal.
4.1.7.2.5.7 O̲u̲t̲p̲u̲t̲ ̲F̲o̲r̲m̲a̲t̲
The OUTPUT FORMAT terminats the transfer of fields
including the format to the printer (split).
Input: Interface # (IFCB index).
Output: Done
Printer split failed
Paper out
Cancelled
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) OUTPUT ̲FORMAT (INTERFACE ̲NO: IFCD ̲INDEX)
(CC: COMPLETION ̲CODE): ERROR ̲OK
b1) MON (SCM, SYSCALL, PH ̲OUTPUT ̲FORMAT: R6, R1, R5,
R7)
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲OUTPUT ̲FORMAT R1, R5, R7, R6):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK, Printer ̲Failed
Paper ̲Out, Cancelled)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other than above fatal
4.1.7.2.5.8 I̲n̲s̲e̲r̲t̲ ̲L̲i̲n̲e̲s̲
The INSERT LINES changes a format, before it has been
output.
The incarnation count for the line is just incremented.
Input: Interface # (IFCB index)
Line number
Number of lines.
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INSERT ̲LINES (INTERFACE ̲NO: IFCB ̲INDEX,
LINE ̲NUMBER: LINE ̲NUMBER ̲TYPE,
INCARNATION ̲NUMBER: INCARNATION ̲NUMBER
̲TYPE,
NUMBER
OF
LINES:
INTEGER)
(CC: COMPLETION ̲CODE):
ERROR ̲OK
b1) MON (SCM, SYSCALL
PH ̲INSERT ̲LINES: R6, R1, R2, R4, R5,
R7):
ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲INSERT ̲LINES, R1, R2, R4, R5,
R6, R7):
ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 LINE ̲NUMBER
R4 NUMBER ̲OF ̲LINES
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Others than above listed are fatal
4.1.7.2.5.9 S̲e̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲
The control function is used to ring the bell.
Input: Interface # (IFCB index)
Code "Bell"
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SEND ̲CONTROL (INTERFACE ̲NO: IFCB ̲INDEX,
CMD: SEND ̲CONTROL ̲COMMAND): ERROR
̲OK
b1) MON (SCM, SYSCALL, PH ̲SEND ̲CONTROL: R&, R1, R3,
R5,
R7): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R1 INTERFACE ̲NO
R2 CMD
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
Other errors fatal
4.1.7.2.5.10 I̲n̲s̲e̲r̲t̲ ̲L̲i̲n̲e̲ ̲G̲r̲o̲u̲p̲
The function inserts the specified number of linegroups
after the specified linegroup. The incarnation that
exist for the linegroup is just incremented.
Input: Interface #
Linegroup #
No. of linegroups
Output: Done
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) INSERT ̲LINE ̲GROUP (INTERFACE ̲NO: IFCB ̲INDEX,
GROUP: GROUP ̲NUMBER ̲TYPE,
NO. OF LINEGROUPS: INTEGER,
CC: COMPLETION ̲CODE): ERROR
̲OK
b1) MON (SCM, SYSCALL, PH ̲INSERT ̲LINE ̲GROUP: R6, R1,
R2, R4, R5, R7): ERROR ̲OK
b2) COMON (CSYSCALL, PH ̲INSERT ̲LINE ̲GROUP, R1, R2,
R4, R5, R7, R6): ERROR ̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 INTERFACE ̲NO
R2 GROUP
R4 No. of linegroups
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC (OK)
4.1.7.3 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
4.1.7.3.1 F̲o̲r̲m̲a̲t̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲t̲o̲ ̲L̲T̲U̲X̲ ̲H̲a̲n̲d̲l̲e̲r̲
The interface is via IOS
APPEND ̲BYTES and READ ̲BYTES.
Refer section 4.2.1.7
4.1.7.3.2 L̲T̲U̲X̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲t̲o̲ ̲L̲T̲U̲X̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
Refer section 4.2.2.7
4.1.7.3.3 L̲T̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲t̲o̲ ̲N̲I̲C̲S̲-̲T̲A̲R̲E̲ ̲L̲T̲U̲
F̲u̲n̲c̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
Refer section 4.2.3.7
4.1.7.3.4 L̲T̲U̲ ̲H̲a̲n̲d̲l̲e̲r̲ ̲t̲o̲ ̲C̲C̲I̲S̲/̲S̲C̲A̲R̲S̲ ̲L̲T̲U̲
F̲u̲n̲c̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
Refer section 4.2.3.7.