top - download
⟦072dfa359⟧ Wang Wps File
Length: 31538 (0x7b32)
Types: Wang Wps File
Notes: CPS/SDS/036
Names: »1701A «
Derivation
└─⟦af82dd301⟧ Bits:30006082 8" Wang WCS floppy, CR 0127A
└─ ⟦this⟧ »1701A «
WangText
…00……00……00……00……00……16……02……00……00……16…
…16……06……16……07……15……0c……15……0e……15……0f……15…
…14……09……14……0d……14……01……14… …86…1 …02… …02… …02…
…02…CPS/SDS/036
…02…831220…02……02…
SUPERVISOR PRINTER
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.3 R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
The Request Control Subpackage (RESCO) takes care of
handling the Supervisor system information extract
- and table print-requests.
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̲
The following main function is carried out by this
subpackage:
Generate System Information - Extract - and Table-Print-Items.
The function is broken down in the following subfunctions:
Request Control
Get Requested Information
Buffer Handling
Further breakdown is shown in fig. 4.2.3.1-1
Figure 4.2.3.1-1
4.2.3.2 R̲E̲S̲C̲O̲ ̲S̲o̲t̲f̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The sotfware structure of RESCO is shown in fig. 4.2.3.2.
In the following a description of each module is given.
a) R̲E̲S̲C̲O̲ ̲M̲A̲I̲N̲
The module initialize the coroutine variables and
contains the main loop of the subpackage. It processes
the arriving request queue items. It initializes
print generation for the different request, and
for following request:
Queue status print, table status print and system
parameter print it generates the actual information
and store it in the file SYIE ̲TAB ̲FILE. All requests
are sent to DELCO for delivery.
b) P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲P̲R̲I̲N̲T̲
For all other request than QUEUE ̲STATUS ̲PRINT,
TABLE ̲STATUS ̲PRINT and SYSTEM ̲PARAMETER ̲PRINT this
module generates the actuall information and store
this in the file SYIE ̲TAB ̲FILE.
c) P̲R̲O̲C̲ ̲O̲B̲S̲
All the procedures needed to handle obsolete/unused
are in this module. All procedures gives an indication
whether the current table record shall be printed
or not.
d) P̲R̲O̲C̲ ̲C̲O̲N̲N̲
All the procedures needed to process the different
field types are in this module.
e) P̲R̲O̲C̲ ̲C̲O̲M̲M̲O̲N̲
All the common RESCO procedures are in this module.
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̲
The following HIPO-diagrams and the call structure
figure shows the data flow and control logic of RESCO.
Description of each module can be found in sec. 4.3.3.2.
For more detailed description of the module logic refer
to the module design flowgrams for each module (sec.
4.2.3.4).
Figure 4.2.3.3-1/2/3/4
4.2.3.4 R̲E̲S̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
4.2.3.4.1 R̲E̲S̲C̲O̲ ̲M̲A̲I̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
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 module initializes the coroutine-varibles and contains
the main loop of the subpackage.
It processes the arriving request queue items. It initializes
print generation for the different request, and for
following request:
Queue status print, table status print and system parameter
print. It generates the actual information and stores
this in the file SYIE ̲TAB ̲FILE. All request are sent
to DELCO for delivery.
4.2.3.4.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) RESCO ̲MAIN
b) RESCO ̲MAIN (R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.3.4.1.3.1 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲R̲E̲Q̲Q̲
The procedure are initiates receive of items from SPIP
request queue.
4.2.3.4.1.3.2 P̲R̲O̲C̲ ̲R̲E̲Q̲Q̲ ̲I̲T̲E̲M̲S̲
The procedure receives the item. If the item has buffer
reference the buffer is read. SYIE ̲TAB ̲FILE is initiated
and in case statement the actual procedure/module to
process this request is called. The administration
field is written into the SYIE ̲TAB ̲FILE.
The procedure will repeat sending the request to DELCO
for delivery and awaits the completion of it until
the completion code is okay. If the item received was
with request, reply is sent to the supervisor.
4.2.3.4.1.3.3 P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲S̲T̲A̲T̲U̲S̲
The procedure generates the table status request data
using the arrays TABLE ̲STATUS ̲TXT and TABLE ̲STATUS
̲ID and the constant MAX ̲TABLE ̲OVERFLOW. The output
buffer must be defined big enough to contain all data.
The generated data are written into SYIE ̲TAB ̲FILE and
the counter 1 in the file administration field is updated.
4.2.3.4.1.3.4 P̲R̲O̲C̲ ̲Q̲U̲E̲U̲E̲ ̲S̲T̲A̲T̲U̲S̲
The procedure generates the QUEUE STATUS REQUEST DATA
using the array QUEUE ̲SEGMENT ̲TABLE and the procedure
GET ̲QUEUE ̲INFO.
QUEUE STATUS DATA is generated for the following queues:
MSOS ̲IMQ
MSOS ̲OMQ
MDOS ̲MDQ
The four types of circuit queues, for all user
terminals the queues
RECEIVE
RELEASE
ANSWER, RESPONSE and RETRIEVAL
For all MTP ̲ROPs and LTP ̲ROPs
PRINT QUEUE
For the current DEDICATED ̲PUNCH device
PTP ̲CIRCUIT QUEUE
When the output buffer is full, it is written into
SYIE ̲
TAB ̲FILE.
At last the counters in the FILE ADMINISTRATION FIELD
are updated.
4.2.3.4.1.3.5 G̲E̲T̲ ̲Q̲U̲E̲U̲E̲ ̲I̲N̲F̲O̲
I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲QUEUE ̲INFO (MAIN ̲QUEUE, SUB ̲QUEUE, BLOCK ̲STATE,
POINTER TO QUEUE ̲STATE)()
b) GET ̲QUEUE ̲INFO (R1, R2, R3, R5, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R1 MAIN ̲QUEUE DESTRPYED
R2 SUB ̲QUEUE DESTROYED
R3 BLOCK ̲STATE:BOLEAN DESTROYED
R5 POINTER TO QUEUE ̲STATE KEPT
R6 LINK DESTROYED
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R4, R6-R7 DESTROYED
R5 KEPT
The procedure determine the queue length of the requested
queue. If BLOCK ̲STATE equal true the block state of
the requested queue is determined.
4.2.3.4..1.3.6 P̲R̲O̲C̲ ̲S̲Y̲S̲T̲E̲M̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲
The procedure generates the system parameter request
data using the array SYS ̲PARAM ̲TABLE and the constant
LAST ̲SYSTEM ̲PAR ̲READ. The output buffer must be defined
big enough to contain all data.
The generated data are written into SYIE ̲TAB ̲FILE and
the first counter in the file administration field
is set nil.
4.2.3.4.1.3.7 I̲N̲I̲T̲ ̲T̲A̲B̲L̲E̲ ̲F̲I̲L̲E̲
The procedure resets the SYIE ̲TAB ̲FILE, initiates the
FILE ADMINISTRATION FIELD, and this is written into
the file.
4.2.3.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Ref. SOURCE LISTING
4.2.3.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.3.4.1-1 and 4.2.3.4.1-2.
RESCO ̲MAIN
SET RESCO ̲CLOSED ̲FLAG = FALSE
CASE GET ̲ROOT(MIR ̲MOVING)(ROOT ̲FDCB,CC)
ERROR? ANALYZE ERROR (CC,o)
OK?
END GET ̲ROOT
CASE DESCENT(SYIE ̲TAB ̲FILENAME,ROOT ̲FDCB)
(SYIE ̲TAB ̲FILE ̲INDEX,CC)
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END DESCENT
INIT ̲RECEIVE ̲FROM ̲SPIP ̲REQQ
RESCO ̲MAIN ̲LOOP
WAIT ̲OPSEM(SPIP ̲S3)(OPERATION): OK
CASE OPERATION.ID OF:SPIP ̲OPERATION ̲ID ̲TYPE
DELCO ̲ITEM? PROC ̲DELCO ̲ITEM
(SPIP ̲CLOSE)4.2.3.6
REQQ ̲ITEM? PROC ̲REQQ ̲ITEMS(-2)
OTHERWISE? ERROR ̲REP(INT,GUP,RES,1,0,1,NIL)
END CASE
LABEL RESCO ̲BOTTOM
END ̲RESCO ̲MAIN ̲LOOP
END
Figure 4.2.3.4.1-1
PROC ̲REQQ ̲ITEMS
CASE WAIT ̲SYSTEM ̲CALL(RESCO ̲REQQ ̲OP)
(RESCO ̲INPUT ̲ATTR,
RESCO ̲INPUT ̲QEL
CC):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OKAY?
END CASE
RESCO ̲INPUT ̲ATTR.HEADER.MAINTYPE SUPERVISOR
̲SPIP ̲CMD?
ERROR ̲REP(QER,CON,RES,1,1,1,RESCO ̲INPUT ̲QEL)
REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)
RESCO ̲INPUT ̲ATTR.OBJECT EQ O ̲BUFFER?
CASE READ ̲BUFFER(SIZE(TABLE ̲PRINT ̲BUFFER)1,
RESCO ̲INPUT ̲QEL)
(RESCO ̲READ ̲BUFFER,CC)
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END ̲CASE
INIT ̲TABLE ̲FILE
CASE RESCO ̲INPUT ̲ATTR.HEADER.SUBTYPE OF: SUPV ̲SPIP
̲CMD ̲SUBTYPE
SP ̲TSTP? PROC ̲TABLE ̲STATUS
SP ̲QSTP? PROC ̲QUEUE ̲STATUS
SP ̲SPAP? PROC ̲SYSTEM ̲PARAMETER
SP ̲LPLP, SP ̲LORP, SP ̲SICP, SP ̲SDLP, SP ̲SCDP,
SP ̲AIGP, SP ̲GPLP, SP ̲RITP, SP ̲CIRP,
SP ̲SCCP, SP ̲OPSP, SP ̲PWLT,SP ̲UPPT,
SP ̲TPPT, SP ̲DPPT, SP ̲CPPT, SP ̲CMPT? PROC ̲TABLE
̲PRINT
OTHERWISE? ERROR ̲REP(QER,CON,RES,1,1,2,RESCO
̲INPUT ̲QEL)
REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)
END ̲CASE
Fig. 4.2.3.4.1-2A
UPDATE FILE ̲ADDRESS AND BUFFER ̲LIST ̲ELEMENT TO
OUTPUT FILE HEADER
CASE MODIFYBYTES(SYIE.TAB ̲FILE ̲ADDR,
SYIE ̲TAB ̲FILE ̲BLE,
SYIE ̲TAB ̲FILE ̲INDEX)(CC)
ERROR? ANALYZE ̲ERROR(CC,0)
OKAY?
END CASE
LOOP
CMD ̲TO ̲DELCO
SVUP ̲TO ̲PRT ̲SUBTYPE(RESCO ̲INPUT ̲ATTR.HEADER.
SUBTYPE), PRINT ̲ITEM ̲FOR ̲DELIVERY)
WAIT ̲OPSEM(SPIP ̲S3)(OP)
PROC ̲DELCO ̲ITEM(PRINT ̲ACK ̲FROM ̲PRIS,OP)(OP)
SET RESCO ̲PRT ̲CC = OP.OP ̲DATA1
UNTIL RESCO ̲PRT ̲CC = EXECUTION ̲OK
RESCO ̲INPUT ̲ATTR.FUNCTION ̲REQ EQ TRUE?
SPIP ̲SUPV ̲REPLY(RESCO ̲INPUT ̲QEL,0,RESCO ̲INPUT
ATTR.HEADER.SUBTYPE)
SPIP ̲DISMANTLE(RESCO ̲INPUT ̲QEL,RESCO ̲INPUT ̲
ATTR.OBJECT,RES)
REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)
END
Fig. 4.2.3.4.1-2B
4.2.3.4.2 P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
4.2.3.4.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̲
The table print request can be process in three modes:
Full table print
From-to key print
Only obsolete entries
Following requests are process by this module for each
request the possibility of modes are listed:
REQUEST FULL TABLE FROM-TO OBSOLETE
LOCAL PLA TABLE X
LOCAL RI TABLE X
SIC TABLE X X X
SDL TABLE X X X
SCD TABLE X X X
AIG TABLE X X X
GLOBAL PLA TABLE X X X
GLOBAL RI TABLE X X X
CIRCUIT PROFILE TABLE X X X
DISPLAY TABLE X
OPERATION SIGNAL TABLE X
PASSWORD LIST X
USER PROFILE TABLE X
TERMINAL PROFILE TABLE X
DEVICE PROFILE TABLE X
CHANNEL PROFILE TABLE X
SUPERVISOR COMMAND TABLE X
The request type and mode is found in the QEL ̲BUFFER.
The module generates the actual information and store
this in the file SYIE ̲TAB ̲FILE. The file header administration
field is updated with the needed information.
The header line contains information about the request
type and the mode of this.
The exit line contains information of the termination
cause.
4.2.3.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) PROC ̲TABLE ̲PRINT
b) PROC ̲TABLE ̲PRINT (R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
4.2.3.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.3.4.2.3.1 I̲N̲I̲T̲ ̲T̲A̲B̲L̲E̲ ̲S̲E̲A̲R̲C̲H̲
The procedure determines the table description entry
used for this request. It updates the HEADER ̲LINE with
the request type and mode information.
If the mode is FROM ̲TO and request type different from
GLOBAL ̲PLA ̲TABLE the from key is found and processed,
if not found the generation is terminated with the
exit cause 'FIRST KEY NOT FOUND'.
If the mode is FROM ̲TO and request type equal to GLOBAL
PLA TABLE the procedure PROC ̲PLA ̲TABLE is called to
convert the FROM AND TO PLA ̲REF to PLA's. If one the
PLA ̲REF's can't be found the generation is terminated
with the exit cause 'PLA ̲REF not found', otherwise
the from PLA is found and processed.
It updates the TMP parameter to the MAIN ̲LOOP in the
main procedure.
4.2.3.4.2.3.2 P̲R̲O̲C̲ ̲F̲R̲O̲M̲ ̲T̲O̲ ̲L̲I̲N̲E̲
The procedure updates the header line with information
of FROM and TO keys. The keys are found in the QEL
̲
BUFFER. If the key type of the table is an integer,
it will be converted to four digits decimal display.
4.2.3.4.2.3.3 P̲R̲O̲C̲ ̲P̲L̲A̲ ̲T̲A̲B̲L̲E̲
The procedure converts the FROM and TO PLA ̲REF's to
PLA's. If one of the PLA ̲REF's can't be found the procedure
will return in the error exit. The FROM PLA is put
into RESCO ̲TMP ̲SINGLE ̲KEY.SINGLE.KEY and the to PLA
is put into RESCO ̲LAST ̲KEY. The procedure then return
the okay exit.
4.2.3.4.2.3.4 O̲U̲T̲P̲U̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲
The procedure is called with the number of records
in the INPUT ̲BUFFER in R0.
In a loop all the records are processed, if no termination
exit occurs first the procedure COMPARE ̲KEYS are called
to get information about current record primary key
are lower, same or higher than RESCO ̲LAST ̲KEY.
If the condition was higher, the generation terminates
with the exit cause 'Last Key Not Found'. If the condition
was same, the generation will be terminated, after
processing of the current record, with the exit cause
'Succesfully'.
The current record is checked for the conditions PRINT
̲RECORD/SKIP ̲RECORD. Information, to find the procedure
to determines the conditions, is found in the current
table description entry in the field obsolete. If the
condition was PRINT ̲RECORD the procedure OUTPUT ̲SINGLE
̲RECORD is called.
4.2.3.4.2.3.5 C̲o̲m̲p̲a̲r̲e̲ ̲K̲e̲y̲s̲
I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) COMPARE ̲KEYS(COUNT,STRING1, STRING2)(CC)
b) COMPARE ̲KEYS(R0, R4, R7, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲o̲r̲s̲
R0 Count (KEPT)
R4 Pointer to String1 (KEPT)
R7 Pointer to String2 (DESTROYED)
R6 LINK (DESTROYED
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R7 CC
R0-R5 KEPT
This procedure compares two word strings and the exit
value specifyes the result of the comparason.
The exit value will be one of following:
- LOWER which means that STRING1 has a lower integer
value than STRING2.
- SAME which means that STRING1 has same integer
value as STRING2.
- HIGHER whitch means that STRING1 has a higher
integer value than STRING2.
Note that the string must not be of 0 words length.
4.2.3.4.2.3.6 O̲u̲t̲p̲u̲t̲ ̲S̲i̲n̲g̲l̲e̲ ̲R̲e̲c̲o̲r̲d̲
The procedure is called with a pointer to current record
in input buffer in R4.
This pointer is kept for all request type with fixed
input record length, else the pointer will be updated
with the record size of CURRENT ̲INPUT so that in this
case it will be a pointer to the next record to be
processed.
If there's no place in the output buffer the procedure
OUTPUT ̲BUFFER is called. The size of an output record
is found in current table description entry.
In a loop all record field in current record field
description table are processed, and for each field
a conversion procedure is determined.
4.2.3.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.3.4.2-1
PROC ̲TABLE ̲PRINT
INIT ̲TABLE ̲SEARCH
LOOP
RESCO ̲END ̲OF ̲SEARCH=FALSE? EXIT
PROC ̲TMP ̲REQ(RESCO ̲TMP ̲PARAM)
RESCO ̲TMP ̲PARAM.COUNT 0?
OUTPUT ̲RECORDS(RESCO ̲TMP ̲PARAM.COUNT
END ̲LOOP
FILE ̲BUFFER ̲ADDR ADDRESS(FILE ̲BUFFER)?
OUTPUT ̲BUFFER
END
FIGURE 4.2.3.4.2-1
INIT ̲TABLE ̲SEARCH
SET RESCO ̲END ̲OF ̲SEARCH=FALSE
SET RESCO ̲TABLE ̲DESCR ̲ADDR=POINTER TO CURRENT TABLE
DESCRIPTION ENTRY
SET RESCO ̲TMP ̲PARAM.TABLE ̲ID=RESCO ̲READ ̲BUFFER.TABLE
SET SYIE ̲TAB ̲FILE ̲HEADER.HEADER ̲LINE=CURRENT ̲TABLE
̲DESCRIPTION.HEADER ̲LINE
RESCO ̲READ ̲BUFFER.PRINT ̲TYPE=FROM ̲TO?
PROC ̲FROM ̲TO ̲LINE
SET UP TMP ̲PARAM AND SINGLE ̲KEY FOR SEARCH
PRIMARY KEY
RESCO ̲READ ̲BUFFER.TABLE PLA ̲REF.TABLE?
SET SINGLE ̲KEY.KEY=RESCO ̲READ ̲BUFFER.KEYS
1
SET RESCO ̲LAST ̲KEY=RESCO ̲READ ̲BUFFER.KEYS
2
CASE PROC ̲PLA ̲TABLE:ERROR ̲OK
ERROR?
EXIT (LINK)
END ̲CASE
CASE TMP ̲REQUEST(RESCO ̲TMP ̲PARAM):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
END ̲CASE
SET ̲UP TMP ̲PARAM
RESCO ̲TMP ̲SINGLE ̲KEY.SINGLE.INFO=0?
SET SYIE ̲TAB ̲FILE ̲HEADER.EXIT ̲LINE=
'FIRST KEY NOT FOUND'
SET RESCO ̲END ̲OF ̲SEARCH=TRUE
OUTPUT ̲RECORDS (1)
SET UP TMP ̲PARAM
SET RESCO ̲LAST ̲KEY GT MAX KEY IN TABLE
RESCO ̲READ ̲BUFFER.PRINT ̲TYPE=OBSOLETE ̲ENTRIES?
UPDATE SYIE ̲TAB ̲FILE ̲HEADER.HEADER ̲LINE WITH
'OBSOLETE ENTRIES'
RESCO ̲READ ̲BUFFER.TABLE=PLA ̲REF ̲TABLE?
SET RESCO ̲TMP ̲PARAM.TABLE ̲ID=PLA ̲TABLE
SET RESCO ̲TMP ̲PARAM.COUNT=CURRENT ̲TABLE ̲DESCRIPTION.COUNT
END
OUTPUT ̲RECORDS(COUNT)
SET RESCO ̲COUNT=COUNT
SET INPUT ̲BUFFER ̲PT=ADDRESS(RESCO ̲TMP ̲BUFFER)
LOOP
COMPARE ̲KEYS(CURRENT ̲TABLE ̲DESCRIPTION.KEY
̲SIZE,
INPUT ̲BUFFER ̲PT,
RESCO ̲LAST ̲KEY)(CC)
CC=HIGHER?
SET SYIE ̲TAB ̲FILE ̲HEADER.EXIT ̲LINE='LAST
KEY NOT FOUND'
SET RESCO ̲COUNT=0
SET RESCO ̲END ̲OF ̲SEARCH=TRUE
CC = SAME?
SET RESCO ̲COUNT=0
SET RESCO ̲END ̲OF ̲SEARCH=TRUE
CASE CURRENT ̲TABLE ̲DESCRIPTION.OBSOLETE OF:
CONV ̲OBSOLETE
OBS ̲NORMAL? SET CC=PRINT ̲RECORD
ONS ̲SIC? PRIC ̲OBS ̲SIC(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲SDL? PRIC ̲OBS ̲SDL(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲RIG? PRIC ̲OBS ̲RIG(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲AIG? PRIC ̲OBS ̲AIG(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲GPL? PRIC ̲OBS ̲GPL(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲TER? PRIC ̲OBS ̲TER(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲DEV? PRIC ̲OBS ̲DEV(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲CHN? PRIC ̲OBS ̲CHN(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲CIR? PRIC ̲OBS ̲CIR(INPUT ̲BUFFER ̲PT)(CC)
ONS ̲CMP? PRIC ̲OBS ̲CMP(INPUT ̲BUFFER ̲PT)(CC)
OTHERWISE ERROR ̲REP(INT,GUP,RES,2,4,1,NIL)
END ̲CASE
CC = PRINT ̲RECORD?
OUTPUT ̲SINGLE ̲RECORD(INPUT ̲BUFFER ̲PT)
SET INPUT ̲BUFFER ̲PT=INPUT ̲BUFFER ̲PT+CURRENT
̲TABLE ̲
DESCRIPTION.INP ̲RECORD ̲SIZE
SET RESCO ̲COUNT=RESCO ̲COUNT -1
RESCO ̲COUNT 1? EXIT
END ̲LOOP
END
OUTPUT ̲SINGLE ̲RECORD
PLACE IN BUFFER FOR THE NEXT OUTPUT ̲RECORD?
OUTPUT ̲BUFFER
SET RESCO ̲NO ̲OF ̲FIELDS=CURRENT ̲TABLE ̲DESCRIPTION.NO
̲
OF.FILEDS
SET CURRENT ̲RECORD ̲DESCRIPTION ̲TABLE=1. FIELD DESCRIPTION
LOOP
CASE
USE CURRENT CONV ̲PROC OF CONV ̲TYPE
TO DETERMINE THE ACTUAL CONVERSION
PROCEDURE FOR CURRENT FIELD
CONVERSION PROCEDURE FOUND?
CALL OF ACTUAL CONVERSION PROCEDURE
(CURRENT FIELD ̲SIZE,
POINTER TO INPUT ̲RECORD,
CURRENT POS ̲IN ̲INP ̲REC)
(POINTER TO INPUT ̲RECORD)
CONVERSION PROCEDURE NOT FOUND?
ERROR ̲REP(INT,GUP,RES,2,6,1,NIL)
END ̲CASE
SET CURRENT ̲RECORD ̲DESCRIPTION ̲TABLE=NEXT FIELD
DESCRIPTION
DECREMENT RESCO ̲NO ̲OF ̲FIELDS WITH ONE
RESCO ̲NO ̲OF ̲FIELDS 1? EXIT
END ̲LOOP
END
4.2.3.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
Ref. DELCO ̲PREFIX.S AND DELCO ̲DATA.S
4.2.3.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
4.2.3.6.1 C̲M̲D̲ ̲T̲O̲ ̲D̲E̲L̲C̲O̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
4.2.3.6.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 procedure send the requested command to DELCO
4.2.3.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) CMD ̲TO ̲DELCO(INF,CMD ̲ID)
b) CMD ̲TO ̲DELCO(R3,R4,R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R3 INF (DEST)
R4 CMD ̲ID (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.1.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.3.6.2 P̲R̲O̲C̲ ̲D̲E̲L̲C̲O̲ ̲I̲T̲E̲M̲
4.2.3.6.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̲
The procedure analyze the incoming DELCO ̲ITEM.
If it is the CLOSE ̲CMD the procedure closed RESCO,
dismantle the SYIE ̲TAB ̲FILE and return in a long exit
to RESCO ̲BOTTEM in the module RESCO ̲MAIN.
If it is the requested type of item, the procedure
returns to caller, otherwise the procedure ERROR ̲REP
is called.
4.2.3.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) PROC ̲DELCO ̲ITEM(SPIP ̲INTERNAL ̲ITEM ̲TYPE,OPERATION)
b) PROC ̲DELCO ̲ITEM(R0,R5,R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SPIP ̲INTERNAL ̲ITEM ̲TYPE
R5 POINTER TO OPERATION
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R4, R6-R7 DESTROYED
R5 KEPT, when the return is to caller.
F̲a̲t̲a̲l̲s̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.2.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.3.6.3 O̲u̲t̲p̲u̲t̲ ̲B̲u̲f̲f̲e̲r̲
4.2.3.6.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̲
The procedure updates SYIE ̲TAB ̲FILE ̲HEADER.COUNT1 with
the number of records within the buffer. File address
and BLE is updated, and the buffer is written into
the file.
4.2.3.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) OUTPUT ̲BUFFER
b) OUTPUT ̲BUFFER(R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.3.6.5 P̲R̲O̲C̲ ̲T̲M̲P̲ ̲R̲E̲Q̲
4.2.3.6.4.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 procedure initiates a TMP ̲REQUEST, associate this
to RESCO's semaphor SPIP ̲S3, wait on the semaphor and
analyze incomming CMD.
If it is a DELCO ̲ITEM PROC ̲DELCO ̲ITEM is called.
Otherwise it waits for completion for system call and
analyze the completion code from TMP. Only one CC different
from OKAY are accepted and terminate the generation
with exit cause 'SUCCESFULLY' for TMP ̲END ̲OF ̲
TABLE.
4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) PROC ̲TMP ̲REQ(TMP ̲PARAM)
b) PROC ̲TMP ̲REQ(R4,R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 POINTER TO TMP ̲PARAM (DEST)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
F̲a̲t̲a̲l̲e̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.3.6.5 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.3.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
PROC ̲OBS contains many procedures to handle the different
request types of obsolete/unused entries.
They have all the same interface and in sec. 4.2.3.6.5.4
the procedures names are listed together with the functional
specification.
4.2.3.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Procedure name (INPUT ̲RECORD)(INPUT ̲RECORD,CC)
b) Procedure name (R4, R7, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 POINTER TO INPUT RECORD
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 FOR FIXED LENGTH INPUT RECORD KEPT
FOR VARIABLE LENGTH INPUT RECORD
WITH RETURN CC:
PRINT ̲RECORD KEPT
SKIP ̲RECORD THE POINTER IS UPDATED
WITH THE SIZE OF CURRENT
INPUT RECORD
R7 CC: FALSE MEANS SKIP ̲RECORD
OKAY MEANS PRINT ̲RECORD
R0-R3, R5-R6 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.5.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Listing of the different PROC ̲OBS procedures names
and the functional specification
4.2.3.6.5.4.1 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲I̲C̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An entry is obsolete, if all SDL's in the 3 SDL lists
are zero.
4.2.3.6.5.4.2 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲D̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An entry is obsolete, if both action SCD list and info
SCD list have count equal zero. Obsolte entries are
skipped if mode is FULL ̲TABLE or FROM ̲TO.
If skip record condition R4 is updated with size of
obsolete entry
4.2.3.6.5.4.3 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲A̲I̲G̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An entry is obsolte, if AIG ̲REC.PLA ̲REF ̲LIST.COUNT
equal zero.
If SKIP ̲RECORD condition R4 is updated to point to
the next TMP ̲RECORD.
4.2.3.6.5.4.4 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲G̲P̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An entry is obsolete, if all four RI's have two spaces
in first word.
4.2.3.6.5.4.5 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲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̲s̲
An unused entry have classification equal DUMMY ̲CLASS.
Unused entries are skipped.
4.2.3.6.5.4.6 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲D̲E̲V̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An unused entry have classification equal DUMMY ̲CLASS.
Unused entries are skipped.
4.2.3.6.5.4.7 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲H̲N̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An unused entry have spaces in IN ̲LC. Unused entries
are skipped.
4.2.3.6.5.4.8 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲I̲R̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An unused entry have classification equal DUMMY ̲CLASS.
Unused entries are skipped.
4.2.3.6.5.4.9 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲M̲P̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Only those entries having CMD ̲SORT.MAIN = SUP ̲CMD ̲TYPE
and CMD ̲SORT.SUB = SUPV ̲TYPE will be outputted. All
other entries are skipped.
For further information about the design of the procedures
ref. SOURCE LISTING.
4.2.3.6.6 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.3.6.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
PROC ̲CONV contains many procedures to handle the different
field types.
They have all the same interface and in sec. 4.2.3.6.6.4
the procedures names are listed together with the functional
specification.
4.2.3.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) Procedure names (FIELD ̲SIZE, INPUT ̲RECORD, POS
̲IN ̲INP ̲REC)
b) Procedure name (R0, R4, R5, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 FIELD SIZE
R4 POINTER TO INPUT RECORD
R5 POSITION OF THE FIELD IN INPUT ̲RECORDS IN WORDS
R6 LINK
R̲e̲t̲r̲u̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 KEPTS EXCEPT FOR THE PROCEDURES:
PROC ̲CONV ̲SCD.LIST POINTER TO NEXT FIELD
IN
INPUT RECORD
PROC ̲CONV ̲REST ̲OF ̲TERM ̲PROFILE:
POINTER TO NEXT INPUT
RECORD IN TMP BUFFER.
R0-R3, R5-R7 DESTROYED.
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.3.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.3.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Listing of the different PROC ̲CONV procedures and the
functional dpecifications.
4.2.3.6.6.4.1 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲N̲O̲R̲M̲A̲L̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure move the input field to the position
in output buffer where FILE ̲BUFFER ̲ADDR points to.
FILE ̲
BUFFER ̲ADDR is updated with new position in output
buffer.
4.2.3.6.6.4.2 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲Y̲S̲ ̲I̲D̲ ̲T̲Y̲P̲E̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure converts DEVICE ̲ID ̲TYPE to
C for SYS ̲CAMPS
S for SYS ̲SCARS
A for SYS ̲CCIS
and put this to output buffer, where FILE ̲BUFFER ̲ADDR
points to. FILE ̲BUFFER ̲ADDR is updated with new position
in output buffer.
4.2.3.6.6.4.3 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲C̲D̲ ̲L̲I̲S̲T̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure move the input SCD's to the position
in output buffer where FILE ̲BUFFER ̲ADDR points to.
FILE ̲
BUFFER ̲ADDR is updated with the max SOD ̲SIZE for the
field + the count field, which says how many SCD's
actual in field.
4.2.3.6.6.4.4 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲D̲E̲V̲ ̲I̲D̲ ̲T̲Y̲P̲E̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert DEVICE ̲ID ̲TYPE to:
VDU for VDU
MSP for MTP ̲ROP
LSP for LTP ̲ROP
and this is put into output buffer, where FILE ̲BUFFER
̲
ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
4.2.3.6.6.4.5 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲D̲E̲V̲ ̲N̲O̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert LOGICAL ̲DEVICE ̲NO ̲TYPE to:
MSP
LSP
LSR
OCR
PTR
PTP
and this is put into output buffer, where FILE ̲BUFFER
̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
4.2.3.6.6.4.6 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲A̲I̲G̲ ̲H̲E̲A̲D̲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̲
The procedure makes the three header lines for an aig
in output buffer. FILE ̲BUFFER ̲ADDR is updated with
new position in output buffer.
4.2.3.6.6.4.7 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲A̲I̲G̲ ̲P̲L̲A̲ ̲R̲E̲F̲S̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert all the PLA ̲REFS in AIG ̲REC to
PLA's and this is put into output buffer, where FILE
̲BUFFER ̲ADDR points to. If there isn't place in OUTPUT
̲BUFFER is called. FILE ̲BUFFER ̲ADDR is updated with
new position in output buffer.
4.2.3.6.6.4.8 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲I̲R̲C̲ ̲C̲O̲N̲ ̲C̲H̲N̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure get the number of connected ̲channels
by a TMP ̲REQUEST. FILE ̲BUFFER ̲ADDR is updated with
new position in output buffer.
4.2.3.6.6.4.9 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲I̲R̲C̲U̲I̲T̲ ̲N̲O̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert LOGICAL ̲CIRCUIT ̲NO ̲TYPE to:
NICS/TARE
SCARS
ACCIS
TRC/PTCP
and this is put into output buffer, where FILE ̲BUFFER
̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
4.2.3.6.6.4.10 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲P̲R̲ ̲S̲P̲H̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert FCT ̲CAPABILITY ̲TYPE and USER
̲FCP + CAPABILITY ̲TYPE to text. This is put into buffer,
where FILE ̲BUFFER ̲ADDR points to. FILE ̲BUFFER ̲ADDR
is updated with new position in output buffer.
4.2.3.6.6.4.12 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ ̲R̲E̲F̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure get password by a TMP ̲REQUEST. FILE ̲
BUFFER ̲ADDR is updated with new position in output
buffer.
4.2.3.6.6.4.13 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲N̲O̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert LOGICAL ̲TERMINAL ̲NO ̲TYPE to:
SUPV
MASS
USER
and this is put into output buffer, where FILE ̲BUFFER
̲
ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
4.2.3.6.6.4.14 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲R̲E̲S̲T̲ ̲O̲F̲ ̲T̲E̲R̲M̲ ̲P̲R̲O̲F̲I̲L̲E̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure move the input TERMINAL ̲PROFILE.USER
̲LIST and TERMINAL ̲PROFILE.SCD ̲LIST, unpack these to
SPR ̲
TERMINAL ̲PROFILE and move the fields to where FILE
̲
BUFFER ̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated
with size(SPR ̲TERMINAL ̲PROFILE) - address(O SPR ̲TERMINAL
̲
PROFILE.USER ̲LIST).
4.2.3.6.6.4.15 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲N̲O̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert LOGICAL ̲CHANNEL ̲NO ̲TYPE to:
NICS/TARE
SCARS
ACCIS
TRC/PTCP
and this is put into output buffer, where FILE ̲BUFFER
̲
ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
4.2.3.6.6.4.16 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲H̲N̲ ̲C̲L̲A̲S̲S̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure get channel classification by a TMP ̲
REQUEST. FILE ̲BUFFER ̲ADDR is updated with new position
in output buffer.
4.2.3.6.6.4.17 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲I̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲T̲U̲S̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure get in- and out-status by a TMP ̲REQUEST.
This is not done if Channel Type is SCARS or CCIS.
FILE ̲BUFFER ̲ADDR is updated with new position in output
buffer.
4.2.3.6.6.4.18 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲U̲P̲V̲ ̲C̲M̲D̲ ̲T̲E̲X̲T̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure convert LOGICAL ̲TERMINAL ̲NO ̲TYPE to:
SUPV
MASS
USER
and this is put into output buffer, where FILE ̲BUFFER
̲
ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
position in output buffer.
For further information about the design of the procedure
ref. SOURCE LISTING.
4.2.3.7 C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
4.2.3.7.1 D̲E̲L̲C̲O̲ ̲R̲E̲S̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The following items are sent to RESCO via operation
semaphore SPIP ̲S3:
SPIP ̲CLOSE
PRINT ̲ACK ̲FROM ̲PRIS
ABANDON ̲REQ
READY
CLEAR
RESPONSE ̲FROM ̲UMAM
4.2.3.7.2 R̲E̲S̲C̲O̲ ̲D̲E̲L̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The following items are sent from RESCO via operation
semaphore SPIP ̲S2.
PRINT ̲ITEM ̲FOR ̲DELIVERY
REQUEST ̲TO ̲UMAM
SPIP ̲CLOSE ̲CC