top - download
⟦69ccb3140⟧ Wang Wps File
Length: 46502 (0xb5a6)
Types: Wang Wps File
Notes: Spelunked
Names: »~ORPHAN76.08«
Derivation
└─⟦11f497f33⟧ Bits:30005812 8" Wang WCS floppy, CR 0119A
└─ ⟦this⟧ »~ORPHAN76.08«
WangText
>…07…=…09…=…0b…=…0f…=…02…= =…07…<…0b…<…0d…<…0f…<…01…<
<…05…;…08…;…0a…;…0c…;…00…;…05…:…08…:…86…1
…02…
…02…
…02…
…02…CPS/SDS/036
…02…
KS/820505…02……02…
SUPERVISOR
PRINTER
DETAILED
DESIGN
SPECIFICATION…02……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.-9.
In the following, a functional description of each
module i 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 make 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 CLOS 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 sentto UMAM. CLOSE
̲CCs will stop DELCO actions and cause a CLOSE ̲CC
to be sent to SPICO.
e) P̲R̲O̲C̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲
When a GET ̲THRESHOLD ̲WARNING is completed, a warning
report will be generated and delivered to the report
printer. Furthermore, a new GE ̲THRESHOLD ̲WARNING
system call is initiated.
f) 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.
) 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.
h) D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲Q̲U̲E̲S̲T̲
Tis 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 ̲ueue, the actions taken are the same as for
DELIVER ̲ITEM.
i) 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 he print queue is blocked.…86…1
…02… …02… …02… …02…
Fig. 4.2.2.2-1/9…86…1 …02… …02… …02… …02…
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 ound 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).…86…1 …02… …02… …02… …02…
Diag. 4.2.2.3-1/12…86…1 …02… …02… …02… …02…
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 te 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̲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̲
D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SPIP ̲S2 ref. sec. 4.1.4
DELCO ̲CLOSED ̲FLAG,
DELCO ̲INPUT ̲QREF (m),
DELIVERY ̲INDEX (m),
ESCO ̲ITEM (m),
DELIVERY ̲QREF (m) ref. sec. 4.2.2.5…86…1
…02… …02… …02… …02… …02… …02…
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 dlivered
when SPIP ̲S2 is signalled.
Ref. Fig. 4.2.2.4.1-1 through Fig. 4.2.2.4.1-5.…86…1…02…
…02… …02… …02… …02… …02… …02…
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
)
SYSTEM ̲CALL ? P̲R̲O̲C̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ (4.2.2.4.5
)
ANSQ ̲ITEM ? P̲R̲O̲C̲ ̲A̲N̲S̲Q̲ ̲I̲T̲E̲M̲ (4.2.2.4.6
)
REPQ ̲ITEM ? D̲E̲L̲I̲V̲E̲R̲ ̲R̲E̲P̲ ̲I̲T̲E̲M̲ ( - 2
)
SUPQ ̲ITEM ? D̲E̲L̲I̲V̲E̲R̲ ̲S̲U̲P̲ ̲I̲T̲E̲M̲ ( - 3
)
LOGQ ̲ITEM ? D̲E̲L̲I̲V̲E̲R̲ ̲L̲O̲G̲ ̲I̲T̲E̲M̲ ( - 4
)
STAQ ̲ITEM ? D̲E̲L̲I̲V̲E̲R̲ ̲S̲T̲A̲ ̲I̲T̲E̲M̲ ( - 5 )
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)4.1.5.5
)
END ̲CASE
END DELCO ̲MAIN ̲LOOP
END
Fig. 4.2.2.4.1-1…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲REP ̲ITEM
SET DELCO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲REPQ
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.6)
SET DELIVERY ̲INDEX = REP
SET DELIVERY ̲QREF.SUBQUEUE = DELCO ̲INPUT ̲SUBQUEUE
SET RESCO ̲ITEM = FALSE
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ (4.2.2.4.7)
END
Fig. 4.2.2.4.1-2…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲SUP ̲ITEM
SET DELCO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲SUPQ
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.6 )
SET DELIVERY ̲INDEX = SUP
SET DELIVERY ̲QREF.SUBQUEUE = DELCO ̲INPUT ̲SUBQUEU
+ 1
SET RESCO ̲ITEM = FALSE
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ (4.2.2.4.7 )
END
Fig. 4.2.2.4.1-3…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲LOG ̲ITEM
SET DELCO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲LOGQ
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.6)
SET DELIVERY ̲INDEX = LOG
SET DELIVERY ̲QREF.SUBQUEUE = PRIS ̲LOG
SET RESC ̲ITEM = FALSE
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ (4.2.2.4.7 )
END
Fig. 4.2.2.4.1-4…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲STA ̲ITEM
SET DELCO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲STAQ
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.6)
SET DELIVERY ̲INDEX = STA
SET DELIVERY ̲QREF.SUBQUEUE = PRIS ̲STAT
SET RECO ̲ITEM = FALSE
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ (4.2.2.4.7 )
END
Fig. 4.2.2.4.1-5…86…1…02… …02… …02… …02… …02… …02… …02…
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 receve
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̲
DELCO ̲CLOSED ̲FLAG (m),
DELIVERY ̲INDEX (m),
SPIP ̲DELIVERY ̲RECORDS (m) - ref. sec. 4.2.2.5
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SUPV ̲PRINTERS ref. CPS/DBD/001…86…1…02…
…02… …02… …02… …02… …02… …02…
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 through 4.2.2.4.2-4.
INITIALIZE ̲DELCO
SET DELCO ̲CLOSED ̲FLAG = FALSE
G̲E̲T̲ ̲M̲M̲S̲ ̲W̲A̲R̲N̲I̲N̲G̲ (4.2.2.6.2)
I̲N̲I̲T̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲R̲E̲C̲O̲R̲D̲S̲ ( - 2 )
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)
SET DLIVERY ̲INDEX = REP
LOOP
I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ (4.2.2.6.7)
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT STA ? - EXIT ̲LOOP
END ̲LOOP
END
Fig. 4.2.2.4.2-1…86…1…02… …02… …02… …02… …02… …02… …02…
INIT ̲DELIVERY ̲RECORDS
CASE GET ̲SYSTEM ̲PARAMETER (SUPV ̲PRINTER
̲PARAMETERS)
(SUPV ̲PRINTER
̲CONFIG,
CC): ERROR
̲OK
ERROR ? ANALYSE ̲ERROR (CC,0): OK
OK ? SET DELIVERY ̲INDEX = REP
LOOP
WITH SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX) DO
SET .DEVICE ̲DESIGNATOR
=
SUPV ̲PRINTER ̲CONFIG(DELIVERY
̲INDEX)
SET .BOCKED
= FALSE
SET .PRIS ̲MAIN ̲QREF
=
.DEVICE ̲DESIGNATOR
+
PRIS ̲PRINTQ ̲GROUP ̲REF
SET .PRIS ̲CMD ̲QREF
=
.DEVICE ̲DESIGNATOR +
PRI ̲CMDQ ̲GROUP ̲REF
S̲E̲T̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ ̲Q̲E̲L̲ ( - 3
)
END ̲WITH
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT STA ? EXIT
LOOP
END ̲LOOP
S̲E̲T̲ ̲S̲P̲I̲P̲ ̲I̲N̲P̲U̲T̲ ̲Q̲R̲E̲F̲S̲ ( - 4
)
END ̲CASE
END
Fig. 4.2.2.4.2-2…86…1…02… …02… …02… …02… …02… …02… …02…
SET ̲OUTST ̲REQ ̲QEL
SET REQ ̲COUNTER = 1
LOOP
SET .OUTST ̲REQ ̲QEL(REQ ̲COUNTER)
= NIL
INCREMENT REQ ̲COUNTER
REQ ̲COUNTER GT MAX ̲OUTST ̲REQS? EXIT
̲LOP
END ̲LOOP
END
Fig. 4.2.2.4.2-3…86…1…02… …02… …02… …02… …02… …02… …02…
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 ̲QRF = SPIP ̲LOGQ
SET (STA).SPIP ̲INPUT ̲QREF = SPIP ̲STAQ
END ̲WITH
END
Fig. 4.2.2.4.2-4…86…1…02… …02… …02… …02… …02… …02… …02…
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 ar:
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 ̲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.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 theprint queues is no longer
blocked - ref. fig. 4.2.2.4.3-7.
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. Ref. fig. 4.2.2.4.3-8.
4.2.2.4.3.4 D̲a̲t̲a̲ ̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SPIP ̲ANSQ ̲OP (m),
SPIP ̲REPQ ̲OP (m),
SPIP ̲SUPQ ̲OP (m),
SPIP ̲LOGQ ̲OP (m),
SPIP ̲STAQ ̲OP (m),
SPIP ̲DELCO ̲MMS ̲WARN ̲OP (m),
DELIVERY ̲INDEX (m),
SUPV ̲PRINTER ̲CONFIG (m),
SPIP ̲DELIVERY ̲RECORDS (m) - ref. sec 4.2.2.5
SPIP ̲SPICO ̲ITEM ̲OP - ref. sec. 4.1.4
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.…86…1…02…
…02… …02… …02… …02… …02… …02…
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 )
RINTQ ̲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 ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲
(4.1.5.5 )
END ̲CASE
END
Fig. 4.2.2.4.3-1…86…1…02… …02… …02… …02… …02… …02… …02…
DELCO ̲PROC ̲SPIP ̲CLOSE ̲CMD
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲A̲N̲S̲Q̲ ̲O̲P̲)̲ (4.1.5.4
)
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲R̲E̲P̲Q̲ ̲O̲P̲)̲ (4.1.5.4
)
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲S̲U̲P̲Q̲ ̲O̲P̲)̲ (4.1.5.4
)
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲L̲O̲G̲Q̲ ̲O̲P̲)̲ (4.1.5.4
)
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲S̲T̲A̲Q̲ ̲O̲P̲)̲ (4.1.5.4
)
C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲D̲E̲L̲C̲O̲ ̲M̲M̲S̲ ̲W̲A̲R̲N̲
̲O̲P̲)̲ (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.8)
END
Fig. 42.2.4.3-2…86…1…02… …02… …02… …02… …02… …02… …02…
CONFIG ̲CHANGE ̲ACTIONS
CASE GET ̲SYSTEM ̲PARAMETER (SUPV ̲PRINTER
̲PARAMS)
(SUPV ̲PRINTER ̲CONFIG,
CC): ERROR ̲OK
ERROR ? ANALYSE ̲ERROR(CC, 0): O
OK ?SET DELIVERY ̲INDEX = REP
LOOP
SUPV ̲PRINTER ̲CONFIG(DELIVERY ̲INDEX)
EQ
SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX).
DEVICE ̲DESIGNATOR ?
SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.BLOCKED EQ TUE?
R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ (4.2.2.6.1 )
DELIVERY ̲INDEX NE SUP ?
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(̲C̲L̲E̲A̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲8̲)̲
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 STA ? - XIT ̲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.9)
END ̲CASE
END
Fig. 4.2.2.4.3-3…86…1…02… …02… …02… …02… …02… …02… …02…
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…86…1…02… …02… …02… …02… …02… …02… …02…
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.6.1)
SET SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX).BLOCKED=
TRUE
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.9)
END
Fig. 4.2.2.4.3-5…86…1…02… …02… …02… …02… …02… …02… …02…
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̲)̲
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̲ ̲C̲C̲)̲ (4.2.2.6.9
)
END
Fig. 4.2.2.4.3-6…86…1…02… …02… …02… …02… …02… …02… …02…
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.7)
DELIVERY ̲INDEX NE SUP ?
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲C̲O̲ ̲(̲R̲E̲A̲D̲Y̲)̲ (4.2.2.6.8)
END
Fig. 4.2.2.4.3-7…86…1…02… …02… …02… …02… …02… …02… …02…
DETERMINE ̲DELIVERY ̲INDEX (DEV ̲DES)
SET DELIVERY ̲INDEX = REP
LOOP
DEV ̲DES EQ SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX)
.DEVICE ̲DESIGNATOR ? EXIT ̲LOOP
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT STA ? - E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲G̲U̲P̲,̲I̲N̲T̲)̲(4.1.5.5)
END ̲LOOP
END
Fig. 4.2.2.4.3-8…86…1…02… …02… …02… …02… …02… …02… …02…
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 ppropriate
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̲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̲
N/A
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̲
DELCO ̲CLOSED ̲FLAG (m),
DELIVERY ̲INDEX (m),
DELIVERY ̲QREF (m),
DELCO ̲INPUT ̲ATTR (m),
RESCO ̲ITEM (m),
DELCO ̲INPUT ̲QEL (m - Ref. sec. 4.2.2.5
SPIP ̲SEND ̲PARAMS (m),
SPIP ̲ANSWER ̲QUEUE ̲REF (m) Ref. sec. 4.1.4.
4.2.2.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.4-1 through Fig. 4.2.2.4.4-3
PROC ̲RESCO ̲ITEMS
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̲ ̲(̲C̲L̲O̲S̲E̲ ̲C̲C̲)̲
(4.2.2.6.9)
SET DELCO ̲CLOSED ̲FLAG = TRUE
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T)̲
(4.1.5.5 )
END ̲CASE
END
Fig. 4.2.2.4.4-1…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲RESCO ̲ITEM
SET DELIVERY ̲INDEX = SUP
SET DELIVERY ̲QREF.SUBQUEUE = PRIS ̲SYIE ̲TAB
SET DELCO ̲INPUT ̲ATTR.INFORMATION ̲TYPE= TRUE
SET DELCO ̲INPUT ̲ATTR.FUNCTION ̲RE = OPERATION.OP
̲DATA4
SET RESCO ̲ITEM = TRUE
SET SPIP ̲SEND ̲PARAMS.HEADER.MAINTYPE =
RESCO ̲DELIVERY ̲MAINTYPE
SET SPIP ̲SEND ̲PARAMS.HEADER.SUBTYPE =
RESCO ̲DELIVERY ̲SUBTYPE
SET SPIP ̲SEND ̲PARAMS.HEADER.FLAGS =
RESCO ̲DELIERY ̲FLAGS
SET DELCO ̲INPUT ̲QEL = OPERATION.OP ̲DATA1
SET DELCO ̲INPUT ̲ATTR.INFORMATION(1)=OPERATION.OP
̲DATA1
SET DELCO ̲INPUT ̲ATTR.INFORMATION(2)=OPERATION.OP
̲DATA2
SET DELCO ̲INPUT ̲ATTR.INFORMATION(3)=OPERATION.OP
̲DATA3
SET DELCO ̲INUT ̲ATTR.OBJECT=BUFFER
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲)̲
END
Fig. 4.2.2.4.4-2…86…1…02… …02… …02… …02… …02… …02… …02…
SEND ̲UMAM ̲REQUEST
SET DELIVERY ̲QREF.MAIN ̲QUEUE = UMAM ̲COLLECT
SET DELIVERY ̲QREF.SUBQUEUE = REQUEST
SET SPIP ̲SEND PARAMS.INFORMATION ̲TYPE =
FALSE
SET SPIPSEND ̲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 ̲ANSWER ̲QUEUE ̲REF.MAIN ̲QUEU =
SPIP ̲ANSQ
SET SPIP ̲ANSWER ̲QUEUE ̲REF.SUB ̲QUEUE =
MAIN
CASE SEND ̲REQUEST(SPIP ̲SEND ̲PARAMS,OPERATION.OP
̲DATA1,
DELIVERY ̲QREF,
SPIP ̲ANSWER ̲QUEUE ̲REF
(SPIP ̲SEND ̲PARAMS, CC): ERROR
̲OK
ERROR? CASE ANALYSE ̲ERROR (CC, 1, BLOCKED
̲QUEUE)(UMAM ̲Q ̲B)
UMAM ̲Q ̲B ? D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲
̲(̲C̲L̲E̲A̲R̲)
(4.2.2.6.8
)
END CASE
OK ?
END ̲CASE
S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲E̲(̲O̲P̲E̲R̲A̲T̲I̲O̲N̲.̲O̲P̲ ̲D̲A̲T̲A̲1̲,̲B̲U̲F̲F̲E̲R̲)(4.1.5.3)
END
Fig. 4.2.2.4.4-3…86…1 …02… …02… …02… …02… …02… …02…
4.2.2.4.5 P̲R̲O̲C̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲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̲
When a GET ̲THRESHOLD ̲WARNING is completed,
a Warning report will be generated and
delivered to te report printer. Furthermore,
a new GET ̲THRESHOLD ̲WARNING system call
is initiated.
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 ̲SYSTEM ̲CALL
b) PROC ̲SYSTEM ̲CALL (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.5.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A.
4.2.2.4.5.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̲
DELIVERY ̲QREF (m),
DELCO ̲INPUT ̲QEL (m),
MMS ̲WARN ̲BUF (m),
DELIVERY ̲INDEX (m),
DELCO ̲INPUT ̲ATTR (m),
NOT ̲Q ̲ITEM (m), ref. sec. .2.2.5
4.2.2.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.5-1 through Fig. 4.2.2.4.5-3…86…1…02…
…02… …02… …02… …02… …02… …02…
PROC ̲SYSTEM ̲CALL
CASE OPERATION.ITEM ̲NAME OF:
THRESHOLD ̲WARNING ? P̲R̲O̲C̲ ̲T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲
( - 2 )
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲ (4.1.5.
)
END ̲CASE
END
Fig. 4.2.2.4.5-1…86…1…02… …02… …02… …02… …02… …02… …02…
PROC ̲THRESHOLD ̲WARNING
SET DELIVERY ̲QREF.MAIN ̲QUEUE = SPIP ̲REPQ
SET DELIVERY ̲QREF.SUB ̲QUEUE = MAIN
CASE RESERVE ̲BUFFER (MMS ̲WARN ̲BUF ̲LENGTH,
DELIVERY ̲QRF )
(DELCO ̲INPUT ̲QEL, CC): ERROR
̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0): OK
OK ? CASE READ ̲TIME (F ̲TIME ̲TYPE)
(MMS ̲WARN ̲BUF.MMS ̲REF ̲TIME,
CC): ERROR ̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0) OK
OK ?
END ̲CASE
END ̲CASE
CASE WAIT ̲SYSTEM ̲CALL (MMS ̲WARNING ̲OP, CC): ERROR
̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0): OK
OK ?
END CASE
CASE MMS ̲WARNING ̲TYPE OF:
STS ̲WARNING ? SET MMS ̲WARN ̲BUF.MMS ̲WAR ̲TEXT ̲REF
=
STS ̲WARNING ̲TEXT
ITS ̲WARNING ? SET MMS ̲WARN ̲BUF.MMS ̲WARN ̲TEXT
̲REF =
ITS ̲WARNING ̲TEXT
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲(4.1.5.5
)
SET MMS ̲WARN ̲BUF.MMS ̲WARN ̲TEXT ̲REF=
UNIDENTIFED ̲MMS ̲WARN ̲TEXT
END ̲CASE
R̲E̲S̲T̲ ̲O̲F̲ ̲T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲P̲R̲O̲C̲ ( - 3 )
END
Fig. 4.2.2.4.5-2…86…1…02… …02… …02… …02… …02… …02… …02…
REST ̲OF ̲THRESHOLD ̲WARNING ̲PROC
CASE WRITE ̲BUFFER (DELCO ̲INPUT ̲QEL,
MMS ̲WARN ̲BUF,
MMS ̲WARN ̲BUF ̲LENGTH)
(WORDS ̲WRITTEN, CC): ERROR ̲OK
ERROR? ANALYSE ̲ERROR ( CC, 0): OK
OK ?
END ̲CASE
SET DELIVERY ̲INDEX = REP
SET DELIVERY ̲QREF.SUB ̲QUEUE = PRIS ̲REPORTS
SET DELCO ̲INPUT ̲ATTR.INFORMATION ̲TYPE = FALSE
SET DELCO ̲INPUT ̲ATTR.CHECKP ̲STATUS = 0
SET DELCO ̲INPT ̲ATTR.HEADER.MAINTYPE = REPORT
SET DELCO ̲INPUT ̲ATTR.HEADER.SUBTYPE = WARNING ̲REPORT
SET DELCO ̲INPUT ̲ATTR.FUNCTION ̲REQ = FALSE
SET NOT ̲Q ̲ITEM = TRUE
D̲E̲L̲I̲V̲E̲R̲ ̲I̲T̲E̲M̲ (4.2.2.4.7)
SET NOT ̲Q ̲ITEM = FALSE
G̲E̲T̲ ̲M̲M̲S̲ ̲W̲A̲R̲N̲I̲N̲G̲ (4.22.6.2)
END
Fig. 4.2.2.4.5-3…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.4.6 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.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̲
This module processes the replies received from
PRIS and UMAM. If the request was originally causd
by a RESCO item, the reply will be passed on to
RESCO.
4.2.2.4.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) 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̲
None.
4.2.2.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
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̲
DELCO ̲INPUT ̲QREF (m),
DELCO ̲INPUT ̲ATTR (m),
DELIVERY ̲INDEX (m),
REQ ̲COUNTER (m),
SPIP ̲DELIVERY ̲RECORDS (m),
DELCO ̲INPUTQEL - ref. sec. 4.2.2.5
SPIP ̲DELCO ̲ITEM ̲OP (m) - ref. sec. 4.1.4
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-5.…86…1…02…
…02… …02… …02… …02… …02… …02…
PROC ̲ANSQ ̲ITEM
SET DELCO ̲INPUT ̲QREF.MAIN ̲QUEUE = SPIP ̲ANSQ
R̲E̲C̲E̲I̲V̲E̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
CASE DELCO ̲INPUT ̲ATTR.HEADER.MAINTYPE OF:
TEP ̲INTERNAL ? A̲N̲A̲L̲Y̲S̲E̲ ̲T̲E̲P̲ ̲N̲T̲E̲R̲N̲A̲L̲
( - 2 )
ACK? A̲N̲A̲L̲Y̲S̲E̲ ̲A̲C̲K̲(-5)
OTHERWISE ? - E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲Q̲E̲R̲)̲
(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…86…1…02… …02… …02… …02… …02… …02… …02…
ANALYSE ̲TEP ̲INTERNAL
CASE DELCO ̲INPUT ̲ATTR.HEADER.SUBTYPE OF:
RESPONSE ̲TO ̲QUEUE ̲LENGTH ̲REQUEST ?
SET SPIP ̲DELCO ̲ITEM ̲OP.OP ̲DATA1 = DELCO
̲INPUT ̲QEL
SET SPI ̲DELCO ̲ITEM ̲OP.OP ̲DATA4 = DELCO
̲INPUT ̲ATTR.OBJECT
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̲)̲
(4.2.2.6.8
)
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲
̲(̲4̲.̲1̲.̲5̲.̲5̲ ̲ ̲)̲
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̲E̲C̲T̲)̲
(4.1.5.3
)
END CASE
END
Fig. 4.2.2.4.6-2…86…1…02… …02… …02… …02… …02… …02… …02…
PROC ̲PRIS ̲PRINT ̲REPLY
DELCO ̲INPUT ̲ATTR.HEADER.INF EQ NIL ?
S̲E̲N̲D̲ ̲P̲R̲I̲N̲T̲ ̲A̲C̲K̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ (
- 4 )
SET DELIVERY ̲INDEX = REP
LOOP
SET REQ ̲COUNTER 1
LOOP
SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲QEL (REQ ̲COUNTER)
EQ DELCO ̲INPUT ̲ATTR.HEADER.INF ?
D̲E̲L̲C̲O̲ ̲R̲E̲P̲L̲Y̲ (4.2.2.4.9)
EXIT ̲LOOP EXIT
̲LOOP
INCREMENT REQ ̲COUNTER
REQ ̲COUNTER GTMAX ̲OUTST ̲REQS ? EXIT
LOOP
END ̲LOOP
INCREMENT DELIVERY ̲INDEX
DELIVERY ̲INDEX GT STA ? EXIT ̲LOOP
END ̲LOOP
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̲)̲
(4.1.5.3 )
END
Fig. .2.2.4.6-3…86…1…02… …02… …02… …02… …02… …02… …02…
SEND ̲PRINT ̲ACK ̲TO ̲RESCO
DELCO ̲INPUT ̲ATTR.OBJECT NE BUFFER?
SET SPIP ̲DELCO ̲ITEM ̲OP.OP ̲DATA1 = DELCO
̲INPUT ̲QEL
SET SPIP ̲DELCO ̲ITEM ̲OP.OP ̲DATA2=
DELCO ̲IPUT ̲ATTR.INFORMATION (1)
SET SPIP ̲DELCO ̲ITEM ̲OP.OP ̲DATA3=
DELCO ̲INPUT ̲ATTR.INFORMATION(2)
SET SPIP ̲DELCO ̲ITEM ̲OP.OP ̲DATA4 =
DELCO ̲INPUT ̲ATTR.HEADER.FLAGS
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̲)̲
(4.2.2.6.8 )
E̲R̲R̲H̲A̲N̲D̲L̲(̲D̲E̲L̲,̲C̲O̲N̲,̲Q̲E̲R̲)̲(4.1.5.5)
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)
(4.1.5.3)
D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲ ̲(̲C̲L̲E̲A̲R̲)̲ (4.2.2.6.8)
END
Fig. 4.2.2.4.6-4…86…1…02… …02… …02… …02… …02… …02… …02…
ANALYSE ̲ACK
DELCO ̲INPUT ̲ATTR.HEADER.SUBTYPE NE PRIS ̲PRINT
̲REPLY?
P̲R̲O̲C̲ ̲P̲R̲I̲S̲ ̲P̲R̲I̲N̲T̲ ̲R̲E̲P̲L̲Y(-3)
E̲R̲R̲ ̲H̲A̲N̲D̲L̲(̲D̲E̲L̲C̲O̲,̲C̲O̲N̲,̲Q̲E̲R)(4.1.5.5)
END
Fig. .2.2.4.6-5…86…1…02… …02… …02… …02… …02… …02… …02…
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̲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̲
SPIP ̲SEND ̲PARAMS (m) - ref. sec. 4.1.4
CHECKPOINTING,
DELCO ̲INPUT ̲ATTR (m),
DELIVERY ̲QREF (m),
SPIP ̲DELIVERY ̲RECORDS,
DELCO ̲INPUT ̲QEL,
RESCO ̲ITEM - ref. sec. 4.2.2.5…86…1…02…
…02… …02… …02… …02… …02… …02…
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 through Fig. 4.2.2.4.7-2.
DELIVER ̲ITEM
SET SPIP ̲SEND ̲PARAMS.INFORMATION ̲TYPE =
DELCO ̲INPUT ̲ATTR.INFORMATION ̲TYPE
SPIP SEND ̲PARAMS.INFORMATION ̲TYPE EQ FALSE
?
SET SPIP ̲SEND ̲PARAMS.INFORMAION (1..3) =
DELCO ̲INPUT ̲ATTR.INFORMATION (1..3)
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.10)
SET SPIP ̲SEND ̲PARAMS.CHECKP ̲STATUS =CHECKPOINTING
SET SPIP ̲SEND ̲PARAMS.PROFILE = 0
SET SPIP ̲SEND ̲PARAMS.HEADER = DELCO ̲INPUT
̲ATTR.HEADR
".MAINTYPE-.SUBTYPE-.FLAGS-.INF"
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…86…1…02… …02… …02… …02… …02… …02… …02…
DELIVER ̲DISMANTLE
RESCO ̲ITEM EQ TRUE? SET SPIP ̲SEND ̲PARAMS.HEADER.INF=NIL
SET SPIP ̲SEND ̲PARAMS.HEADER.INF = DELCO
̲INPUT ̲ATTR.HEADER.INF
CASE SEND ̲QEL (SPIP ̲SEND ̲PRAMS,
DELCO ̲INPUT ̲QEL,
DELIVERY ̲QREF )
(SPIP ̲SEND ̲PARAMS, 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.6.3)
END CASE
OK? CHECKPOINTING EQ TRUE?-D̲E̲L̲C̲O̲ ̲S̲A̲V̲E̲ ̲(̲T̲R̲U̲E̲)̲(̲4.2.2.6.11)
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̲)̲
(4.1.5.3 )
RESCO ̲ITEM EQ TRUE OR NOT ̲Q ̲ITEMEQ TRUE
?
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…86…1 …02… …02… …02… …02… …02… …02…
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. A
reference to theoriginal 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̲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…86…1 …02… …02… …02… …02… …02… …02…
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̲
CHECKPOINTING,
RESCO ̲ITEM,
SPIP ̲ANSWER ̲QUEUE ̲REF (m),
DELIVERY ̲QREF (m),
DELCO ̲INPUT ̲QEL,
REQ ̲COUNTER (m),
SPIP ̲DELIVERY ̲RECODS (m),
DELCO ̲INPUT ̲ATTR - ref. sec. 4.2.2.5
SPIP ̲SEND ̲PARAMS (m), - ref. sec. 4.1.4
4.2.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.8-1 through Fig. 4.2.2.4.8-3.…86…1…02…
…02… …02… …02… …02… …02… …02…
DELIVER ̲REQUEST
RESCO ̲ITEM EQ TRUE ? - SET SPIP ̲SEND ̲PARAMS.HEADER.INF
= NIL
SET ̲SPIP ̲SEND ̲PARAMS.HEADER.INF = DELCO
̲INPUT ̲QEL
SET SPIP ̲ANSWER ̲QUEUE ̲REF.MAIN ̲QUEUE SPIP
̲ANSQ
SET SPIP ̲ANSWER ̲QUEUE ̲REF.SUB ̲QUEUE = MAIN
CASE SEND ̲REQUEST (SPIP ̲SEND ̲PARAMS
,
DELCO ̲INPUT ̲QEL ,
DELIVERY ̲QREF ,
SPIP ̲ANSWER ̲QUEUE ̲REF)
(SPIP ̲SEND ̲PARAMS, CC)
: ERROR ̲OK
ERROR ? CASE ANALYSE ̲ERROR (CC, 1, BLOCKED
̲QUEUE):(BQ)
BQ ? - 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.6.3)
END CASE
OK ? RESCO ̲ITEM EQ TRUE ?
S̲A̲V̲E̲ ̲O̲U̲T̲S̲T̲A̲N̲D̲I̲N̲G̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲R̲E̲F̲ (
- 2 )
CHECKPOINTING EQ TRUE? - E̲L̲C̲O̲ ̲S̲A̲V̲E̲
̲(̲F̲A̲L̲S̲E̲)̲
(4.2.2.6.11)
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.8-1…86…1…02… …02… …02… …02… …02… …02… …02…
SAVE ̲OUTSTANDING ̲REQUEST ̲REF
SET REQ ̲COUNTER = 1
SEARCH ̲LOOP
SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲QEL(REQ ̲COUNTER) EQ NIL ?
S̲A̲V̲E̲ ̲R̲Q̲U̲E̲S̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲
( - 3 )
EXIT
̲LOOP
INCREMENT REQ ̲COUNTER
REQ ̲COUNTER GT MAX ̲OUTST ̲REQS? - E̲R̲R̲O̲R̲ ̲H̲A̲N̲D̲L̲
̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲
(4.1.5.5
)
EXIT ̲LOOP
END ̲SEARCH ̲LOOP
END
Fig. 4.2.2.4.82…86…1…02… …02… …02… …02… …02… …02… …02…
SAVE ̲REQUEST ̲PARAMETERS
WITH SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
DO
SET .OUTST ̲REQ ̲QEL (REQ ̲COUNTER)
= DELCO ̲INPUT ̲QEL
SET .OUTST ̲REQ ̲OBJECT ̲TYPE(RQ ̲COUNTER)
=
DELCO ̲INPUT
̲ATTR.OBJECT
SET .OUTST ̲REQ ̲MAINTYPE(REQ ̲COUNTER)
=
DELCO ̲INPUT ̲ATTR.HEADER.MAINTYPE
SET .OUTST ̲REQ ̲SUBTYPE(REQ ̲COUNTER)
=
DELCO ̲INPUT ̲ATTR.HEADER.SUBTYPE
END ̲WITH
ND
Fig. 4.2.2.4.8-3…86…1…02… …02… …02… …02… …02… …02… …02…
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 placewhen 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̲
R - 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. Ref. Fig.
4.2.2.4.9-4.
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̲
SPIP ̲REPLY ̲PARAMS (m) ref. sec. 4.1.4
SPIP ̲DELIVERY ̲RECORDS (m),
REQ ̲COUNTER - ref. sec. 4.2.2.5
4.2.2.4.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.4.9-1 through Fig. 4.2.2.4.9-4.…86…1…02…
…02… …02… …02… …02… …02… …02…
DELCO ̲REPLY
CASE SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲MAINTYPE(REQ ̲COUNTER) OF:
LOG ̲CIF ? A̲N̲A̲L̲Y̲S̲E̲ ̲L̲O̲G̲ ̲C̲I̲F̲ ̲R̲E̲P̲L̲Y̲ (
- 2 )
STATUS ? SPIP ̲ELIVERY ̲RECORDS (DELIVERY
̲INDEX)
.OUTST ̲REQ ̲SUBTYPE (REQ ̲COUNTER)
EQ DELIVERY ̲MIDNIGHT ̲STATUS
?
SET SPIP ̲REPLY ̲PARAMS.HEADER.MAINTYPE
=
TEP
̲INTERNAL
SET SPIP ̲REPLY ̲PARAMS.HEADER.SUBTYPE
=
ELIVERY ̲MIDNIGHT ̲STATUS ̲REPLY
D̲E̲L̲C̲O̲ ̲F̲U̲N̲C̲ ̲R̲E̲P̲L̲Y̲ (- 4 )
E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲ (4.1.5.5
)
TWENTYFOUR ̲HOURLY ̲OUTPUT ?
SPIP ̲DELIVERY ̲RECORDS(DELIVERY
̲INDEX)
.OUTST ̲REQ ̲SUBTYPE(REQ ̲COUNTER)
EQ STATISTIS ̲OUTPUT ̲TW ̲HOUR
SET SPIP ̲REPLY ̲PARAMS.HEADER.MAINTYPE
=ACK
SET SPIP ̲REPLY ̲PARAMS.HEADER.SUBTYPE
=
STP ̲ACK ̲DELIVERY
D̲E̲L̲C̲O̲ ̲F̲U̲N̲C̲ ̲R̲E̲P̲L̲Y̲ ( - 4 )
E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲ (4.1.5.5
)
OTHERWISE ? - E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲C̲O̲N̲,̲I̲N̲T̲)̲
(4.1.5.5 )
END ̲CASE
D̲E̲L̲C̲O̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ( - 3)
SET SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲QEL (REQ ̲COUNTER) = NIL
END
Fig. 4.2.2.4.9-1…86…1…02… …02… …02… …02… …02… …02… …02…
ANALYSE ̲LOG ̲CIF ̲REPLY
CASE SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲SUBTYPE (REQ ̲COUNTER) OF:
TRACE ̲ALL ?
TRACE ̲INCOMING ̲MSG ?
TRACE ̲OTGOING ̲MSG ?
TRACE ̲CH ̲DISCONTINUITY ?
TRACE ̲TERMINAL ̲PROC ?
TRACE ̲MSG ̲DIST ?
TRACE ̲MSG ̲SERVICE ?
TRACE ̲SUPV ̲TRANS ?
TRACE ̲SECURITY ̲PROC ?
SET SPIP ̲REPLY ̲PARAMS.HEADER.MAINTYPE
= ACK
SET SPIP ̲REPL ̲PARAMS.HEADER.SUBTYPE
= LOG ̲TRACE ̲PRINT
D̲E̲L̲C̲O̲ ̲F̲U̲N̲C̲ ̲R̲E̲P̲L̲Y̲ ̲(̲ - 4 )
OTHERWISE ? E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲(4.1.5.5
END ̲CASE
END
Fig. 4.2.2.4.4-2…86…1…02… …02… …02… …02… …02… …02… …02…
DELCO ̲DISMANTLE
S̲P̲I̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲S̲P̲I̲P̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲Y̲
̲I̲N̲D̲E̲X̲)
.O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ ̲Q̲E̲L̲(̲R̲E̲Q̲ ̲C̲O̲U̲N̲T̲E̲R̲),
S̲P̲I̲P̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲Y̲
̲I̲N̲D̲E̲X̲)
.O̲U̲T̲S̲T̲ ̲R̲E̲Q̲O̲B̲J̲E̲C̲T̲ ̲T̲Y̲P̲E̲ ̲(̲R̲E̲Q̲ ̲C̲O̲U̲N̲T̲E̲R̲)̲)
(4.1.5.3)
END
Fig. 4.2.2.4.9-3…86…1…02… …02… …02… …02… …02… …02… …02…
DELCO ̲FUNC ̲REPLY
WITH SPIP ̲REPLY ̲PARAMS DO
SET .INFORMATION ̲TYPE = FALSE
SET .CHECKP ̲STATUS = FALSE
SET .PROFILE = 0
END ̲ITH
CASE SEND ̲REPLY (SPIP ̲REPLY ̲PARAMS,
SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX)
.OUTST ̲REQ ̲QEL (REQ ̲COUNTER),
NIL
(SPIP ̲REPLY ̲PARAMS, CC): ERROR
̲OK
ERROR ? - ANALYSE ̲ERROR (CC, 0),
OK ?
END CAS
END
Fig. 4.2.2.4.9-4…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.5 C̲o̲m̲m̲o̲n̲ ̲D̲E̲L̲C̲O̲ ̲D̲a̲t̲a̲
VAR
REQ ̲COUNTER: COUNTER ̲TYPE;
"QUEUE ̲REFERENCES"
DELIVERY ̲QREF,
SPIP ̲ANSWER ̲QUEUE ̲REF: QUEUE ̲REFERENCE;
CHECKPOINTING,
DELC ̲CLOSED ̲FLAG,
RESCO ̲ITEM,
NOT ̲Q ̲ITEM: BOOLEAN;;
MMS ̲WARN ̲BUF: REPORT
̲BUFFER ̲TYPE;
SUPV ̲PRINTER ̲CONFIG: SUPV ̲PRINTER
̲CONFIG ̲TYPE;
SPIP ̲DELIVERY ̲RECORDS: ARRAY (REP..STA)
OF
DELIVERY
̲RECORD ̲YPE;
DELCO ̲INPUT ̲ATTR : QEL ̲ATTRIBUTES;
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 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.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 sends reply to possible
outstanding external requests (i.e. not
originated by SPP) of the type indicated
by DELIVERY ̲INDEX.
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) 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̲
one
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̲
REQ ̲COUNTER (m),
SPIP ̲DELIVERY ̲RECORDS - ref. sec. 4.2.2.5.
4.2.2.6.1.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. Ref. Fig.
4.2.2.6.1-1.…86…1…02… …02… …02… …02… …02… …02… …02…
…02…
REPLY ̲TO ̲OUTST ̲REQ
SET REQ ̲COUNTER = 1
LOOP
SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX)
.OUTST ̲REQ ̲QEL (REQ ̲COUNTER) EQ NIL
?
D̲E̲L̲C̲O̲ ̲R̲E̲P̲L̲Y̲ 4.2.2.4.9)
INCREMENT REQ ̲COUNTER
REQ ̲COUNTER GT MAX ̲OUTST ̲REQS ? -
EXIT ̲LOOP
END ̲LOOP
END
Fig. 4.2.2.6.1-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.2 G̲E̲T̲ ̲M̲M̲S̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲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 a GET ̲THRESHOLD
̲WARNING System Call.
4.2.2.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) GET ̲MMS ̲WARNING
b) GET ̲MMS ̲WARNING (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̲
SPIP ̲DELCO ̲MMS ̲WARNING ̲OP re. sec. 4.2.2.5
SPIP ̲S2 ref. sec. 4.1.4.
4.2.2.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.2-1…86…1…02… …02… …02… …02… …02…
…02… …02… …02…
GET ̲MMS ̲WARNING
SET SPIP ̲DELCO ̲MMS ̲WARN ̲OP.ID = SYSCALL
SET SPIP ̲DELCO ̲MMS ̲WARN ̲OP.ITEM ̲NAME =
THRESHOLD ̲WARNING
CASE INIT ̲GET ̲THRESHOLD ̲WARNING
(SPIP ̲DELCO ̲MMS ̲WARN ̲OP)
(CC): ERROR ̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0): OK
OK ? ASSOCIATE (SPIP ̲S2, SPIP ̲DELCO
̲MMS ̲WARN ̲OP)
(CC):
OK
END ̲CASE
END
Fig. 4.2.2.6.2-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.3 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.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 takes care that no further
delivery to the blocked queue is tried
unil the queue is unblocked.
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) 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̲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̲
RESCO ̲ITEM,
DELCO ̲INPUT ̲QEL,
DELCO ̲INPUT ̲ATTR,
NOT ̲Q ̲ITEM,
SPIP ̲SUPQ ̲OP,
DELIVERY ̲INDEX,
SPIP ̲DELIVERY ̲RECORDS (m)
SPIP ̲REPQ ̲OP,
SPIP ̲LOGQ ̲OP,
SPIP ̲STAQ ̲OP - Ref. Se. 4.2.2.5
4.2.2.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. fig. 4.2.2.6.3-1 through 4.2.2.6.3-2
DELIVERY ̲QUEUE ̲BLOCKED ̲ACTIONS
RESCO ̲ITEM EQ TRUE ? 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̲)
(4.1.5.3
)
̲C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲
̲(̲S̲P̲I̲P̲S̲U̲P̲Q̲ ̲O̲P̲)̲
(4.1.5.4
)
NOT ̲Q ̲ITEM EQ TRUE ? - C̲A̲N̲C̲E̲L̲ ̲Q̲ ̲R̲E̲C̲E̲I̲V̲E̲
( - 2 )
CASE RETURN (DELCO ̲INPUT ̲QEL)
(CC): ERROR ̲OK
ERROR ? - ANALYSE ̲ERROR (CC, 0): OK
OK ?
END ̲CASE
R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲O̲U̲T̲S̲T̲ ̲R̲E̲Q̲ (42.2.6.1 )
SET SPIP ̲DELIVERY ̲RECORDS (DELIVERY ̲INDEX).BLOCKED
= TRUE
DELIVERY ̲INDEX EQ SUP? - D̲E̲L̲C̲O̲ ̲C̲M̲D̲ ̲T̲O̲ ̲R̲E̲S̲C̲O̲
̲(̲A̲B̲A̲N̲D̲O̲N̲ ̲R̲E̲Q̲)̲
(4.2.2.6.8
)
END
Fig. 4.2.2.6.3-1…86…1…02… …02… …02… …02… …02… …02… …02…
CANCEL ̲Q ̲RECEIVE
CASE DELIVERY ̲INDEX OF:
REP ? C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲R̲E̲P̲Q̲
̲O̲P̲)̲ (4.1.5.4 )
SUP ? C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲S̲U̲P̲Q̲
̲O̲P̲)̲ (4.1.5.4 )
LOG ? C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲L̲O̲G̲Q̲
̲O̲P̲)̲ (4.1.5.4 )
STA ? C̲A̲N̲C̲E̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲C̲A̲L̲L̲ ̲(̲S̲P̲I̲P̲ ̲S̲T̲A̲Q̲
̲O̲P̲)̲ (4.1.5.4 )
OTHERWISE ? - E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲D̲E̲L̲,̲C̲O̲N̲,̲I̲N̲T̲)̲
̲(̲4̲.̲1̲.̲5̲.̲5̲ ̲ ̲)̲
END ̲CASE
END
Fig. 4.2.2.6.3-2…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.4 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.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 checks if the currently
sent item was a FLASH-item and generates
and sends a FLASH ̲NOTIICATION if appropriate.
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) 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.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲n̲
D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
DELIVERY ̲INDEX,
DELIVERY ̲QREF (m),
SPIP ̲DELIVERY ̲RECORDS - ref. sec. 4.2.2.5
SPIP ̲SEND ̲PARAMS (m) - ref. sec. 4.1.4
4.2.2.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.4-1…86…1…02… …02… …02… …02…
…02… …02… …02…
FLASH ̲CHECK
DELIVERY ̲INDEX EQ REP ?
DELIVERY ̲INDEX EQ SUP ?
DELIVERY ̲QREF.SUB ̲QUEUE EQ PRIS ̲PREC1
?
SET SPIP ̲SEND ̲PARAMS.HEADER.SUBTYPE
=
SUPER
̲FLAS
̲NOTIFICATION
DELIVERY ̲QREF.SUB ̲QUEUE EQ PRIS ̲FLASH
?
SET SPIP ̲SEND ̲PARAMS.HEADER.SUB
̲TYPE =
FLASH
̲NOTIFICATION
WITH SPIP ̲SEND ̲PARAMS DO
SET .HEADER.MAINTYPE = FLASH ̲NOTIFICATION
SET .INFORMATION ̲TYPE = FALSE
SET .CHECKP ̲STATUS = FALSE
SET .PROFILE = 0
END ̲WITH
SET DELIVERY ̲QREF.SUB ̲QUEUE = MAIN
SET DELIVERY ̲QREF.MAIN ̲QUEUE =
SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX).
PRIS ̲CMD ̲QREF
CASE SEND ̲QEL (SPP ̲SEND ̲PARAMS,
NIL, DELIVERY
̲QREF)
(SPIP ̲SEND
̲PARAMS,CC) ERROR
̲OK
ERROR ? - ANALYSE ̲ERROR (CC,
0): OK
OK ?
END ̲CASE
END
Fig. 4.2.2.6.4-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.5 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.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 initiates receipt of a QEL
from the SPIP ̲ANSQ.
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) 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.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̲c̲e̲s̲
SPIP ̲ANSQ ̲OP (m) Ref. Sec. 4.2.2.5.
4.2.2.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.5-1…86…1…02… …02… …02… …02…
…02… …02… …02…
INIT ̲RECEIVE ̲FROM ̲SPIP ̲ANSQ
SET SPIP ̲ANSQ ̲OP.ID = ANSQ ̲ITEM
CASE INIT ̲RECEIVE ̲FIRST ̲QEL (TRUE,
SPIP ̲ANSQ,
SPIP ̲ANSQ
̲OP)
(CC): ERROR
̲OK
ERROR ? ANALYSE ̲ERROR (CC, 0):
OK
OK ? ASSOCIATE (SPIP ̲S2,
SPIP ̲ANSQ ̲OP)
(CC): OK
END ̲CASE
END
Fig. 4.2.2.6.5-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.6 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.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 receives a QEL from the
queue specified via DELCO ̲INPUT ̲QREF,by
awaiting completion ofan earlier issued
INIT ̲RECEIVE ̲FIRST ̲QEL call.
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) 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
42.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̲
DELCO ̲INPUT ̲QREF (m),
DELCO ̲INPUT ̲QEL (m),
DELCO ̲INPUT ̲ATTR (m),
DELCO ̲INPUT ̲SUBQUEUE (m) - ref. sec. 4.2.2.5
4.2.2.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.6-1
RECEIVE ̲ITEM
SET DELCO ̲INPUT ̲QREF.SUBQUEUE = MAIN
CASE WAIT ̲SYSTEM CALL (OPERATION
DELCO ̲INPUT ̲SUBQUEUE,
CC): ERROR ̲OK
ERROR ? - ANALYSE ̲EROR(CC, 0): OK
OK ?
END ̲CASE
END
Fig. 4.2.2.6.6-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.7 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.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 initiates receipt of a QEL
from the queue specified by DELCO ̲INPUT
̲QREF.
4.2.26.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) 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.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̲
DELIVERY ̲INDEX,
SPIP ̲REPQ ̲OP (m),
SPIP ̲SUPQ ̲OP (m),
SPIP ̲LOGQ ̲OP (m),
SPIP ̲STAQ ̲OP (m),
SPIP ̲DELIVERY ̲RECORDS - ref. sec. 4.2.2.5
SPIP ̲SP ref. sec. 4.1.4
4.2.2.6.7.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. fig. 4.2.2.6.7…86…1…02… …02… …02… …02… …02…
…02… …02…
INIT ̲RECEIVE ̲ITEM
CASE DELIVERY ̲INDEX OF:
REP ? - SET RECEIVE ̲OP = SPIP ̲REPQ ̲OP
SET RECEIVE ̲OP.ID = REPQ ̲ITEM
SUP ? - SET RECEIVE ̲OP = SPIP ̲SUPQ ̲OP
SET RECEIVE ̲OP.ID = SUPQ ̲ITEM
LOG ? - SET RECEIVE ̲OP = SPIP ̲LOGQ ̲OP
SET RECEIVE ̲OP.ID = LOGQ ̲ITEM
STA ? - SET RECEIVE ̲OP = SPIP ̲STAQ ̲OP
SET RECEIVE ̲OP = STAQ ̲ITEM
OTHERWISE ? - E̲R̲R̲ ̲H̲A̲N̲D̲L̲ ̲(̲DEL,GUP,INT) (4.1.5.5)
END ̲ASE
CASE INIT ̲RECEIVE ̲FIRST ̲QEL (TRUE,
SPIP ̲DELIVERY ̲RECORDS (DELIVERY
̲INDEX)
.SPIP ̲INPUT ̲QREF, RECEIVE ̲OP)
(CC): ERROR ̲OK
ERROR? - ANALYSE ̲ERROR (CC, 0): OK
OK ? - ASSOCIATE (SPIP ̲S2, RECEIVE ̲OP)(CC):
OK
ED ̲CASE
END
Fig. 4.2.2.6.7-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.8 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.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̲
The procedure sends the specified CMD
to RESCO.
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̲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.68.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̲
SPIP ̲DELCO ̲ITEM ̲OP (m),
SPIP ̲S3 ref. sec. 4.1.4
4.2.2.6.8.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.8-1…86…1…02… …02… …02… …02…
…02… …02… …02…
DELCO ̲CMD ̲TO ̲RESCO (CMD ̲ID)
SET SPIP ̲DELCO ̲ITEM ̲OP.ID = DELCO ̲ITEM
SET SPIP ̲DELCO ̲ITEM ̲OP.ITEM ̲NAME = CMD ̲ID
SIGNAL ̲OPSEM (SPIP ̲S3, SPIP ̲DELCO ̲ITEM ̲OP):
OK
END
Fig. 4.2.2.6.8-1…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.2.6.9 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.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 procedure sends the specified CC to
SPICO.
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 ̲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.9.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
D̲a̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SPIP ̲DELCO ̲CC ̲OP (m),
SPIP ̲S1 - ref. sec. 4.1.4
4.2.2.6.9.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.2.6.9-1…86…1…02… …02… …02… …02…
…02… …02… …02…
DELCO ̲CC ̲TO ̲SPICO (CC ̲ID)
SET SPIP ̲DELCO ̲CC ̲OP.ID = DELCO ̲ITEM
SET SPIP ̲DELCO ̲CC ̲OP.ITEM ̲NAME = CC ̲ID
SIGNAL ̲OPSEM (SPIP ̲S1, SPIP ̲DELCO ̲CC ̲OP):
OK
E