top - download
⟦bdff903ec⟧ Wang Wps File
Length: 31940 (0x7cc4)
Types: Wang Wps File
Notes: CPS/SDS/036
Names: »1644A «
Derivation
└─⟦11f497f33⟧ Bits:30005812 8" Wang WCS floppy, CR 0119A
└─ ⟦this⟧ »1644A «
WangText
…14……00……00……00……00…&…0a……00……00…&…0b…&…00…&…05…&…06…%…08…%…09…%…0a…%…0d…%…0f…%…02…%…06…$…09…$…0b…$…00…$…02…$…06…#…0b…#…0d…#…00…#…02……86…1 …02… …02… …02…
#
…02…CPS/SDS/036
…02…841115…02……02…
SUPERVISOR PRINTER
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.2.2 D̲E̲L̲C̲O̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The Software Structure of DELCO is shown in Fig. 4.2.2.2-1
through Fig. 4.2.2.2.-8.
In the following, a functional description of each
module is given.
a) D̲E̲L̲C̲O̲ ̲M̲A̲I̲N̲
The module is called by the coroutine monitor upon
initialization of the subpackage. It also contains
the main loop for the subpackage.
b) I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲D̲E̲L̲C̲O̲
The module initializes appropriate DELCO variables
and makes the coroutine ready to run and receive
input.
c) P̲R̲O̲C̲ ̲S̲P̲I̲C̲O̲ ̲I̲T̲E̲M̲S̲
The various commands received from SPICO are processed
by this module.
The possible commands are:
CLOSE, CONFIG ̲CHANGE,
PRINTQ ̲CANCELLED,
PRINTQ ̲UNBLOCKED
The CLOSE command is also passed on to RESCO.
Completion is always reported to SPICO.
d) P̲R̲O̲C̲ ̲R̲E̲S̲C̲O̲ ̲I̲T̲E̲M̲
The items received from RESCO is processed by this
module.
Print items are delivered to the appropriate printer
process, UMAM-Requests are sent to UMAM. CLOSE
̲CCs will stop DELCO actions and cause a CLOSE ̲CC
to be sent to SPICO.
e) P̲R̲O̲C̲ ̲A̲N̲S̲Q̲ ̲I̲T̲E̲M̲
This module processes the replies received from
PRIS and UMAM. If the request was originally caused
by a RESCO item, the reply will be passed on to
RESCO.
f) D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲
All print items, except requests, are delivered
by this module. If the destination queue is blocked,
the delivery to it will be stopped until the queue
is unblocked or a configuration change takes place.
g) D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲Q̲U̲E̲S̲T̲
This module delivers all function requests to the
appropriate printer queues. A reference to the
original function request QEL is saved in order
to be abled to send reply even if the request to
or reply from PRIS is lost. In case of a blocked
PRIS ̲Queue, the actions taken are the same as for
DELIVER ̲ITEM.
h) D̲E̲L̲C̲O̲ ̲R̲E̲P̲L̲Y̲
The module sends reply to the function request
print items originally sent to SPIP. This takes
place when PRIS has indicated print completion
by sending a reply or when the print queue is blocked.
Fig. 4.2.2.2-1/9
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̲
The following HIPO-diagrams and the module tree show
the data flow and control logic of DELCO.
Functional description of each module can be found
in sec. 4.2.2.2.
For detailed description of the module logic, refer
to the module design flowgrams for each module (sec.
4.2.2.4).
Diag. 4.2.2.3-1/12
Fig. 4.2.2.3-13
4.2.2.4 M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
4.2.2.4.1 D̲E̲L̲C̲O̲ ̲M̲A̲I̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 is called by the coroutine monitor upon
initialization of the subpackage. It also contains
the subpackage main loop.
4.2.2.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) DELCO ̲MAIN
b) DELCO ̲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.2.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.2.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.2.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module initializes the subpackage by calling the
INITIALIZE ̲DELCO module. It determines the type of
input item by testing the ID of the operation delivered
when SPIP ̲S2 is signalled.
Ref. Fig. 4.2.2.4.1-1 and Fig. 4.2.2.4.1-2.
DELCO ̲MAIN
I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲D̲E̲L̲C̲O̲ (4.2.2.4.2)
DELCO ̲MAIN ̲LOOP
WAIT ̲OPSEM (SPIP ̲S2)(OPERATION): OK
DELCO ̲CLOSED ̲FLAG = TRUE ?
CASE OPERATION.ID OF:
SPICO ̲ITEM? P̲R̲O̲C̲ ̲S̲P̲I̲C̲O̲ ̲I̲T̲E̲M̲S̲ (4.2.2.4.3
)
RESCO ̲ITEM ? P̲R̲O̲C̲ ̲R̲E̲S̲C̲O̲ ̲I̲T̲E̲M̲S̲ (4.2.2.4.4
)
ANSQ ̲ITEM ? P̲R̲O̲C̲ ̲A̲N̲S̲Q̲ ̲I̲T̲E̲M̲ (4.2.2.4.6
)
REPQ ̲ITEM, SUPQ ̲ITEM, LOGQ ̲ITEM, STAQ
̲ITEM ?
PROC ̲DELIVERY ̲ITEM( -2 )
OTHERWISE ? ERROR ̲REP(INT,GUP,DELC,NO
̲DELCO
MAIN,0,1,NIL)
END ̲CASE
END DELCO ̲MAIN ̲LOOP
END
Fig. 4.2.2.4.1-1
PROC ̲DELIVERY ̲ITEMS
SEARCH OP IN INIT ̲RECV ̲DELIVERY ARRAY
NOT FOUND? ERROR ̲REP(INT,GUP,DELC,10
̲DELCO ̲MAIN,1,1,NIL)
(4.1.5.5)
FOUND? SET DELIVERY ̲INDEX=LOOP INDEX
END ̲SEARCH
SET INIT ̲RECV ̲DELIVERY(DELIVERY ̲INDEX)=NIL
RECEIVE ̲ITE()(CC)(4.2.2.6.3)
CC=0?
DELCO ̲CLOSED ̲FLAG =DELCO ̲CLOSE ̲TO ̲RESCO?
RETURN(DELCO ̲INPUT ̲QEL):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
END ̲RETURN
CASE DELIVERY ̲INDEX
REP? SET I=DELCO ̲INPUT ̲SUBQUEUE
SUP? SET I=DELCO ̲INPUT ̲SUBQUEUE+I
LOG? SET I=PRIS ̲LOG
STA? SET I=PRIS ̲STA
END ̲CASE
SET ̲DELIVERY ̲QREF,SUB ̲QUEUE=I
DELIVERY ̲ITEM(4.2.2.4.7)
END
Fig. 4.2.2.4.1-2
4.2.2.4.2 I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲D̲E̲L̲C̲O̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 module initializes appropriate DELCO
variables and makes the coroutine ready
to run and receive input.
4.2.2.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) INITIALIZE ̲DELCO
b) INITIALIZE ̲DELCO (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.2.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.2.4.2.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
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SUPV ̲PRINTERS ref. CPS/DBD/001
4.2.2.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.2-1 and 4.2.2.4.2-2.
INITIALIZE ̲DELCO
SET ̲INIT ̲RECV ̲ANSQ = NIL
SET ̲REQ ̲REPLY ̲NO = 0
SET ̲RESCO ̲REPLY = SRECO ̲NONE
INIT DELIVERY RECORDS (-2)
INIT ̲RECEIVE ̲FROM ̲SPIP ̲ANSQ (4.2.2.6.2)
END
Fig. 4.2.2.4.2-1
INIT ̲DELIVERY ̲RECORDS
CASE GET ̲SYSTEM ̲PARAMETER (SUPV ̲PRINTER
̲PARAMETERS)
(SUPV ̲PRINTER ̲CONFIG,
CC): ERROR ̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0): OK
OK ? SPIP ̲INPUT ̲QREFS( -3 )
SET OUTST ̲REQ ̲QEL(1..MAX ̲OUTST ̲REQS)=NIL
SET DELIVERY ̲INDEX = MIN(DELIVERY
̲INDEX ̲TYPE)
LOOP
WITH SPIP ̲DELIVERY ̲RECORDS(DELIVERY
̲INDEX)DO
SET .DEVICE ̲DESIGNATOR
=
SUPV ̲PRINTER ̲CONFIG(DELIVERY
̲INDEX)
SET .BLOCKED
= FALSE
SET .PRIS ̲MAIN ̲QREF
=
.DEVICE ̲DESIGNATOR
+
PRIS ̲PRINTQ ̲GROUP
̲REF
SET .PRIS ̲CMD ̲QREF
=
.DEVICE ̲DESIGNATOR
+
PRIS ̲CMDQ ̲GROUP
̲REF
END ̲WITH
INIT ̲RECEIVE ̲ITEM(4.2.2.6.4)
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT MAX(DELIVERY
̲INDEX ̲TYPE)?
EXIT LOOP
END ̲LOOP
END ̲CASE
END
Fig. 4.2.2.4.2-2
SET ̲SPIP ̲INPUT ̲QREFS
WITH SPIP ̲DELIVERY ̲RECORDS DO
SET (REP).SPIP ̲INPUT ̲QREF = SPIP ̲REPQ
SET (SUP).SPIP ̲INPUT ̲QREF = SPIP ̲SUPQ
SET (LOG).SPIP ̲INPUT ̲QREF = SPIP ̲LOGQ
SET (STA).SPIP ̲INPUT ̲QREF = SPIP ̲STAQ
END ̲WITH
END
Fig. 4.2.2.4.2-3
4.2.2.4.3 P̲R̲O̲C̲ ̲S̲P̲I̲C̲O̲ ̲I̲T̲E̲M̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.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 various commands received from SPICO
are processed by this module. The possible
commands are:
CLOSE, CONFIG ̲CHANGE,
PRINTQ ̲CANCELLED,
PRINTQ ̲UNBLOCKED,
The CLOSE command is also passed on to
RESCO. Completion is always reported
to SPICO.
4.2.2.4.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) PROC ̲SPICO ̲ITEMS
b) PROC ̲SPICO ̲ITEMS (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.2.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.3.3.1 D̲E̲L̲I̲V̲E̲R̲Y̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲ ̲A̲C̲T̲I̲O̲N̲S̲
The procedure performs the needed actions
when one of the print queues is no longer
blocked.
4.2.2.4.3.3.2 D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲I̲N̲D̲E̲X̲
Given the Logical Device Designator, the
procedure determines the appropriate DELIVERY
̲INDEX.
4.2.2.4.3.3.3 D̲E̲L̲C̲O̲ ̲P̲R̲O̲C̲ ̲S̲P̲I̲P̲ ̲C̲L̲O̲S̲E̲ ̲C̲M̲D̲
All outstanding INIT ̲RECEIVE calls are cancelled and
close CMD is sent to RESCO.
4.2.2.4.3.3.4 C̲O̲N̲F̲I̲G̲ ̲C̲H̲A̲N̲G̲E̲ ̲A̲C̲T̲I̲O̲N̲S̲
The new supervisor printers configuration is determine.
The old configuration is checked with the new. For
each supervisor printer, with another address, actual
action is taken at last completion is sent to SPICO.
4.2.2.4.3.3.5 S̲E̲T̲ ̲C̲O̲N̲F̲I̲G̲ ̲D̲A̲T̲A̲
For a changed supervisor printer address the new QUEUE
̲REFERENCE is determined by the procedure.
4.2.2.4.3.3.6 P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲Q̲ ̲C̲A̲N̲C̲ ̲N̲O̲T̲
For the actual supervisor printer print queue cancelled
action is taken.
4.2.2.4.3.3.7 P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲Q̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲ ̲N̲O̲T
For the actual supervisor printer print queue unblocked
action is taken.
4.2.2.4.3.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
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SUPV ̲PRINTERS ref. CPS/DBD/001
4.2.2.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.3-1 through Fig. 4.2.2.4.3-8.
PROC ̲SPICO ̲ITEMS
CASE OPERATION.ITEM ̲NAME OF:
SPIP ̲CLOSE ? D̲E̲L̲C̲O̲ ̲P̲R̲O̲C̲ ̲S̲P̲I̲P̲ ̲C̲L̲O̲S̲E̲
̲C̲M̲D̲ ( - 2 )
CONFIG ̲CHANGE ? C̲O̲N̲F̲I̲G̲ ̲C̲H̲A̲N̲G̲E̲ ̲A̲C̲T̲I̲O̲N̲S̲
( - 3 )
PRINTQ ̲CANCELLED ? P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲Q̲ ̲C̲A̲N̲C̲
̲N̲O̲T̲ ( - 5 )
PRINTQ ̲UNBLOCKED ? P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲Q̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲
̲N̲O̲T̲ (- 6 )
OTHERWISE ? ERROR ̲REP(INT,CON, DELC,NO
̲PRC ̲SPILCO ̲
ITEM,0,2,NIL)(4.1.5.5)
END ̲CASE
END
Fig. 4.2.2.4.3-1
DELCO ̲PROC ̲SPIP ̲CLOSE ̲CMD
INIT ̲RECV ̲ANSQ NIL?
CANCEL ̲SYSTEM ̲CALL(INIT ̲RECV ̲ANSQ)
For INIT ̲RECV ̲DELVERY ARRAY
INIT ̲RECV ̲DELIVERY(I) NIL?
CANCEL ̲SYSTEM ̲CALL (INIT ̲RECV ̲DELIVERY(I))
(4.1.5.4)
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(̲S̲P̲I̲P̲ ̲C̲L̲O̲S̲E̲) (4.2.2.6.5)
SET ̲DELCO ̲CLOSED ̲FLAG=DELCO ̲CLOSED ̲TO ̲RECSO
END
FIGURE 4.2.2.4.3-2
CONFIG ̲CHANGE ̲ACTIONS
CASE GET ̲SYSTEM ̲PARAMETER (SUPV ̲PRINTER
̲PARAMS)
(SUPV ̲PRINTER ̲CONFIG,
CC): ERROR ̲OK
ERROR ? ANALYSE ̲ERROR(CC, 0): OK
OK ?SET DELIVERY ̲INDEX = MIN(DELIVERY
̲INDEX ̲TYPE)
LOOP
SUPV ̲PRINTER ̲CONFIG(DELIVERY ̲INDEX)
EQ
SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX).
DEVICE ̲DESIGNATOR ?
SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.BLOCKED EQ TRUE?
R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ (4.2.2.4.1)
DELIVERY ̲INDEX EQ SUP LOGAND
RESCO ̲REPY=RESCO ̲PRIS?
SEND ̲RETURN ̲SYIE ̲TAB ̲FILE ̲CMD
̲TO PRT (4.2.2.6.7)
D̲E̲L̲I̲V̲E̲R̲Y̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲ ̲A̲C̲T̲I̲O̲N̲S̲ ( - 7)
S̲E̲T̲ ̲C̲O̲N̲F̲I̲G̲ ̲D̲A̲T̲A̲ ( - 4)
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT MAX(DELIVER ̲INDEX
̲TYPE)?- EXIT ̲LOOP
END ̲LOOP
D̲E̲L̲C̲O̲ ̲C̲C̲ ̲T̲O̲ ̲S̲P̲I̲C̲O̲ ̲(̲C̲O̲N̲F̲I̲G̲ ̲C̲H̲A̲N̲G̲E̲ ̲C̲C̲)̲ (4.2.2.6.6)
END ̲CASE
END
FIGURE 4.2.2.4.3-3
SET ̲CONFIG ̲DATA
WITH SPIP ̲DELIVERY ̲RECORDS(DELIVERY ̲INDEX)
̲DO
SET .DEVICE ̲DESIGNATOR =
SUPV ̲PRINTER ̲CONFIG(DELIVERY
̲INDEX)
SET .PRIS ̲MAIN ̲QREF =
PRIS ̲PRINTQ ̲GROUP ̲REF +
SUPV ̲PRINTER ̲CONFIG (DELIVERY
̲INDEX)
SET .PRIS ̲CMD ̲QREF =
PRIS ̲CMDQ ̲GROUP ̲REF +
SUPV ̲PRINTER ̲CONFIG(DELIVERY
̲INDEX)
END ̲WITH
END
Fig. 4.2.2.4.3-4
PROC ̲PRINTQ ̲CANC ̲NOT
D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲I̲N̲D̲E̲X̲ ̲(̲S̲P̲I̲P̲ ̲S̲P̲I̲C̲O̲ ̲I̲T̲E̲M̲
̲O̲P̲.̲O̲P̲ ̲D̲A̲T̲A̲1̲)̲(̲-̲8̲)̲
R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ (4.2.2.4.1)
D̲E̲L̲C̲O̲ ̲C̲C̲ ̲T̲O̲ ̲S̲P̲I̲C̲O̲ ̲(̲P̲R̲I̲N̲T̲Q̲ ̲C̲A̲N̲C̲E̲L̲L̲E̲D̲ ̲C̲C̲)̲(4.2.2.6.6)
END
Fig. 4.2.2.4.3-5
PROC ̲PRINTQ ̲UNBLOCKED ̲NOT
D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲I̲N̲D̲E̲X̲ ̲(̲S̲P̲I̲P̲ ̲S̲P̲I̲C̲O̲ ̲I̲T̲E̲M̲
̲O̲P̲.̲O̲P̲ ̲D̲A̲T̲A̲1̲)̲(̲-̲8̲)̲
SPIP ̲DELIVERY ̲RECORDS(DELIVERY ̲INDEX).BLOCKED
̲EQ ̲FALSE?
D̲E̲L̲I̲V̲E̲R̲Y̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲ ̲A̲C̲T̲I̲O̲N̲S̲ ( - 7 )
D̲E̲L̲C̲O̲ ̲C̲C̲ ̲T̲O̲ ̲S̲P̲I̲C̲O̲ ̲(̲P̲R̲I̲N̲T̲Q̲ ̲U̲N̲B̲L̲O̲C̲K̲E̲D̲ ̲C̲C̲)̲
(4.2.2.6.9 )
END
Fig. 4.2.2.4.3-6
DELIVERY ̲UNBLOCKED ̲ACTIONS
SET SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX).BLOCKED
= FALSE
I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.4)
DELIVERY ̲INDEX NE SUP LOGOR RESCO ̲REPLY
RESCO ̲PRIS?
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(PRINT ̲ACK ̲FROM ̲PRIS,EXECUTION
̲NOT ̲OK)̲
(4.2.2.6.5)
END
Fig. 4.2.2.4.3-7
DETERMINE ̲DELIVERY ̲INDEX (DEV ̲DES)
SET DELIVERY ̲INDEX = MIN(DELIVERY ̲INDEX
̲TYPE)
LOOP
DEV ̲DES EQ SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX)
.DEVICE ̲DESIGNATOR ? EXIT ̲LOOP
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT MAX(DELIVERY ̲INDEX
̲TYPE) ?
ERROR ̲REP(INT,GUT,DELC,NO ̲PRC
̲SPILCO ̲ITN,
G,1,NIL)(4.1.5.5)
END ̲LOOP
END
Fig. 4.2.2.4.3-8
4.2.2.4.4 P̲R̲O̲C̲ ̲R̲E̲S̲C̲O̲ ̲I̲T̲E̲M̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.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 items received from RESCO are processed by this
module.
Print items are delivered to the appropriate printer
process, UMAM requests are sent to UMAM. CLOSE ̲CCs
will stop DELCO actions and cause a CLOSE ̲CC to be
sent to SPICO.
4.2.2.4.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 ̲RESCO ̲ITEMS
b) PROC ̲RESCO ̲ITEMS (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.2.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.4.3.1 D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲S̲C̲O̲ ̲I̲T̲E̲M̲
The RESCO request is sent to the supervisor printer
print queue. If the queue was blocked queue blocked
action is taken.
4.2.2.4.4.3.2 S̲E̲N̲D̲ ̲U̲M̲A̲N̲ ̲R̲E̲Q̲U̲E̲S̲T̲
Resco QUEUE ̲LENGTH ̲REQUEST is sent to UMAN.
4.2.2.4.4.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.2.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
PROC ̲RESCO ̲ITEMS
DELCO ̲CLOSED ̲FLAG = DELCO ̲CLOSED?
ERROR ̲REP(INT ̲GUP,DELC,NO ̲PRC ̲RESCO
̲ITM,0,1,NIL)(4.1.5.5)
CASE OPERATION.ITEMNAME OF:
PRINT ̲ITEM ̲FOR ̲DELIVERY ? - D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲S̲C̲O̲
̲I̲T̲E̲M̲ ( - 2 )
REQUEST ̲TO ̲UMAM ? S̲E̲N̲D̲ ̲U̲M̲A̲M̲
̲R̲E̲Q̲U̲E̲S̲T̲ ( - 3 )
SPIP ̲CLOSE ̲CC ?
D̲E̲L̲C̲O̲ ̲C̲C̲ ̲T̲O̲ ̲S̲P̲I̲C̲O̲ ̲(̲S̲P̲I̲P̲ ̲C̲L̲O̲S̲E̲
̲C̲C̲)̲(4.2.2.6.6)
SET DELCO ̲CLOSED ̲FLAG = DELCO
̲CLOSED
OTHERWISE ? ERROR ̲REP(INT,CON,DELC,NO
̲PRC ̲RESCO
ITM,0,2,NIL)(4.1.5.5 )
END ̲CASE
END
FIGURE 4.2.2.4.4-1
DELIVER ̲RESCO ̲ITEM
SET RESCO ̲ITEM ̲FLAG = TRUE
SET RESCO ̲REPLY = RESCO ̲PRIS
SET UP DELIVERY ̲QREF AND SYIE ̲TAB ̲PARAMS
FOR SEND REQUEST TO SUPV ̲PRIS PRINTQ
CASE SEND ̲REQUEST (SYIE ̲TAB ̲
PARAMS,NIL, DELIVERY
̲QREF,SPIP ̲
ANSWER ̲QUEUE ̲REF)ERROR
̲OK
ERROR? CC Q MON
̲BLOCKED
̲QUEUE?
ANALYZE ̲ERROR(CC,0)
INIT ̲RECV ̲DELIVERY(SUP)
NIL?
DELIVERY ̲QUEUE ̲BLOCKED
̲ACTIONS (4.2.2.4.10)
END ̲CASE
SET RESCO ̲ITEM ̲FLAG = FALSE
FIGURE 4.2.2.4.4-2
SEND ̲UMAM ̲REQUEST
SET DELIVERY ̲QREF.MAIN ̲QUEUE = SPIP ̲UMAM
̲COLQ
SET DELIVERY ̲QREF.SUBQUEUE = UMAN ̲REQ
̲SUBQ
SET SPIP ̲SEND PARAMS.INFORMATION ̲TYPE =
FALSE
SET SPIP ̲SEND ̲PARAMS.CHECKP ̲STATUS =
FALSE
SET SPIP ̲SEND ̲PARAMS.PROFILE =
0
SET SPIP ̲SEND ̲PARAMS.HEADER.MAINTYPE =
TEP ̲INTERNAL
SET SPIP ̲SEND ̲PARAMS.HEADER.SUBTYPE =
QUEUE ̲LENGTH ̲REQUEST
SET SPIP ̲SEND ̲PARAMS.HEADER.FLAGS =
0
SET SPIP ̲SEND ̲PARAMS.HEADER.INF =
0
SET SPIP ̲ANSWER ̲QUEUE ̲REF.MAIN ̲QUEUE =
SPIP ̲ANSQ
SET SPIP ̲ANSWER ̲QUEUE ̲REF.SUB ̲QUEUE =
REPLY ̲MAIN
CASE SEND ̲REQUEST(SPIP ̲SEND ̲PARAMS,OPERATION.OP
̲DATA1,
DELIVERY ̲QREF,
SPIP ̲ANSWER ̲QUEUE ̲REF
(SPIP ̲SEND ̲PARAMS)(CC): ERROR
̲OK
ERROR? ANALYSE ̲ERROR (CC, 0)
SET RESCO ̲REPLY = RESCO ̲UMAN
END
Fig. 4.2.2.4.4-3
4.2.2.4.5 P̲R̲O̲C̲ ̲A̲N̲S̲Q̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.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̲
This module processes the replies received from PRIS
and UMAM. If the request was originally caused by
a RESCO item, the reply will be passed on to RESCO.
4.2.2.4.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) PROC ̲ANSQ ̲ITEM
b) PROC ̲ANSQ ̲ITEM (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.2.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.6.3.1 A̲N̲A̲L̲Y̲S̲E̲ ̲T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
If it is response TO ̲QUEUE ̲LENGTH ̲REQUEST the buffer
is read and the reply are passed onto RESCO, otherwise
ERROR ̲REP is called.
4.2.2.4.6.3.2 P̲R̲O̲C̲ ̲P̲R̲I̲S̲ ̲P̲R̲I̲N̲T̲ ̲R̲E̲P̲L̲Y̲
If the reply is found in outstanding request table
acknowledge is sent to caller.
4.2.2.4.6.3.3 S̲E̲N̲D̲ ̲P̲R̲I̲N̲T̲ ̲A̲C̲K̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲
The print acknowledge is passed on to RESCO.
4.2.2.4.6.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.2.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.6-1 through Fig. 4.2.2.4.6-4.
PROC ̲ANSQ ̲ITEM
DELCO ̲OP INIT ̲RECV ̲ANSQ?
ERROR ̲REP(INT,GUP,DELC,NO ̲PRC ̲ANSQ ̲ITM,0,1,NIL)
SET INIT ̲RECV ̲ANSQ=NIL
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲(̲C̲C̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
CC 0?
DELCO ̲CLOSED ̲FLAG = DELCO ̲CLOSED ̲TO ̲RESCO?
RETURN(DELCO ̲INPUT ̲QEL):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
END RETURN
CASE DELCO ̲INPUT ̲ATTR.HEADER.MAINTYPE OF:
TEP ̲INTERNAL ? A̲N̲A̲L̲Y̲S̲E̲ ̲T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
( - 2 )
ACK?
DELCO ̲INPUT ̲ATTR.HEADER.SUBTYPE = PRIS
̲PRINT ̲REPLY?
PROC ̲PRIS ̲PRINT ̲REPLY(-3)
ERROR ̲REP(QER,CON,DELC,NO ̲PRC ̲ANSQ ̲ITM,0,2,
DELCO ̲INPUT ̲QEL)(4.1.5.5)
OTHERWISE ? - ERROR ̲REP(QER,C̲O̲N̲,̲DELC,NO
̲PRC ̲ANSQ ̲
ITM,0,3,DELCO-INPUT
̲QEL)(4.1.5.5)
END ̲CASE
I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲A̲N̲S̲Q̲ (4.2.2.6.5)
END
Fig. 4.2.2.4.6-1
ANALYSE ̲TEP ̲INTERNAL
RESPONSE ̲TO ̲QUEUE ̲LENGTH ̲REQUEST LOGAND
DELCO ̲INPUT ̲ATTR.OBJECT = 0 ̲BUFFER?
READ ̲BUFFER(SIZE(UMAN ̲BUFFER),1,DELCO
̲INPUT ̲QEL,
UMAN ̲BUFFER):ERROR ̲OK
ERROR?
ANALYZE ̲ERROR(CC,0)
END ̲READ ̲BUFFER
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲F̲R̲O̲M̲ ̲U̲M̲A̲M̲
̲N̲I̲L̲)̲
(4.2.2.6.5)
SPIP ̲DISMANTLE(DELCO ̲INPUT ̲QEL,DELCO ̲INPUT
̲ATTR.OBJECT,DELC)
(4.1.5.3)
ERROR ̲REP(QER,LON,DELC,NO ̲PRC ̲ANSQ ̲ITM,1,1,DELCO
̲INPUT ̲QEL)
(4.1.5.5)
END
FIGURE 4.2.2.4.6-2
PROC ̲PRIS ̲PRINT ̲REPLY
DELCO ̲INPUT ̲ATTR.HEADER.INFORMATION(3) EQ
NIL ?
SEND ̲PRINT ̲ACK TO RESCO
SEARCH OUTST ̲REQ ̲NO ARRAY=DELCO ̲INPUT ̲ATT.HEADER.INFORMATION
(3)
FOUND?
OUTST ̲REQ ̲QEL(I) NIL ?
DELCO ̲REPLY(4.2.2.9)
END SEARCH
SPIP DISMANTLE(DELCO INPUT QEL, DELCO INPUT
ATTR.OBJECT,
DELC)
(4.1.5.3)
END
FIGURE 4.2.2.4.6-3
SEND ̲PRINT ̲ACK ̲TO ̲RESCO
DELCO ̲INPUT ̲ATTR.OBJECT NE 0-SINGLE
ERROR ̲REP(QER,CON,DELC,NO ̲PRC ̲ANSQ ̲ITM,3,1,DELCO
̲INPUT ̲QEL)
(4.1.5.5)
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(̲P̲R̲I̲N̲T̲ ̲A̲C̲K̲ ̲F̲R̲O̲M̲ ̲P̲R̲I̲S̲,̲D̲E̲L̲C̲O̲
̲I̲N̲P̲U̲T̲ ̲
A̲T̲T̲R̲.̲H̲E̲A̲D̲E̲R̲.̲F̲L̲A̲G̲S̲)̲ (4.2.2.6.8)
S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲D̲E̲L̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L,
D̲E̲L̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲A̲T̲T̲R̲.̲O̲B̲J̲E̲C̲T,DELC)
(4.1.5.3)
END
Fig. 4.2.2.4.6-4
4.2.2.4.7 D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
All print items, except requests, are
delivered by this module. If the destination
queue is blocked, the delivery to it will
be stopped until the queue is unblocked
or a configuration change takes place.
4.2.2.4.7.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) DELIVER ̲ITEM
b) DELIVER ̲ITEM (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.2.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.2.4.7.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.2.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.7-1 and Fig. 4.2.2.4.7-2.
DELIVER ̲ITEM
D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲C̲H̲E̲C̲K̲P̲ ̲A̲C̲T̲I̲O̲N̲S̲ ̲(4.2.2.6.8)
SET SPIP ̲SEND ̲PARAMS.CHECKP ̲STATUS =CHECKPOINTING
SET SPIP ̲SEND ̲PARAMS.PROFILE = 0
SET CURRENT FIELDS IN SPIP ̲SEND ̲PARAMS TO
RECEIVED INPUT ̲ATTR
SET DELIVERY ̲QREF.MAIN ̲QUEUE =
SPIP ̲DELIVERY ̲RECORDS(DELIVERY ̲INDEX).PRIS
̲MAIN ̲QREF
DELCO ̲INPUT ̲ATTR.FUNCTION ̲REQ EQ TRUE ?
- D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲Q̲U̲E̲S̲T̲
(4.2.2.4.8
)
D̲E̲L̲I̲V̲E̲R̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲( - 2 )
END
Fig. 4.2.2.4.7-1
DELIVER ̲DISMANTLE
CASE SEND ̲QEL (SPIP ̲SEND ̲PARAMS,
DELCO ̲INPUT ̲QEL,
DELIVERY ̲QREF )
(CC): ERROR ̲OK
ERROR ? CASE ANALYSE ̲ERROR(CC, 1, BLOCKED
̲QUEUE): (QB)
QB ? D̲E̲L̲I̲V̲E̲R̲Y̲ ̲Q̲U̲E̲U̲E̲ ̲B̲L̲O̲C̲K̲E̲D̲
̲A̲C̲T̲I̲O̲N̲S̲ (4.2.2.4.10)
END CASE
OK? CHECKPOINTING EQ TRUE?-D̲E̲L̲C̲O̲ ̲S̲A̲V̲E̲
̲(̲T̲R̲U̲E̲)̲(̲4.2.2.6.9)
S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲D̲E̲L̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲
D̲E̲L̲C̲O̲ ̲I̲N̲P̲U̲T̲ ̲A̲T̲T̲R̲.̲O̲B̲J̲E̲C̲T̲,DELC)̲
(4.1.5.3)
F̲L̲A̲S̲H̲ ̲C̲H̲E̲C̲K̲ (4.2.2.6.4 )
I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.7)
END CASE
END
Fig. 4.2.2.4.7-2
4.2.2.4.8 D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module delivers all function requests to the appropriate
printer queues with a number to identify the request.
A reference to the original function request QEL is
saved in order to be abled to send reply even if the
request to a reply from PRIS is lost. In case of a
blocked PRIS-Queue the actions taken are the same as
for DELIVER ̲ITEM.
4.2.2.4.8.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) DELIVER ̲REQUEST
b) DELIVER ̲REQUEST (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.2.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.2.4.8.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.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.4.9 D̲E̲L̲C̲O̲ ̲R̲E̲P̲L̲Y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.9.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 sends reply to the function request print
items originally sent to SPIP. This takes place when
PRIS has indicated print completion by sending a reply
or when the print queue is blocked.
4.2.2.4.9.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) DELCO ̲REPLY
b) DELCO ̲REPLY (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.2.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.9.3.1 D̲E̲L̲C̲O̲ ̲F̲U̲N̲C̲ ̲R̲E̲P̲L̲Y̲
The procedure performs the actual system call in order
to send reply.
4.2.2.4.9.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.2.4.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.4.10 D̲E̲L̲I̲V̲E̲R̲Y̲ ̲Q̲U̲E̲U̲E̲ ̲B̲L̲O̲C̲K̲E̲D̲ ̲A̲C̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.6.4.10.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 takes care that no further delivery to
the blocked queue is tried until the queue is unblocked.
4.2.2.6.4.10.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) DELIVERY ̲QUEUE ̲BLOCKED ̲ACTIONS
b) DELIVERY ̲QUEUE ̲BLOCKED ̲ACTIONS (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.2.6.4.10.3 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.2.6.4.10.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.4.11 R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.4.11.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 sends reply to possible outstanding external
requests (i.e. not originated by SPIP) of the type
indicated by DELIVERY ̲INDEX.
4.2.2.4.11.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) REPLY ̲TO ̲OUTST ̲REQ
b) REPLY ̲TO ̲OUTST ̲REQ (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.2.4.11.3 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.2.4.11.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The procedure searches SPIP ̲DELIVERY ̲RECORDS for outstanding
requests. The reply itself is performed by DELCO ̲REPLY.
4.2.2.5 C̲o̲m̲m̲o̲n̲ ̲D̲E̲L̲C̲O̲ ̲D̲a̲t̲a̲
Ref. DELCO ̲DATA.S.
4.2.2.6 C̲o̲m̲m̲o̲n̲ ̲D̲E̲L̲C̲O̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
4.2.2.6.1 F̲L̲A̲S̲H̲ ̲C̲H̲E̲C̲K̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 checks if the currently sent item was
a FLASH-item and generates and sends a FLASH ̲NOTIFICATION
if appropriate.
4.2.2.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) FLASH ̲CHECK
b) FLASH ̲CHECK (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.2.6.1.3 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.2.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.2 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲A̲N̲S̲Q̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 initiates receipt of a QEL from the SPIP
̲ANSQ.
4.2.2.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) INIT ̲RECEIVE ̲FROM ̲SPIP ̲ANSQ
b) INIT ̲RECEIVE ̲FROM ̲SPIP ̲ANSQ (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.2.6.2.3 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.2.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.3 R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 receives a QEL from the queue specified
via DELCO ̲INPUT ̲QREF,by awaiting completion of an earlier
issued INIT ̲RECEIVE ̲FIRST ̲QEL call.
4.2.2.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) RECEIVE ̲ITEM
b) RECEIVE ̲ITEM (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.2.6.3.3 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.2.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.4 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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 receipt of a QEL from the queue
specified by DELCO ̲INPUT ̲QREF.
4.2.2.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) INIT ̲RECEIVE ̲ITEM
b) INIT ̲RECEIVE ̲ITEM (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.2.6.4.3 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.2.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.5 D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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̲
The procedure sends the specified CMD to RESCO.
4.2.2.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) DELCO ̲CMD ̲TO ̲RESCO (CMD ̲ID:
SPIP ̲INTERNAL ̲ITEM ̲TYPE)
b) DELCO ̲CMD ̲TO ̲RESCO (R0, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 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.2.6.5.3 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.2.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTNING
4.2.2.6.6 D̲E̲L̲C̲O̲ ̲C̲C̲ ̲T̲O̲ ̲S̲P̲I̲C̲O̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.2.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̲
The procedure sends the specified CC to SPICO.
4.2.2.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) DELCO ̲CC ̲TO ̲SPICO (CC ̲ID:
SPIP ̲INTERNAL ̲ITEM ̲TYPE)
b) DELCO ̲CC ̲TO ̲SPICO (R0, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 CC ̲ID (Dest)
R6 LINK (Dest)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 -
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.2.6.6.3 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.2.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.7 S̲E̲N̲D̲ ̲R̲E̲T̲U̲R̲N̲ ̲S̲Y̲I̲E̲ ̲T̲A̲B̲ ̲F̲I̲L̲E̲ ̲C̲M̲D̲ ̲P̲R̲T̲
Specification
4.2.2.6.7.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 a RETURN ̲FILE command to the command
queue of the printer assigned as supervisor printer.
If a new printer has just been assigned as supervisor
printer(configuration change) the command is sent to
the old one.
4.2.2.6.7.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) SEND ̲RETURN ̲SYIE ̲TAB ̲FILE ̲CMD ̲TO ̲PRT
B) SEND ̲RETURN ̲SYIE ̲TAB ̲FILE ̲CMD ̲TO ̲RET(R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK Destroyed
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.2.6.7.3 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̲
N/A
4.2.2.6.7.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.2.6.8 D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲C̲H̲E̲C̲K̲P̲ ̲A̲C̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲.̲
4.2.2.6.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The procedure checks whether current item shall be
checkpointed or not.
4.2.2.6.8.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) DETERMINE ̲CHECKP ̲ACTIONS
b) DETERMINE ̲CHECKP ̲ACTIONS (R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK Destroyed
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.2.6.8.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.2.6.8.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.6.9 D̲E̲L̲C̲O̲ ̲S̲A̲V̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲
4.2.2.6.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The procedure saves the view specified by DELCO ̲INPUT
̲QEL.
4.2.2.6.9.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) DELCO ̲SAVE (DISMANTLE : BOOLEAN)
b) DELCO ̲SAVE (R0, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 DISMANTLE (DESTR)
R6 LINK (DESTR)
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.2.6.9.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Ref. SOURCE LISTING
4.2.2.6.9.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. SOURCE LISTING
4.2.2.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
4.2.2.7.1 D̲E̲L̲C̲O̲ ̲S̲P̲I̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The following items are sent to SPICO via operation
semaphore SPIP ̲S1:
SPIP ̲CLOSE ̲CC
CONFIG ̲CHANGE ̲CC
PRINTQ ̲CANCELLED ̲CC
PRINTQ ̲UNBLOCKED ̲CC
4.2.2.7.2 S̲P̲I̲C̲O̲ ̲D̲E̲L̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The following items are sent from SPICO via operation
semaphore SPIP ̲S2:
SPIP ̲CLOSE
CONFIG ̲CHANGE
PRINTQ ̲CANCELLED
PRINTQ ̲UNBLOCKED
4.2.2.7.3 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 ̲REQ
RESPONSE ̲FROM ̲UMAM
4.2.2.7.4 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