DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦90ac3b654⟧ Wang Wps File

    Length: 66741 (0x104b5)
    Types: Wang Wps File
    Notes: CPS/SDS/037               
    Names: »1659A «

Derivation

└─⟦fa8144eef⟧ Bits:30006080 8" Wang WCS floppy, CR 0123A
    └─ ⟦this⟧ »1659A « 

WangText



8…07…7…09…7…0f…7…01…7…05…6…08…6…09…6…0f…6
6   5…08…5…0e…5
4…08…4…0b…4…0f…4
4…06…3…09…3…0c…3…00…3…02…3…06…2…0a…2…0d…2…00…2
2   1…0a…1…0f…1 0…09…0…0f…0…01…0…02…0 0…05…0…06…/…0a…/…0b…/…0e…/…01……86…1
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              …02…
              
              
              
              
              
              
              
              
              
              
              …02…
              
              
              …02…
              
              
              
              
              
              
              
              

…02…CPS/SDS/037

…02…CGN/820514…02……02…
MDCO VDU
DETAILED
 DESIGN
 SPECIFICATION
         CAMPS








4.1.4    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

         a)  D̲A̲T̲A̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲

             COROUTINE ̲SEMAPHORE ̲TYPE          refer CPS/DBD/001

             COROUTINE ̲OPERATION ̲TYPE          refer CPS/DBD/001

             IFCB ̲INDEX ̲TYPE                   refer CPS/DBD/001

             FIELD ̲DESCRIPTOR ̲TYPE             refer CPS/DBD/001

             DESIGNATOR ̲TYPE                   refer CPS/DBD/001

             TIME ̲TYPE                         refer CPS/DBD/001

             QEL ̲REFERENCE ̲TYPE                refer CPS/DBD/001

             CLASSIFICATION ̲TYPE               refer CPS/DBD/001

             PRECEDENCE ̲TYPE                   refer CPS/DBD/001

             USER ̲CAPABILITY ̲TYPE              refer CPS/DBD/001

             QERROR ̲INF ̲TYPE                   refer CPS/DBD/001

             TMP ̲PARAM ̲TYPE                    refer CPS/DBD/001

             INTERNAL ̲ERROR ̲INF ̲TYPE           refer CPS/DBD/001

             QUEUE ̲ATTRIBUTES ̲TYPE             refer CPS/DBD/001

             OFFER ̲ID ̲TYPE                     refer CPS/DBD/001

             SPEC ̲HAND ̲TYPE                    refer CPS/DBD/001

             GAQ ̲INFO ̲TYPE                     refer CPS/DBD/001


             LOGICAL ̲TERMINAL ̲NO ̲TYPE          refer CPS/DBD/001

             USER ̲ID ̲TYPE                      refer CPS/DBD/001

             TERMINAL ̲DESIGNATOR ̲TYPE          refer CPS/DBD/001

             FCT ̲CAPABILITY ̲TYPE               refer CPS/DBD/001

             USER ̲FCT ̲CAPABILITY ̲TYPE          refer CPS/DBD/001

             MDOS ̲SUBPROCESS ̲SINGLE ̲CAP ̲TYPE   refer CPS/DBD/001

             MDOS ̲SUBPROCESS ̲GROUP ̲CAP ̲TYPE    refer CPS/DBD/001

             MDOS ̲MDOS ̲CMQ ̲GROUP ̲TYPE          refer CPS/DBD/001


         b)  M̲D̲O̲S̲ ̲C̲O̲M̲M̲O̲N̲ ̲T̲Y̲P̲E̲S̲ ̲A̲N̲D̲ ̲D̲A̲T̲A̲

         TYPE    MDOS ̲COROUTINE ̲OP = RECORD
                         COROUTINE OP:     COROUTINE
                                           ̲OP ̲TYPE
                         OP ̲ID:            OP ̲ID ̲TYPE
                         COMD:             CO ̲CMD ̲TYPE
                         PARA1:            INTEGER
                         PARA2:            INTEGER
                         PARA3.            INTEGER

         TYPE    OP ̲ID ̲TYPE = ARRAY(1..2) OF BYTE (refer
                 fig. 4.1.4-1).

         TYPE    CO ̲CMD ̲TYPE:(INIT ̲DIFCO ̲CMD, RESTART
                 ̲DIFCO ̲CMD

                         START ̲DIFCO ̲CMD, STOP DIFCO
                         CMD,
                         BLOCK ̲DIFCO ̲CMD, CLOSE ̲DOWN
                         ̲DIFCO ̲CMD,
                         INIT ̲DIFCO ̲CC, RESTART ̲DIFCO
                         ̲CC,
                         START ̲DIFCO ̲CC, STOP ̲DIFCO
                         ̲CC,
                         BLOCK ̲DIFCO ̲CC, CLOSE ̲DOWN
                         ̲DIFCO ̲CC,
                         FLASH ̲NOT, ANTIFLASH ̲NOT,
                         CLOSE, CANCEL ̲I ̲0, CLEAR ̲VDU,
                         INPUT ̲DATA,
                         OUTPUT ̲DATA, OUTPUT ̲FORMAT,
                         L ̲INSERT, L ̲DELETE,
                         ONLINE ̲NOTIFICATION, OFFLINE
                         ̲NOTIFICATION,
                         RETRIEVAL ̲NOTIFICATION, RETRIEVAL
                         ̲ERROR,
                         VDU ̲DATA ̲OUTPUT, VDU ̲DATA
                         ̲INPUT)

         TYPE    DIVCO ̲CMD = (INIT ̲DIFCO ̲CMD ... CLOSE
                 ̲DOWN ̲DIFCO ̲CMD)

         TYPE    DIFCO ̲CC = (INIT ̲DIFCO ̲CC ... ANTIFLASH
                 ̲NOT)

         TYPE    DIFCO ̲DIDIA ̲CMD = (CLOSE ... L ̲DELETE)

         TYPE    DIRT ̲NOT = (ONLINE ̲NOTIFICATION ...
                 RETRIEVAL ̲ERROR)

         TYPE    VDU ̲CMD = (VDU ̲DATA ̲OUTPUT, VDU ̲DATA
                 ̲INPUT)

         TYPE    CO ̲CMD ̲CC = (OK ̲CC, ERROR ̲CC, SPLIT
                 ̲FAILED ̲CC)

         VAR FREE DIFCO ̲OP ̲SET: ARRAY (1...DIFCO ̲MAX
             ̲OP)
                                     OF MDOS ̲COROUTINE
                                     ̲OP ̲TYPE

         CONST   DIFCO ̲MAX ̲OP = 3

         TYPE    RESULT = (OK, SEND, DEFER, LOCAL ̲PRINT)










         OP ̲ID ̲TYPE






                                           SENDER ̲ID
                                           ̲TYPE

                                           CO ̲OP ̲NO
                                           ̲TYPE


             SENDER ̲ID ̲TYPE = (DIVCO ̲IDENT, DIFCO ̲IDERNT,
                             DIDIA ̲IDENT, DIRT ̲IDENT,
                             CMDQ ̲IDENT,
                             CCMDQ ̲IDENT, FC ̲KEY ̲IDENT,
                             ANQ ̲IDENT)

             CO ̲OP ̲NO ̲TYPE = SHORT ̲REFERENCE























                 Figure 4.1.4-1


         VAR     DIVCO ̲OP, DIRT ̲OP, CCMD ̲OP,
             CMD ̲OP, ANQ ̲OP, F/C ̲KEY ̲OP, VDU ̲OP: MDOS
             ̲COROUTINE ̲OP ̲TYPE

         INIT    DIRT ̲OP. IDENT      = DIRT ̲IDENT
         INIT    CCMDQ ̲OP ̲IDENT      = CCMQ ̲IDENT
         INIT    CMD ̲OP. IDENT       = CMDQ ̲IDENT
         INIT    ANQ ̲OP. IDENT       = ANQ ̲IDENT
         INIT    F/C ̲KEY ̲OP. IDENT   = F/C ̲KEY ̲IDENT
         INIT    VDU ̲OP. IDENT       = VDU ̲IDENT

         VAR MDOS ̲S1, MDOS ̲S2, MDOS ̲S3: COROUTINE ̲SEMAPHORE
             ̲TYPE

         VAR FORMAT ̲IFCB,
             HEADER ̲IFCB:    IFCB ̲INDEX ̲TYPE

         VAR     CURSOR ̲RECORD ̲1,
                 CURSOR ̲RECORD =

                     RECORD
                       SPLIT ̲DIGIT : INTEGER
                       FIELD   :FIELD ̲DESCRIPTOR ̲TYPE
                       LINES ̲ABOVE :INTEGER
                     END;

         VAR     TRANSACTION ̲ID =

                     RECORD
                       TERMINAL ̲DESIGNATOR: DESIGNATOR
                     ̲TYPE
                       SERIAL ̲NO:INTEGER
                       TIME:    TIME ̲TYPE
                     END;





         VAR RECV ̲QEL,

             OUTPUT CIF,

             INPUT CIF,

             MDOS ̲QEL          :QEL ̲REFERENCE ̲TYPE

         VAR CURRENT ̲CLASS     :     CLASSIFICATION
                                     ̲TYPE

         VAR CURRENT ̲PRECEDENCE:     PRECEDENCE ̲TYPE

         VAR CAB               :     USER ̲CAPABILITY
                                     ̲TYPE

         VAR TEP ̲QERROR        :     QERROR ̲INF ̲TYPE

         VAR TEP ̲INT ̲ERROR   =       RECORD

                                     USER ̲CC :                   INTEGER

                                     USER ̲INF:                   ARRAY(1..4)
                                                                 of
                                                                 INTEGER


                             END;



         VAR MDOS ̲SEND ̲PARAMS                                    :SEND
                                                                 ̲PARAMS
                                                                 ̲TYPE

         VAR KEY ̲COUNT                                           :INTEGER

         VAR MDCO ̲ACTIV                                          :BOOLEAN



         VAR START ̲UP    : INTEGER

         VAR VDU ̲SPLIT ̲FAILED              BOOLEAN

         INIT    VDU ̲SPLIT ̲FAILED = FALSE



         CONST:  IOC ̲HD ̲LENGTH             =  3
             TEXT ̲LENGTH             = 25
             CLASS ̲LENGTH            = 20
             TIME ̲LENGTH             = 14
             SUPERFLASH ̲LENGTH       =  2
             FLASH ̲LENGTH            =  2
             IMMEDIATE ̲LENGTH        =  2
             SUPERPRIORITY ̲LENGTH=  2
             PRIORITY ̲LENGTH         =  2
             ROUTINE ̲LENGTH          =  2
             DISQ ̲LENGTH             =  2
             RESP ̲LENGTH             =  2
             USER ̲LENGTH             =  2
             NO ̲OF ̲FIELDS            = 12

             HEADER ̲LENGTH           = NO ̲OF ̲FIELDS
                                     * IOC ̲HD ̲LENGTH
                                     +
                                       TEXT ̲LENGTH
                                     + CLASS ̲LENGTH
                                     ...
                                       RESP ̲LENGTH
                                     + USER ̲LENGTH

             TEXT ̲PTR                = IOC ̲HE ̲LENGTH
                                     + 1

             CLASS ̲PTR               = TEXT ̲PTR + IOC
                                     ̲HC ̲LENGTH + TEXT
                                     ̲LENGTH

             TIME ̲PTR                = CLASS ̲PTR +
                                     IOC ̲HD ̲LENGTH
                                     + 
                                       CLASS ̲LENGTH

             SUPERFLASH ̲PTR          = TIME ̲PTR + IOC
                                     ̲HD ̲LENGTH + TIME
                                     ̲LENGTH

             FLASH ̲PTR               = SUPERFLASH ̲PTR
                                     + IOC ̲HD ̲LENGTH
                                     +
                                       SUPERFLASH ̲LENGTH

             IMMEDIATE ̲PTR           = FLASH ̲PTR +
                                     IOC ̲HD ̲LENGTH
                                     +
                                       FLASH ̲LENGTH

             SUPERPRIORITY ̲PTR       = IMMEDIATE ̲PTR
                                     + IOC ̲HD ̲LENGTH
                                     + 
                                       IMMEDIATE ̲LENGTH

             PRIORITY ̲PTR            = SUPERPRIORITY
                                     ̲PTR + IOC ̲HD ̲LENGTH
                                     +
                                       SUPERPRIORITY
                                     ̲LENGTH

             ROUTINE ̲PTR             = PRIORITY ̲PTR
                                     + IOC ̲HD ̲LENGTH
                                     + 
                                       PRIORITY ̲LENGTH

             DISQ ̲PTR                = ROUTINE ̲PTR
                                     + IOC ̲HD ̲LENGTH
                                     + 
                                       ROUTINE ̲PTR

             RESP ̲PTR                = DISQ ̲PTR + IOC
                                     ̲HD ̲LENGTH + DISQ
                                     ̲LENGTH

             USER ̲PTR                = RESP ̲PTR + IOC
                                     ̲HD ̲LENGTH + RESP
                                     ̲PTR



         CONST:  HD ̲TEXT ̲LINE              =  1;
             QUEUE ̲LINE              =  2;
             HD ̲INC ̲NO               =  1;
             TEXT ̲FIELD              =  1
             CLASS ̲FIELD             =  2
             TIME ̲FIELD              =  3
             SUPERFLASH ̲FIELD        =  1
             FLASH ̲FIELD             =  2
             IMMEDIATE ̲FIELD         =  3
             SUPERPRIORITY ̲FIELD     =  4
             PRIORITY ̲FIELD          =  5
             ROUTINE ̲FIELD           =  6
             DISQ ̲FIELD              =  7
             RESP ̲FIELD              =  8
             USER ̲FIELD              =  9

         TYPE:   HD ̲FIELD ̲ORDER (TEXT ̲F, CLASS ̲F, TIME
                 ̲F, SUPERFLASH ̲F,
                         FLASH ̲F, IMMEDIATE ̲F, SUPERPRIORITY
                         ̲F, 
                         PRIORITY ̲F, ROUTINE ̲F, DISQ
                         ̲F, RESP ̲F, USER ̲F)

         VAR:    VDU ̲HD ̲AREA         : ARRAY (1...HEADER
                                     ̲LENGTH) OF CHAR
                                     REF FIG.
         
         VAR:    VDU ̲HD ̲BLE          : BUFFER ̲LIST
                                     ̲ELEMENT

         VAR:    VDU ̲HD ̲FIELD        : ARRAY (HD ̲FIELD
                                     ̲ORDER) OF FIELD
                                     ̲DE ̲
                               SCRIPTOR ̲TYPE









                 Figure 4.1.4-1



         INIT    VDU ̲HD ̲AREA (TEXT ̲PTR-3),
             VDU ̲HD ̲AREA (CLASS ̲TPR-3),
             VDU ̲HD ̲AREA (TIME ̲PTR-3),
             VDU ̲HD ̲AREA (SUPERFLASH ̲PTR-3),
             VDU ̲HD ̲AREA (FLASH ̲PTR-3),
             VDU ̲HD ̲AREA (IMMEDIATE ̲PTR-3),
             VDU ̲HD ̲AREA (SUPERPRIORITY ̲PTR-3),
             VDU ̲HD ̲AREA (PRIORITY ̲PTR-3),
             VDU ̲HD ̲AREA (ROUTINE ̲PTR-3),
             VDU ̲HD ̲AREA (DISQ ̲PTR-3),
             VDU ̲HD ̲AREA (RESP ̲PTR-3),
             VDU ̲HD ̲AREA (USER ̲PTR-3) = 'RS'

             VDU ̲HD ̲AREA (TEXT ̲PTR-1)
             VDU ̲HD ̲AREA (CLASS ̲PTR-1),
             VDU ̲HD ̲AREA (TIME ̲PTR-1),
             VDU ̲HD ̲AREA (SUPERFLASH ̲PTR-1),
             VDU ̲HD ̲AREA (FLASH ̲PTR-1),
             VDU ̲HD ̲AREA (IMMEDIATE ̲PTR-1),
             VDU ̲HD ̲AREA (SUPERPRIORITY ̲PTR-1),
             VDU ̲HD ̲AREA (PRIORITY ̲PTR-1),
             VDU ̲HD ̲AREA (ROUTINE ̲PTR-1),
             VDU ̲HD ̲AREA (DISQ ̲PTR-1),
             VDU ̲HD ̲AREA (RESP ̲PTR-1),
             VDU ̲HD ̲AREA (USER ̲PTR-1), = DATA ̲FLAG;



     INIT    VDU ̲HD ̲AREA (TEXT ̲PTR-2)  =IOC ̲HD ̲LENGTH + TEXT ̲LENGTH
         VDU ̲HD ̲AREA (CLASS ̲PTR-2)     =IOC ̲HD ̲LENGTH + CLASS ̲LENGTH
         VDU ̲HD ̲AREA (TIME ̲PTP-2)      =IOC ̲HD ̲LENGTH + TIME ̲LENGTH
         VDU ̲HD ̲AREA (SUPERFLASH ̲PTP-2)    =IOC ̲HD ̲LENGTH + CLASS ̲LENGTH
         VDU ̲HD ̲AREA (FLASH ̲PTP-2)     =IOC ̲HD ̲LENGTH + FLASH ̲LENGTH
         VDU ̲HD ̲AREA (IMMEDIATE ̲PTP-2)     =IOC ̲HD ̲LENGTH + 
                                            IMMEDIATE ̲LENGTH
         VDU ̲HD ̲AREA (SUPERPRIORITY ̲PTP-2) =IOC ̲HD ̲LENGTH + 
                                                                      SUPERPRIORITY ̲LENGTH
         VDU ̲HD ̲AREA (PRIORITY ̲PTP-2)  =IOC ̲HD ̲LENGTH + 
                                            PRIORITY ̲LENGTH
         VDU ̲HD ̲AREA (ROUTINE ̲PTP-2)   =IOC ̲HD ̲LENGTH + 
                                            ROUTINE ̲LENGTH
         VDU ̲HD ̲AREA (DISQ ̲PTP-2)      =IOC ̲HD ̲LENGTH + DISQ ̲LENGTH
         VDU ̲HD ̲AREA (RESP ̲PTP-2)      =IOC ̲HD ̲LENGTH + RESP ̲LENGTH
         VDU ̲HD ̲AREA (USER ̲PTP-2)      =IOC ̲HD ̲LENGTH + USER ̲LENGTH

         VDU ̲HD ̲FIELD (TEXT ̲F).LINE,
         VDU ̲HD ̲FIELD (CLASS ̲F).LINE,
         VDU ̲HD ̲FIELD (TIME ̲F).LINE = HD ̲TEXT ̲LINE
         VDU ̲HD ̲FIELD (SUPERFLASH ̲F).LINE,
         VDU ̲HD ̲FIELD (FLASH ̲F).LINE,
         VDU ̲HD ̲FIELD (IMMEDIATE ̲F).LINE
         VDU ̲HD ̲FIELD (SUPERPRIORITY ̲F).LINE,
         VDU ̲HD ̲FIELD (PRIORITY ̲F).LINE,
         VDU ̲HD ̲FIELD (ROUTINE ̲F).LINE,
         VDU ̲HD ̲FIELD (DISQ ̲F).LINE,
         VDU ̲HD ̲FIELD (RESP ̲F).LINE,
         VDU ̲HD ̲FIELD (USER ̲F).LINE = QUEUE ̲LINE



     INIT    VDU ̲HD ̲FIELD (TEXT ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (CLASS ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (TIME ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (SUPERFLASH ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (FLASH ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (IMMEDIATE ̲F).INCARNATION
         VDU ̲HD ̲FIELD (SUPERPRIORITY ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (PRIORITY ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (ROUTINE ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (DISQ ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (RESP ̲F).INCARNATION,
         VDU ̲HD ̲FIELD (USER ̲F).INCARNATION = HD ̲INC ̲NO

     INIT    VDU ̲HD ̲FIELD (TEXT ̲F).FIELD                             =TEXT ̲FIELD
         VDU ̲HD ̲FIELD (CLASS ̲F).FIELD      =CLASS ̲FIELD
         VDU ̲HD ̲FIELD (TIME ̲F).FIELD       =TIME ̲FIELD
         VDU ̲HD ̲FIELD (SUPERFLASH ̲F).FIELD                           =SUPERFLASH ̲FIELD
         VDU ̲HD ̲FIELD (FLASH ̲F).FIELD      =FLASH ̲FIELD
         VDU ̲HD ̲FIELD (IMMEDIATE ̲F).FIELD                            =IMMEDIATE ̲FIELD   VDU
                                                                                        ̲HD
                                                                                        ̲FIELD
                                                                                        (SUPERPRIORITY
                                                                                        ̲F).FIELD =SUPERPRIORITY
                                                                                                 ̲FIELD
         VDU ̲HD ̲FIELD (PRIORITY ̲F).FIELD                             =PRIORITY ̲FIELD
         VDU ̲HD ̲FIELD (ROUTINE ̲F).FIELD                              =ROUTINE ̲FIELD
         VDU ̲HD ̲FIELD (DISQ ̲F).FIELD       =DISQ ̲FIELD
         VDU ̲HD ̲FIELD (RESP ̲F).FIELD       =RESP ̲FIELD
         VDU ̲HD ̲FIELD (USER ̲F).FIELD       =USER ̲FIELD

     INIT    VDU ̲HD ̲BLE.LINK = NIL;
         VDU ̲HD ̲BLE.KIND = LOWER ̲BYTE;



         CONST:  MDOS ̲CMD ̲Q          = MDOS ̲MDOS ̲CMDQ
         CONST:  MDOS ̲CCMD ̲Q         = MDOS ̲MDOS ̲CCMDQ
         CONST:  MDOS ̲MDQ            = MDOS ̲MDOS ̲MDQ
         CONST:  MDOS ̲ARRQ           = MDOS ̲MDOS ̲ARRQ
         CONST:  MDOS ̲ANQ            = 1
         CONST:  RESP ̲Q              = 2
         CONST:  RETV ̲Q              = 3
         CONST:  PREP ̲Q              = PREP ̲SUB                         refer CPS/SDS/039
                                                                     para. 4.1.4
         CONST:  COLLECT ̲Q           = SVUP ̲UMAM ̲COLQ
         CONST:  LOG ̲Q               = SVUP ̲SYSTEM ̲Q
         CONST:  ISQ                 = SVUP ̲ISQ
         CONST:  MDQ                 = MDOS ̲MDQ
         CONST:  THP ̲Q               = SVUP ̲COQ
         CONST:  VUS ̲ARRQ            = MDOS ̲VUS ̲ARRQ
         CONST:  VUS ̲RELSQ           = MDOS ̲VUS ̲RELQ
         CONST:  VUS ̲RECVQ           = MDOS ̲VUS ̲RECQ
         CONST:  MDOS ̲ONE            = MDOS ̲MDOS ̲G ̲CMDQ1
         CONST:  MDOS ̲TWO            = MDOS ̲MDOS ̲G ̲CMDQ2
         CONST:  MDOS ̲THREE          = MDOS ̲MDOS ̲G ̲CMDQ3
         CONST:  PRIS ̲PRINTQ         = MDOS ̲PRIS ̲PRINTQ
         CONST:  PRIS ̲CMDQ           = MDOS ̲PRIS ̲CMDQ
         CONST:  PRIS ̲PRINTQ ̲A       = MDOS ̲PRIS ̲PRINTQ ̲A
         CONST:  PRIS ̲CMDQ ̲A         = MDOS ̲PRIS ̲CMDQ ̲A
         CONST:  SAR ̲Q               = SVUP ̲RRQ

         VAR MDOS ̲RECV ̲ATTR: QEL ̲ATTRIBUTE ̲TYPE
         VAR MDOS ̲ATTR:      QEL ̲ATTRIBUTE ̲TYPE
         VAR MDOS ̲QNAME:     QUEUE ̲REFERENCE TYPE…86…1…02…        …02…   …02…   …02…   …02…                     
                                                  
         VAR INIT ̲AREA = RECORD

                 CMD ̲SPLIT ̲COUNT ̲ID: OFFER ̲ID ̲TYPE

                 CMD ̲SPLIT DATA ̲ID: OFFER ̲ID ̲TYPE

                 FORMAT ̲SPLIT ̲COUNT ̲ID: OFFER ̲ID ̲TYPE

                 FORMAT ̲SPLIT ̲TERMINAL ̲ID: OFFER ̲ID ̲TYPE

                 LOGICAL ̲TERMINAL ̲NO: LOGICAL ̲TERMINAL ̲NO ̲TYPE

                 TERMINAL ̲DESIGNATOR: TERMINAL ̲DESIGNATOR ̲TYPE

                 FCT ̲CAPABILITY: FCT ̲CAPABILITY ̲TYPE

                 FCT ̲USER ̲CAPABILITY: USER ̲FCT ̲CAPABILITY ̲TYPE

                 ACC : ACCESS ̲PROFILE ̲TYPE

                 MAX ̲CLASS: CLASSIFICATION ̲TYPE

                 SPECIAL ̲HANDLING ̲INSTRUCTION: SPEC ̲HAND ̲TYPE


                 END


4.1.5    C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲



4.1.5.1  T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲



4.1.5.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̲

         This procedure is common for the TEP packages. The
         purpose of this procedure is to report queue errors
         to the SSC.



4.1.5.1.2    I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TEP ̲QUEUE ̲ERROR(USER ̲ACTION: USER ̲ACTION ̲TYPE,
                        MDOS ̲QEL:  QEL ̲REFERENCE,
                        MDOS ̲QERROR: QERROR ̲INF)
                        DISM: BOOLEAN

         b)  TEP ̲QUEUE ̲ERROR (R1,R2 R3,R4 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̲

         R1      USER ̲ACTION                       DEST
         R2      FLAG for dismantling              DEST
         R3      pointer to QEL                    DEST
         R4      pointer to TEP ̲QERROR            DEST
         R6      LINK                              DEST

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None

         R0-R7                                     DEST


4.1.5.1.3    D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             USER ̲ACTION ̲TYPE           refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE              refer CPS/DBD/001
             QEL ̲REFERENCE              refer CPS/DBD/001

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             TEP ̲QERROR                 refer 4.1.4

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             None



4.1.5.1.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This procedure reports queue errors to the SSC by calling
         the SEND ̲GARBLE-procedure and dismantle the QEL in
         error.



4.1.5.2  T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲



4.1.5.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 purpose of this procedure is to report internal
         errors to the SSC.



4.1.5.2.2    I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  TEP ̲INTERNAL ̲ERROR (USER ̲ACTION:  USER ̲ACTION ̲TYPE,
                             TEP ̲INT ̲ERROR:  INTERNAL ̲ERROR
                 ̲INF ̲TYPE)

         b)  TEP ̲INTERNAL ̲ERROR (R1, R4, 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̲

         R1      USER ̲ACTION                  DEST
         R4      pointer to TEP ̲ INT ̲ERROR    DEST
         R6      LINK                         DEST

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None
         R0-R7                                DEST



4.1.5.2.3    D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             USER ̲ACTION ̲TYPE                 refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE                    refer CPS/DBD/001
             QEL ̲REFERENCE                    refer CPS/DBD/001
             INTERNAL ̲ERROR ̲INF ̲TYPE          refer CPS/DBD/001

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             TEP ̲INT ̲ERROR                        refer 4.1.4

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲




4.1.5.2.4    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This procedure reports internal errors to the SSC by
         calling the SEND ̲GARBLE-procedure.





4.1.5.3  D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲



4.1.5.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 purpose of this procedure is to dismantle an object
         referenced by a QEL.

         The referenced view will be checkpointed if the Checkpoint
         Status is true.

         The referenced view will be closed if demanded.



4.1.5.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  DISMANTLE ̲QEL:     QEL:        QEL ̲REFERENCE ̲TYPE,
                                CP ̲STATUS:  BOOLEAN,
                                OBJECT:     OBJECT ̲TYPE,
                                CLOSE:      BOOLEAN)

         b)  DISMANTLE ̲QEL      (R2, R3, R4, R5, 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̲

         R2      QEL                 (Dest.)
         R3      CP ̲STATUS           (Dest.)
         R4      OBJECT              (Dest.)
         R5      CLOSE               (Dest.)
         R6      LINK                (Dest.)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         None

         R0-R7                       (Dest.)


4.1.5.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             OBJECT ̲TYPE          refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE   refer CPS/DBD/001

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             NONE

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             NONE



4.1.5.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Refer figure 4.1.5.3-1


         DISMANTLE ̲QEL


         QEL EQ NIL?

         CASE OBJECT ̲TYPE OF


            TIMER,
             QEL?  DISMANTLE(QEL)(CC):  OK


            BUFFER?  CASE DISMANTLE ̲BUFFER(QEL)(CC):  ERROR
         ̲OK

                         ERROR?  ANALYZE ̲ERROR(CC, 0)

                         OK?

                     END CASE

            VIEW? CLOSE EQ TRUE? CASE CLOSE VIEW(QEL)(CC): ERROR
         OK

                                    ERROR? ANALYZE ERROR(CC,
                     O)
                                    OK?

                                 END CASE

                  CP ̲STATUS EQ FALSE?  ̲C̲I̲F̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲-̲2̲)̲



                  CASE SAVE ̲VIEW(DISMANTLE, REC ̲LEVEL,QEL)
                               (CC): ERROR ̲OK


                        ERROR?  ANALYZE ̲ERROR(CC, 0)

                        OK?


                  END CASE

            OTHERWISE?- T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲



         END CASE


         END
                        4.1.5.3-1


         CIF DISMANTLE (CREATE QEL)




         CASE DISMANTLE ̲VIEW(QEL)(CC):  ERROR ̲OK


             ERROR?    ANALYZE ̲ERROR(CC, 0)


             OK?



         END CASE





























                      Fig. 4.1.5.3-2




4.1.6    G̲L̲O̲B̲A̲L̲ ̲D̲A̲T̲A̲

         Refer CPS/DBD/001



4.1.7    I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.7.1  E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         MDCO Procedures ref. doc. no. CPS/230/ICD/0002

         All MDOP subpackages interfaces, this document.



4.1.7.2  P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.1.7.2.1    T̲r̲a̲f̲f̲i̲c̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲(̲T̲H̲P̲)̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutine
         DIFCO.

         For details refer CPS/ICD/009.



4.1.7.2.2    D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲(̲M̲D̲P̲)̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutine
         DIFCO.

         For details refer CPS/ICD/009.



4.1.7.2.3    S̲t̲o̲r̲a̲g̲e̲ ̲a̲n̲d̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲(̲S̲A̲R̲)̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutines
         DIFCO (requests queued to SAR) and DIRT (reception
         of SAR responses)

         For details refer CPS/ICD/009.


4.1.7.2.4    L̲o̲g̲ ̲a̲n̲d̲ ̲A̲c̲c̲o̲u̲n̲t̲a̲b̲i̲l̲i̲t̲y̲ ̲(̲L̲O̲G̲)̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutine
         DIFCO.

         For details refer CPS/ICD/009.



4.1.7.2.5    S̲S̲C̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutines
         DIVCO (start/stop function) and DIFCO (security interrogation
         request).

         For details refer CPS/ICD/009.



4.1.7.2.6    T̲a̲b̲l̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲(̲T̲M̲P̲)̲ ̲I̲/̲F̲

         This interface is implemented by the MDOS coroutines
         DIFCO (Global no. series) and DIDIA (table access).

         For details refer CPS/ICD/009.



4.1.7.3  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲ ̲



4.1.7.3.1    P̲r̲o̲c̲e̲s̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         These are the interfaces between UMAM and MDOS:

         F̲r̲o̲m̲ ̲M̲D̲O̲S̲ ̲t̲o̲ ̲U̲M̲A̲M̲:̲

         1.  Status Requests
         2.  Edit Requests
         3.  Delete Requests
         4.  Access State Changes


         F̲r̲o̲m̲ ̲U̲M̲A̲M̲ ̲t̲o̲ ̲M̲D̲O̲S̲:̲

         1.  Access Key to CIF (QEL ref)
         2.  Outgoing Service Message Status



4.1.7.3.2    C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         1̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲V̲C̲O̲ ̲t̲o̲ ̲D̲I̲F̲C̲O̲

         1.  INIT CMD
         2.  Restart DIFCO CMD
         3.  Start DIFCO CMD
         4.  Stop DIFCO CMD
         5.  Close ̲DIFCO CMD
         6.  BLOCK ̲DIFCO ̲CMD

         2̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲F̲C̲O̲ ̲t̲o̲ ̲D̲I̲V̲C̲O̲

         1.  INIT DIFCO ̲CC
         2.  Restart DIFCO ̲CC
         3.  Start DIFCO ̲CC
         4.  Stop DIFCO ̲CC
         5.  Close ̲DIFCO ̲CC
         6.  BLOCK ̲DIFCO ̲CC
         7.  FLASH ̲NOT
         8.  ANTIFLASH ̲NOT

         3̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲F̲C̲O̲ ̲t̲o̲ ̲D̲I̲D̲I̲A̲

         1.  CLOSE
         2.  CANCEL ̲I ̲O
         3.  CLEAR ̲VDU
         4.  INPUT ̲DATA
         5.  OUTPUT ̲DATA
         6.  OUTPUT ̲FORMAT
         7.  L ̲INSERT
         8.  L ̲DELETE
         9.  DISPLAY MENU



         4̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲D̲I̲A̲ ̲t̲o̲ ̲D̲I̲F̲C̲O̲

         1.  DISPLAY ̲MENU
         2.  CLOSE
         3.  CANCEL ̲IO
         4.  CLEAR ̲VDU
         5.  INPUT ̲DATA
         6.  OUTPUT ̲DATA
         7.  OUTPUT ̲FORMAT
         8.  L ̲INSERT
         9.  L ̲DELETE

             VALIDATION ̲RESULT in MDOS ̲COROUTINE ̲OP.PARA 1:
             ERROR
             OK
             PRINT ̲REQ

         5̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲F̲C̲O̲ ̲t̲o̲ ̲D̲I̲R̲T̲

             None.

         6̲.̲ ̲ ̲F̲r̲o̲m̲ ̲D̲I̲R̲T̲ ̲t̲o̲ ̲D̲I̲F̲C̲O̲

         1.  On-line notification
         2.  Off-line notification
         3.  Retrieval notification
         4.  Retrieval ̲error ̲notification

             IN DIRT ̲OP.PARA 1 the QEL ̲ATTR.MAINTYPE

             and in DIRT ̲OP.PARA 2 the QEL ̲ATTR.FLAGS



4.2      S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.1    D̲e̲l̲i̲v̲e̲r̲y̲ ̲V̲D̲U̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲(̲D̲I̲V̲C̲O̲)̲

         This subpackage is the controlling subpackage within
         the package. The control is exercised by issue of commands
         and reception of responses.



4.2.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 subpackage contains the following functions:

         -   Initialization
         -   TEMCO Command Processing
         -   Flash Item Control
         -   Timer Event Processing
         -   VDU Header Control
         -   DIFCO Control
         -   Error Reporting

         Figure 4.2.1.1-1 presents the functional breakdown.








                     F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲1̲-̲1̲




4.2.1.1.1    I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲(̲1̲.̲0̲)̲

         a)  Initialize MDOS Data (1.1)
             Performs initialization of common data for the
             subpackages within MDOS.

         b)  Initialize DIVCO Data (1.2)
             Performs initialization of common data for the
             modules within the DIVCO subpackage.



4.2.1.1.2    T̲E̲M̲C̲O̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲

         a)  Process START USER CMD (2.1)
             This command is received after a successful SIGN
             ON procedure has taken place and DIVCO takes action
             and starts DIFCO.

         b)  Process STOP USER CMD (2.2)
             This command is received after SIGN OFF and DIVCO
             takes action and stops DIFCO.

         c)  Process BLOCK TERMINAL CMD (2.3)
             This command is received when the terminal has
             been blocked (by supervisor or as a result of a
             failed SIGN ON procedure or security interrogation)
             and DIVCO informs DIFCO.

         d)  Process CLOSE DOWN CMD (2.4)
             This command informs MDOS that a system close down
             procedure is to take place and DIVCO informs DIFCO.

         e)  Send Response to TEMCO (2.5)
             For each TEMCO command a corresponding command
             to DIFCO exists and to each DIFCO command a corresponding
             completion response exists. When DIVCO has received
             the expected completion response from DIFCO an
             acknowledge to the TEMCO command is sent to TEMCO.





4.2.1.1.3    F̲l̲a̲s̲h̲ ̲I̲t̲e̲m̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲3̲.̲0̲)̲

         a)  External Flash notification from ccmd.q (3.1).
             Analyses the flash notification to determine the
             precedence (superflash or flash), takes care of
             the creation of the queue-elements to be sent to
             the other MDCO's queues.

         b)  Internal flash notification (3.2).
             Analyses the flash notification to determine the
             precedence (superflash or flash) to know which
             of the flash-queues to be updated on the VDU-queue
             display.
             Create flash-notification queued to the other MDCO
             queues if the flash notification arrived from DIFCO
             subpackage.

         c)  Internal antiflash notification (3.3).
             Analyses the flash notification to determine the
             precedence (superflash or flash) to know which
             of the flash-queues to be updated on the VDU-queue
             display.

             Create anti-flash notification queue-elements to
             the other MDCO queues if the anti-flash notification
             arrived from DIFCO subpackage.

         d)  Process Flash/Anti-flash Distribution (3.4).
             Sends flash or anti-flash notifications to the
             other MDCO cmd-queues.



4.2.1.1.4    T̲i̲m̲e̲r̲ ̲E̲v̲e̲n̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲4̲.̲0̲)̲

         a)  Interpret timer event (4.1)
             Analyses the incoming queue-element to be a periodic
             timeout.





4.2.1.1.5    V̲D̲U̲ ̲H̲e̲a̲d̲e̲r̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲5̲.̲0̲)̲

         a)  Update Date/Time Field (5.1)
             Maintains the Date/Time Field in the VDU-header
             when a periodic timeout occurs.

         b)  Update Q-Status Fields (5.2)
             Maintains the queue length fields in the VDU-header.

         c)  Update flash-queue-field (5.3)
             Maintains the superflash- or flash-queue length
             field in the VDU-header.

         d)  Display VDU-Header (5.4)
             Updates the VDU-header display.

         e)  Invert and bell (5.5).
             Take care of the inversion of the DIST-Q. Display
             and ring the bell when a superflash- or flash notification
             arrives to the ccmd or cmd queues.



4.2.1.1.6    D̲I̲F̲C̲O̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲6̲.̲0̲)̲

         a)  Send CMD to DIFCO (6.1)
             Controls DIFCO by sending commands.

         b)  Process Command Completion from DIFCO (6.2)
             Interprets and reacts upon acknowledge from DIFCO.



4.2.1.1.7    E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲ ̲(̲7̲.̲0̲)̲

         a)  Queue Error Reporting (7.1)
             Reports to SSC that an unexpected Queue element
             has been received.

         b)  Internal Error Handling (7.2)
             Reports to SSC that an unexpected response has
             been received from DIFCO or from monitor procedures
             called.





4.2.1.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The software structure is shown on figure 4.2.1.2-1.
         DIVCO consists of one coroutine containing 7 modules
         and 10 common procedures.



4.2.1.2.1    D̲I̲V̲C̲O̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲1̲.̲0̲)̲

         This is the module containing the mainloop of DIVCO.
         The module contains the MDOS initialization functions,
         initialize the DIFCO subcoroutine, receives items arrived
         in the MDOS ̲CMD ̲Q and MDOS ̲CCMD ̲Q and receives DIFCO
         responses.

         The following component procedures are contained in
         this module:

         a)  MDOS Init (1.1)
             Initializes the MDOS common data and DIVCO data.



4.2.1.2.2    D̲I̲F̲C̲O̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲2̲.̲0̲)̲

         This module receives and reacts upon DIFCO responses,
         sends acknowledge of TEMCO commands to TEMCO, sends
         flash or antiflash notifications to the other MDCO
         cmd queues and displays the precedence on VDU.



4.2.1.2.3    F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲f̲r̲o̲m̲ ̲c̲c̲m̲d̲-̲q̲ ̲ ̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲3̲.̲0̲)̲

         This module analyses the incoming flash-notification
         to determine the precedence (superflash or flash),
         takes care of the creation of queue elements to be
         sent to the other MDCO's cmd-queues and displays the
         present superflash or flash queue length.


4.2.1.2.4    F̲l̲a̲s̲h̲ ̲n̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲f̲r̲o̲m̲ ̲c̲m̲d̲-̲q̲-̲p̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲4̲.̲0̲)̲

         This module analyses the flash notification to determine
         the precedence (superflash or flash) from the CMD ̲Q
         sent by another MDCO ̲Package. Displays the present
         superflash or flash queue length.



4.2.1.2.5    A̲n̲t̲i̲f̲l̲a̲s̲h̲ ̲n̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲f̲r̲o̲m̲ ̲c̲m̲d̲-̲q̲-̲p̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲5̲.̲0̲)̲

         This module analyses the precedence of the flash notification
         (superflash or flash) from the CMD ̲Q sent by another
         MDCO ̲Package. Displays the actual queue-length on VDU.
         The DISQ has decremented by one. Look after if the
         insertion of the queue field on VDU still shall be
         inverted.



4.2.1.2.6    T̲E̲M̲C̲O̲ ̲C̲M̲D̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲6̲.̲0̲)̲

         This module analyses TEMCO commands, performs start
         user actions (after sign on), sends commands to DIFCO
         and reports reception of unexpected queue elements
         to SSC.

         a)  MDCO Connections (6.1)
             Transfers the user connection (received from TEMCO
             together with START USER CMD) to MDOS common data
             areas. Reads the Terminal Profile by call upon
             TMP and transfers data from the terminal profile
             to MDOS common data area.

         b)  Init Terminal (6.2)
             Initializes the VDU.

         c)  Request Periodic Timeout (6.3)
             Requests the periodic timeout (every minute) for
             the duration of this session.





4.2.1.2.7    T̲i̲m̲e̲r̲ ̲E̲v̲e̲n̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲7̲.̲0̲)̲

         This module interprets the periodic-timeout for periodic
         timeouts the date/time field and queue length fields
         in the VDU header are updated and the VDU header displayed.
         If unexpected queue elements are found this is reported
         to SSC.



4.2.1.2.8    C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲

         For description of the 10 common procedures refer section
         4.2.1.6.
















































                      Fig. 4.2.1.2-1


4.2.1.3  D̲a̲t̲a̲f̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲ ̲w̲i̲t̲h̲i̲n̲ ̲D̲I̲V̲C̲O̲

         An overview of the dataflow through DIVCO is shown
         on diagrams 4.2.1.3-1 to 5.

         The call structure within DIVCO is shown on figure
         4.2.1.3-6 identifying all calls between modules and
         common procedures.









                       5 HIPOGRAMS















































                      Fig. 4.2.1.3-6


4.2.1.4  D̲I̲V̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.1.4.1    D̲I̲V̲C̲O̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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̲

         This module is the controlling module within the subpackage.
         It interprets the startup variable when the subprocess
         is started and activates initialization or restart
         accordingly. It initializes the MDOS data-areas, sends
         a command to DIFCO, and initiates reception from the
         MDOS ̲CMQ and MDOS ̲CCMDQ. It associates the reception
         from these queues with the semaphore MDOS ̲S1 and waits
         for this semaphore. It analyses the input to the semaphore,
         (when signalled) to identify:

         -   SSC commands
         -   Flash Notifications
         -   Anti-flash Notifications
         -   Timeouts
         -   DIFCO Responses

         and calls appropriate modules.



4.2.1.4.1.2  M̲o̲d̲u̲l̲e̲ ̲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)  DIVCO ̲CONTROL
         b)  DIVCO ̲CONTROL (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̲

         R̲6̲ ̲L̲I̲N̲K̲                       DESTROYED

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         RO-R7                         DESTROYED







                     Figure 4.2.1.3-6

                  MODULE CALL STRUCTURE



         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.1.4.1.3  M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲



4.2.1.4.1.3.1    M̲D̲O̲S̲ ̲I̲N̲I̲T̲

         Initializes the MDOS-data areas and DIVCO-data areas



4.2.1.4.1.4  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             SENDER ̲ID ̲TYPE            refer 4.1.4
             QELEMENT MAIN ̲TYPE        refer CPS/DBD/001
             DIVCO ̲OP                  refer 4.1.4
             MDOS ̲S1                   refer 4.1.4
             MDOS ̲S2                   refer 4.1.4
             DIVCO ̲CMD ̲TYPE            refer 4.1.4
             QERROR ̲INF                refer 4.1.4
             INTERNAL ̲ERROR ̲INF        refer 4.1.4

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             CMD ̲QEL                   refer 4.2.1.5
             CMD ̲QEL ̲ATTR              refer 4.2.1.5
             CCMD ̲QEL                  refer 4.2.1.5
             CCMD ̲QEL ̲ATTR             refer 4.2.1.5
             START ̲UP:                 refer CPS/SDS/039 sec.
                                       4.1.4
             CLOSE ̲DOWN ̲FLAG           refer 4.2.1.5

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             NONE




4.2.1.4.1.5  M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The module performs the following tasks:

         -   Interprets the START ̲UP ̲ACTIVE ̲TYPE and sends a
             INIT ̲DIFCO cmd or RESTART ̲DIFCO cmd accordingly.

         -   Initializes MDOS data- and DIVCO data-areas.

         -   Sets up RECEIVE ̲FIRST ̲QEL call to MDOS-CMDQ and
             MDOS ̲CCMDQ associates the call to MDOS ̲S1, signals
             DIFCO and waits for MDOS ̲S1.

         -   Analyses input to MDOS ̲CMDQ and calls the modules:

             TEMCO ̲CMD ̲PROCESSING
             INTERNAL FLASH
             INTERNAL ANTIFLASH
             TIMER ̲EVENT ̲PROCESSING

         accordingly.

         -   Analyses input to MDOS ̲CCMDQ and calls the module:

             Flash-Queue Monitoring


         DIVCO CONTROL


         M̲D̲O̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲.̲3̲.̲1̲)̲

         START ̲UP EQ RESTART ?         MOVE RESTART
                                       ̲DIFCO ̲CMD TO
                                       DIVCO ̲OP.CMD

         MOVE INIT ̲DIFCO ̲CMD TO DIVCO ̲OP.CMD

         CASE SIGNAL ̲OPSEM(MDOS ̲S2, DIVCO ̲OP)

         WAIT OPSEM (MDOS ̲S1)(MDOS ̲OP) : OK

         CASE MDOS ̲OP. OP ̲ID(2)

            DIFCO ̲IDENT?                                         D̲I̲F̲C̲O̲
                                                                 ̲R̲E̲S̲P̲O̲N̲S̲E̲
                                                                 ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲)̲

            OTHERWISE?                                           T̲E̲P̲
                                                                 ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                                                 ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                                                                 ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲


         END CASE

         S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲

         W̲A̲I̲T̲I̲N̲G̲ ̲P̲O̲I̲N̲T̲ ̲(̲-̲2̲)̲


         END

                Fig. 4.2.1.4.1-1


         WAITING POINT


             FOREVER LOOP

                 WAIT ̲OPSEM(MDOS ̲S1)(MDOS ̲OP) : OK

                 CASE MDOS ̲OP.OP ̲ID(2) OF SENDER ̲ID
                 ̲TYPE

                     CMDQ ̲IDENT?  M̲D̲O̲S̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲-̲3̲)̲

                     CCMDQ ̲IDENT? M̲D̲O̲S̲ ̲C̲C̲M̲D̲ ̲Q̲E̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲-̲4̲)̲

                     DIFCO ̲IDENT? D̲I̲F̲C̲O̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
                     ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲)̲

                     OTHERWISE?   T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                     ̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲


                 END CASE

                 CLOSE ̲DOWN ̲FLAG EQ TRUE?  EXIT FOREVER
                 LOOP


             END FOREVER ̲LOOP

             CLOSE LOOP

                 WAIT ̲OPSEM(MDOS ̲S1)(MDOS ̲OP): OK

             END CLOSE ̲LOOP


         END













                Fig. 4.2.1.4.1-2


         MDOS ̲CMD ̲QEL ̲PROCESSING


         CASE WAIT ̲SYS ̲CALL(CMD ̲OP)(CMD ̲QEL ̲ATTR,CMD
         ̲QEL):ERROR ̲OK

                 ERROR? ANALYSE ̲ERROR(CC,0)

                 OK?  CASE CMD ̲QEL ̲ATTR.HEADER MAINTYPE
                     
                                       OF QELEMENT
                                       ̲MAINTYPE

                         SSC ̲CMD?      T̲E̲M̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲4̲.̲2̲.̲1̲.̲4̲.̲6̲)̲

                         FLASH ̲NOTIFICATION? I̲N̲T̲E̲R̲N̲A̲L̲
                     ̲F̲L̲A̲S̲H̲
                                               (̲4̲.̲2̲.̲1̲.̲4̲.̲4̲)̲

                         TEP ̲INTERNAL? I̲N̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲T̲I̲F̲L̲A̲S̲H̲
                                                  
                     (̲4̲.̲2̲.̲1̲.̲4̲.̲5̲)̲

                         TIME OUT? T̲I̲M̲E̲R̲ ̲E̲V̲E̲N̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲4̲.̲2̲.̲1̲.̲4̲.̲7̲)̲

                         OTHERWISE? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲



                     END CASE


         END CASE


         END


















                Fig. 4.2.1.4.1-3


         MDOS ̲CCMD ̲QEL ̲PROCESSING


           CASE WAIT ̲SYS ̲CALL(CCMD ̲OP)(CCMD ̲QEL ̲ATTR,
         SUBQUEUE.
                                              CCMD
                                       ̲QEL): ERROR
                                       ̲OK

             ERROR?  ANALYZE ̲ERROR(CC,O)

             OK?     CASE CCMD ̲QEL ̲ATTR.HEADER MAINTYPE
                     OF
                                                                       QELEMENT
                                                                       ̲MAIN
                                                                       ̲TYPE

                     FLASH.NOTIFIC?     F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲
                     ̲M̲O̲N̲I̲T̲O̲R̲I̲N̲G̲(SUBTYPE)
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲2̲.̲1̲.̲4̲.̲3̲)̲

                                                  
                                          D̲I̲S̲M̲A̲N̲T̲L̲E̲
                                       ̲Q̲E̲L̲(̲C̲C̲M̲D̲ ̲Q̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                                                  
                                          S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲
                                       ̲C̲C̲M̲D̲ ̲Q̲E̲L̲(̲4̲.̲2̲.̲1̲.̲6̲.̲2̲)̲

                     OTHERWISE?     T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲1̲.̲5̲.̲1̲)̲



                     END CASE


         END CASE



























                Fig. 4.2.1.4.1-4


4.2.1.4.2    D̲I̲F̲C̲O̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲



4.2.1.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̲

             This module analyses the responses from
             DIFCO subcoroutine. If the response is
             a completion code to a cmd another completion
             code is sent to TEMCO. If the response
             is a notification (flash or antiflash)
             other notifications are sent to the MDCO
             ̲cmd-q's.



4.2.1.4.2.2  M̲o̲d̲u̲l̲e̲ ̲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)  DIFCO ̲RESPONSE ̲PROCESSING

             b)  DIFCO ̲RESPONSE ̲PROCESSING (R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             R6 LINK                                             Destroyed

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             RO-R7                                               Destroyed

             F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             None



4.2.1.4.2.3  M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲



4.2.1.4.2.3.1    R̲e̲m̲o̲v̲e̲ ̲V̲D̲U̲

             Remove both the header and format area
             of the VDU.





4.2.1.4.2.3.2    C̲a̲n̲c̲e̲l̲ ̲C̲a̲l̲l̲

             Cancel the outstanding monitor ̲calls as
             periodic ̲timeout request and ccmd queue
             ̲element request.



4.2.1.4.2.4  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 TEP ̲INTERNAL ̲SUBTYPE     refer CPS/DBD/001
                 QELEMENT ̲MAIN ̲TYPE       refer CPS/DBD/001
                 FLASH ̲NOTIF ̲SUBTYPE      refer CPS/DBD/001
                 DIVCO ̲OP                 refer 4.1.4
                 DIFCO ̲CC ̲TYPE            refer 4.1.4
                 INTERNAL ̲ERROR ̲INF       refer 4.1.4
                 ACK ̲PARAMS               refer CPS/DBD/001
                 SEND ̲PARAMS ̲TYPE         refer 4.1.4
                 PRECEDENCE ̲TYPE          refer CPS/DBD/001

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 USER-ON-FLAG (m)         refer 4.2.1.5
                 VDU ̲SPLIT ̲FAILED         refer 4.2.1.5
                 CLOSE ̲DOWN ̲FLAG (m)      refer 4.2.1.5
                 MDCO ̲SEND ̲PARAMS (m)     refer 4.1.4
                 FLASH ̲KIND               refer 4.2.1.5
                 HEADER ̲IFCB              refer 4.1.4
                 FORMAT ̲IFCB              refer 4.1.4
                 VDU ̲HD ̲AREA              refer 4.1.4
                 VDU ̲HD ̲FIELD             refer 4.1.4
                 CMD ̲QEL                                         refer
                                                                 4.2.1.5

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 VAR OK ̲FLAG              BOOLEAN
                 INIT OK ̲FLAG = FALSE
                 VAR FLASH ̲ARRIVED        BOOLEAN
                 INIT FLASH ̲ARRIVED = FALSE





4.2.1.4.2.5  M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

             The module performs the following tasks:

             -   Analyses the DIFCO response to be
                 a command completion report or a notification
                 of a flash-transaction.

             -   Sends a report to TEMCO if the command
                 has been executed or not

             -   Sends a flash notification to the
                 MDCO ̲cmd ̲queues and updates a flash
                 queue field on VDU.

             -   Sends an antiflash notification to
                 the MDCO ̲cmd-queues, updates a flash
                 queue field on VDU and turns off the
                 inverted field if neccessary.


         DIFCO RESPONSE PROCESSING

             CASE DIFCO ̲OP.CMD OF DIFCO ̲CC TYPE

             INIT ̲DIFCO ̲CC?          SET OK ̲FLAG =
                                     FALSE

             RESTART ̲DIFCO ̲CC?       SET OK ̲FLAG =
                                     FALSE

             START ̲DIFCO ̲CC?         SET OK ̲FLAG =
                                     TRUE

             STOP ̲DIFCO ̲CC,

             BLOCK ̲DIFCO ̲CC?         SET OK ̲FLAG =
                                     TRUE
                                                                      R̲E̲M̲O̲V̲E̲
                                                                      ̲V̲D̲U̲
                                                                      ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲.̲3̲.̲1̲)̲
                                                                      C̲A̲N̲C̲E̲L̲
                                                                      ̲C̲A̲L̲L̲
                                                                      ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲.̲3̲.̲2̲)̲
                                                                      SET
                                                                      USER
                                                                      ̲ON
                                                                      ̲FLAG
                                                                      =
                                                                      FALSE

             CLOSE ̲DIFCO ̲CC?         SET OK ̲FLAG =
                                     TRUE
                                                                      USER
                                                                      ̲OK
                                                                      ̲FLAG,
                                                                      EQ
                                                                      FALSE?
                                                                      R̲E̲M̲O̲V̲E̲
                                                                      ̲V̲D̲U̲
                                                                      ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲.̲3̲.̲1̲)̲
                                                                      C̲A̲N̲C̲E̲L̲
                                                                      ̲C̲A̲L̲L̲
                                                                      ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲4̲.̲2̲.̲3̲.̲2̲)̲
                                                                      SET
                                                                      CLOSE
                                                                      DOWN
                                                                      ̲FLAG
                                                                      =
                                                                      TRUE
                                                                      SET
                                                                      USER
                                                                      ̲ON
                                                                      ̲FLAG
                                                                      =
                                                                      FALSE
             FLASH ̲NOT?                                               SET
                                                                      OK
                                                                      ̲FLAG
                                                                      =
                                                                      FALSE
                                                                      
                                                                      F̲L̲A̲S̲H̲
                                                                      ̲Q̲U̲E̲U̲E̲
                                                                      ̲M̲O̲N̲I̲T̲O̲R̲I̲N̲G̲(̲F̲L̲A̲G̲)
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      (̲4̲.̲2̲.̲1̲.̲4̲.̲3̲)̲
             ANTIFLASH ̲NOT?          SET OK ̲FLAG =
                                     FALSE
                                     A̲N̲T̲I̲F̲L̲A̲S̲H̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
                                     ̲(̲-̲2̲)̲
             OTHERWISE?                                               T̲E̲P̲
                                                                      ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                                                      ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                                                                      ̲U̲P̲)̲
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      (̲4̲.̲1̲.̲5̲.̲2̲)̲
             END CASE

             OK ̲FLAG EQ FALSE?

             MDCO ̲SEND PARAMS.MAINTYPE = ACK

             MDCO ̲SEND.PARAMS.SUBTYPE = TEP ̲ACK

             VDU ̲SPLIT ̲FAILED EQ TRUE? CMD ̲QEL ̲FLAG
             = 2

             SET CMD ̲QEL ̲FLAG = 0

             CASE SEND ̲REPLY(SEND PARAMS, NIL, CMD
             ̲QEL)(SEND ̲PARAMS,CC):
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      
                                                                      ERROR
                                                                      ̲OK
                                                                      
                                                                      
                                                                      
                 ERROR?              ANALYZE ERROR
                                     (CC,0)
                 OK?

             END CASE

             SET OK ̲FLAG TO FALSE
         END
                Fig. 4.2.1.4.2-1


  ANTI ̲FLASH ̲PROCESSING

         CASE DIFCO ̲OP.PARA(1).FLAG OF PRECEDENCE

             SUPERFLASH?
                     SET MDCO ̲SEND PARAMS MAINTYPE
                     = TEP ̲INTERNAL

                     SET MDCO ̲SEND ̲PARAMS.SUBTYPE =ANTIFLASH
                     ̲NOTIFICATION

                     SET MDCO ̲SEND ̲PARAMS.FLAG = SUPERFLASH
                     ̲ITEM ̲ARRIVED

                     SET FLASH ̲KIND TO SUPERFLASH

                     SET FLASH ̲ARRIVED = TRUE

             FLASH?  SET MDCO ̲SEND ̲PARAMS.MAINTYPE
                     = TEP ̲INTERNAL

                     SET MDCO ̲SEND ̲PARAMS.SUBTYPE =
                     

                           ANTIFLASH ̲NOTIFICATION

                     SET MDCO ̲SEND ̲PARAMS.FLAG = 
                            FLASH ̲ITEM ̲ARRIVED

                     SET FLASH ̲KIND TO FLASH
                     SET FLASH ̲ARRIVED = TRUE

             OTHERWISE?     T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
             ̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

         END CASE

  FLASH ̲ARRIVED EQ TRUE? S̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲9̲)̲

                      F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲U̲P̲D̲A̲T̲E̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲3̲)̲

                      D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲

                      VDU ̲HD ̲AREA(SUPERFLASH ̲PTR) NE
                     0?

                      VDU ̲HD ̲AREA(FLASH ̲PTR)NE 0?

                      CASE CHANGE FIELD ATTR(HEADER
                     IFCB,
                           VDU ̲HD ̲FIELD ̲DISQ ̲F)(CC,VDU
                     ̲SPLIT ̲FAILED):
                                                  
                             ERROR ̲OK
                      ERROR? ANALYSE ERROR(CC,1,VDU
                     ̲SPLIT ̲FAILED)
                                           LI? VDU
                                     ̲SPLIT FLAG = TRUE
                      OK?

                      END CASE

                      SET FLASH ̲ARRIVED = FALSE
  END
                Fig. 4.2.1.4.2-2


    REMOVE VDU


             CASE REMOVE TERMINAL (HEADER ̲IFCB)(CC):
             ERROR ̲OK

                 ERROR?              ANALYZE ERROR
                                     (CC,0)

                 OK?



             END CASE


             CASE REMOVE TERMINAL (FORMAT ̲IFCB)(CC):
             ERROR ̲OK

                 ERROR?              ANALYZE ERROR
                                     (CC,0)

                 OK?

             END CASE

    END























               Fig. 4.2.1.4.2.2.1


4.2.1.4.3    F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲M̲O̲N̲I̲T̲O̲R̲I̲N̲G̲



4.2.1.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̲

         This module analyses the Register (flash-notification)
         to determine precedence (flash or superflash). A similar
         notification is sent to the other MDCO-cmd ̲queues.

         The flash-queue is updated (incremented by one), and
         a bell is rung. 

         The field where the Message Distribution Queue length
         is displayed on VDU will be inverted.



4.2.1.4.3.2 M̲o̲d̲u̲l̲e̲ ̲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 ̲QUEUE ̲MONITORING (R4: FLASH ̲NOTIF)

         b)  FLASH ̲QUEUE ̲MONITORING (R4,R6)

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         R4  FLASH ̲NOTIF                       Destroyed

         R6  LINK                              Destroyed

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0 - R7                               Destroyed

         T̲o̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None


4.2.1.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         None



4.2.1.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             FLASH ̲NOTIF ̲SUBTYPE               refer CPS/DBD/001

             CCMD ̲QEL ̲ATTR                     refer 4.2.1.5

             CMD ̲QEL ̲ATTR                      refer 4.2.1.5

             INTERNAL ̲ERROR ̲INF                refer 4.1.4

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             FLASH ̲KIND (m)                    refer 4.2.1.5

             MDCO ̲SEND ̲PARAMS (m)              refer 4.1.4

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             VAR: OK ̲FLAG                      BOOLEAN

             INIT OK ̲FLAG = FALSE



4.2.1.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This module performs the following tasks:

         -   Analyse Flash notification QEL from the Ccmd ̲Q
             to determine the precedence (flash or superflash)

         -   Sends a corresponding flash notification to the
             other MDCO-cmd-queues

         -   Updates and displays VDU ̲HEADER

         -   Dismantles Flash Notification QEL

         -   Inverts Distribution ̲queue ̲length ̲field and rings
             bell.


    FLASH ̲QUEUE ̲MONITORING


         CASE FLASH NOTIF "REGISTER" OF FLASH ̲NOTIF
         ̲SUBTYPE

         SUPERFLASH ̲ITEM ̲ARRIVED?    MDOS ̲SEND ̲PARAMS.MAINTYPE
                                     = 
                                               FLASH
                                     NOTIFICATION

                                     MDOS ̲SEND ̲PARAMS.SUBTYPE
                                     = 
                                         SUPERFLASH
                                     ̲ITEM ̲ARRIVED

                                     FLAG ̲KIND TO SUPERFLASH

                                      OK ̲FLAG = TRUE

         FLASH ̲ITEM ̲ARRIVED?  MDOS ̲SEND ̲PARAMS.MAINTYPE
                             = 
                                                FLASH
                                     NOTIFICATION

                                     MDOS ̲SEND ̲PARAMS
                                     SUBTYPE = FLASH

                                     FLASH ̲KIND = FLASH
                                     ̲ITEM ̲ARRIVED

                                     OK ̲FLAG = TRUE

         OTHERWISE?                  T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                                     ̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲


         END CASE

         OK ̲FLAG = TRUE?             S̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
                                     4.2.1.6.9

                                     F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲
                                     ̲U̲P̲D̲A̲T̲E̲ ̲(̲4.2.1.6.3)

                                     D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲
                                     ̲(4.2.1.6.3)

                                     I̲N̲V̲E̲R̲T̲ ̲A̲N̲D̲ ̲B̲E̲L̲L̲
                                     (4.2.1.6.8)

                                     OK ̲FLAG = FALSE


    END


4.2.1.4.4    I̲N̲T̲E̲R̲N̲A̲L̲ ̲F̲L̲A̲S̲H̲



4.2.1.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̲

             This module analyses flash-notification
             from the MDOS ̲cmd ̲queue to determine precedence
             (flash or superflash). It specifies which
             subqueue on VDU to update. The Distribution
             queue ̲field is inverted and the bell is
             rung.



4.2.1.4.4.2 M̲o̲d̲u̲l̲e̲ ̲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)  INTERNAL ̲FLASH

             B)  INTERNAL ̲FLASH (R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             R6 LINK                                             DESTROYED

             R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             Ro - R7                                             DESTROYED

             F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             None



4.2.1.4.4.3  M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

             None





4.2.1.4.4.4. D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 CMD ̲QEL ̲ATTR                      refer
                                                   4.2.1.5

                 QERROR ̲INF          refer CPS/DBD/001

                 FLASH ̲NOTIF ̲SUBTYPE refer CPS/DBD/001

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 FLASH ̲KIND (m)                    refer
                                                   4.2.1.5

                 USER ̲ON ̲FLAG                      refer
                                                   4.2.1.5

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 VAR:        OK ̲FLAG               BOOLEAN

                 INIT        OK ̲FLAG = FALSE



4.2.1.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

             This module performs the following tasks:

             -   Analyses Flash notification QEL from
                 the Cmd ̲Q to determine the precedence
                 (flash or superflash)

             -   Updates flash ̲queue ̲field and displays
                 VDU ̲HEADER 

             -   Inverts Distribution ̲queue ̲length
                 ̲field and rings bell.

             -   Dismantles Flash ̲Notification ̲QEL


    INTERNAL ̲FLASH

         USER ̲ON ̲FLAG = FALSE?

         CASE MDOS CMD ̲QEL ̲ATTR.HEADER.SUBTYPE OF FLASH
         ̲NOTIF ̲SUBTYPE

             SUPERFLASH ̲ITEM ̲ARRIVED?              FLASH
                                                   ̲KIND
                                                   =
                                                   SUPERFLASH
                                                   

                                                   SET
                                                   OK
                                                   ̲FLAG
                                                   =
                                                   TRUE

             FLASH ̲ITEM ̲ARRIVED?     FLASH ̲KIND = FLASH

                                                   SET
                                                   OK
                                                   ̲FLAG
                                                   =
                                                   TRUE

             OTHERWISE?                            T̲E̲P̲
                                                   ̲Q̲U̲E̲U̲E̲
                                                   ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   
                                                   (̲4̲.̲1̲.̲5̲.̲1̲)̲


         END CASE


         OK ̲FLAG = TRUE?     F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲U̲P̲D̲A̲T̲E̲
                             ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲3̲)̲

                             D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲

                             I̲N̲V̲E̲R̲T̲ ̲A̲N̲D̲ ̲B̲E̲L̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲8̲)̲

                             SET OK ̲FLAG = FALSE


         D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲C̲M̲D̲ ̲Q̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

         S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲


    END










                Fig. 4.2.1.4.4-1


4.2.1.4.5    I̲N̲T̲E̲R̲N̲A̲L̲ ̲A̲N̲T̲I̲F̲L̲A̲S̲H̲



4.2.1.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 analyses antiflash notification
             from the MDOS ̲cmd-queue to determine precedence
             (flash or superflash). It specifies which
             subqueue on VDU to update. The inversion
             of the Distribution ̲queue ̲field is turned
             off if it was the last message of flash
             or superflash precedence to MDCO assistance.



4.2.1.4.5.2  M̲o̲d̲u̲l̲e̲ ̲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)  INTERNAL ̲ANTIFLASH
             B)  INTERNAL ̲ANTIFLASH (R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             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.1.4.5.3  M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

             None





4.2.1.4.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 TEP ̲INTERNAL ̲SUBTYPE                            refer
                                                                 CPS/DBD/001
                 FLASH ̲NOTIF ̲SUBTYPE           refer
                                               CPS/DBD/001
                 CMD ̲QEL ̲ATTR                                    refer
                                                                 4.2.1.5
                 INTERNAL ̲ERROR ̲INF            refer
                                               4.1.4
                 QERROR ̲INF                    refer
                                               4.1.4

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 FLASH ̲KIND (m)                                  refer
                                                                 4.2.1.5
                 VDU ̲HD ̲AREA(SUPERFLASH ̲PRT)   refer
                                               4.1.4
                 VDU ̲HD ̲AREA ̲(FLASH ̲PTR)       refer
                                               4.1.4
                 HEADER ̲IFCB                                     refer
                                                                 4.2.1.5
                 VDU ̲HD ̲FIELD.DISQ ̲F           refer
                                               4.1.4

             c)  L̲O̲C̲A̲L̲ ̲D̲A̲T̲A̲

                 VAR: OK ̲FLAG                                    BOOLEAN

                 INIT:       OK ̲FLAG = FALSE



4.2.1.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

             This module performs the following tasks:

             -   Analyses Anti-flash notification QEL
                 from cmd-q to determine the precedence
                 (flash or superflash)

             -   Updates flash-queue field and displays
                 VDU-header

             -   Turns off the inversion of DISQ ̲field
                 if there are no more flash or superflash
                 messages for MDCO assistance.

             -   Dismantles Anti-flash notification
                 QEL


    INTERNAL ̲ANTI ̲FLASH
         USER ̲ON ̲FLAG = FALSE?
         CASE MDOS.CMD.QEL ATTR.SUBTYPE OF TEP ̲INTERNAL ̲SUBTYPE
           ANTIFLASH ̲NOTIFICATION?
           OTHERWISE?        T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
         END CASE
         CASE MDOS ̲CMD ̲QEL ̲ATTR.HEADER.FLAG OF FLASH ̲NOTIF ̲SUBTYPE
             SUPERFLASH ̲ITEM ̲ARRIVED? SET FLASH ̲KIND TO SUPERFLASH
                                          SET OK ̲FLAG = TRUE 
             FLASH ̲ITEM ̲ARRIVED? SET FLASH ̲KIND TO FLASH
                                     SET OK ̲FLAG = TRUE
             OTHERWISE?      T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
         END CASE
         OK ̲FLAG = TRUE?
                 F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲U̲P̲D̲A̲T̲E̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲3̲)̲
                 D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲
                 VDU ̲HD ̲AREA(SUPERFLASH ̲PTR)NE O?
                 VDU ̲HD ̲AREA(FLASH ̲PTR) NE O?
                 CASE CHANGE FIELD ATTR (HEADER ̲IFCB,VDU ̲HD ̲FIELD
                 (DISQ ̲F),0) (CC, VDU ̲SPLIT ̲FAILED):   ERROR ̲OK
                       ERROR? ANALYZE ERROR(CC,1, VDU ̲SPLIT ̲FAILED):(L1)
                              L1? V̲D̲U̲ ̲S̲P̲L̲I̲T̲ ̲F̲L̲A̲G̲ ̲=̲ ̲T̲R̲U̲E̲
                       OK?
                 END CASE
                 SET OK ̲FLAG = FALSE

         D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲C̲M̲D̲Q̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
         S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲


    END

                                   Fig. 4.2.1.4.5-1


4.2.1.4.6    T̲E̲M̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



4.2.1.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 analyses TEMCO command, performs necessary
         actions and sends appropriate commands to DIFCO.



4.2.1.4.6.2 M̲o̲d̲u̲l̲e̲ ̲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)  TEMCO ̲CMD ̲PROCESSING

         b)  TEMCO ̲CMD ̲PROCESSING (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.1.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲



4.2.1.4.6.3.1 M̲D̲C̲O̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲S̲

         Transfers the user connection (received from TEMCO
         together with START USER CMD) to MDOS common data areas,
         reads the terminal profile by call upon TMP and transfers
         data from the terminal profile to MDOS common data
         area.


4.2.1.4.6.3.2 I̲N̲I̲T̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲

         Initializes both the header and the data area of the
         VDU.



4.2.1.4.6.3.3 R̲E̲Q̲U̲E̲S̲T̲ ̲P̲E̲R̲I̲O̲D̲I̲C̲ ̲T̲I̲M̲E̲O̲U̲T̲

         Sets up 1 minute periodic timeout by request to Timer
         monitor.



4.2.1.4.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             QEL ̲REFERENCE ̲TYPE               refer CPS/DBD/001
             DIVCO ̲OP                         refer 4.1.4
             MDOS ̲S2                          refer 4.1.4
             INTERNAL ̲ERROR ̲INF               refer 4.1.4
             QERROR ̲INF                       refer 4.1.4
             CMD ̲QEL ̲ATTR.                    refer 4.2.1.5
             REQUEST ̲TIME ̲RELATIVE ̲TYPE.      refer CPS/DBD/001
             SSC ̲COMMAND ̲SUBTYPE              refer CPS/DBD/001
             DIVCO ̲CMD ̲TYPE                   refer 4.1.4

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             INIT AREA                        refer 4.1.4
             VDU ̲HD ̲AREA                      refer 4.1.4
             HEADER IFCB                      refer 4.1.4
             FORMAT IFCB                      refer 4.1.4
             CURRENT CLASSIFICATION FIELD     refer 4.1.4
             USER ̲ON ̲FLAG                     refer 4.2.1.5



         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲


             INIT:   START ̲UP ̲BUFFER SIZE        CPS/DBD/001
                     POINTER TO INIT AREA        CPS/DBD/001
                     START OFFSET                CPS/DBD/001
                     POINTER FOR TERMINAL PROF.  CPS/DBD/001
                     LENGTH FOR TER.PRO.         CPS/DBD/001
                     COUNT                       CPS/DBD/001
                     MASK                        CPS/DBD/001
                     TERMINAL PROFILE            CPS/DBD/001
                     FILE SYSTEM NAME            CPS/DBD/001

             CONST:  RCT

             VAR:    MDOS ̲Request ̲Timeout: 
 
             INIT:   Request ̲Time ̲Relativ Type
                     Time ̲out ̲kind: K ̲Relativ
                     Queue = CMDQ
                     Timeout = Periodic
                     Format = Minutes
                     Time = 1
                     EVENT ̲ID = 0



4.2.1.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This module performs the following tasks:

         -   Interprets TEMCO commands.

         -   Reads the TEMCO cmd queue data buffer and gets
             the needed data to fill the MDOS common data and
             DIVCO common data.

         -   Gets the terminal profile and sets up the needed
             data in common data.

         -   Initializes and displays VDU header.

         -   Requests periodic 1 minute timeout.

         -   Send appropriate commands to DIFCO.


         TEMCO ̲CMD PROCESSING

             CASE MDOS ̲CMD ̲QEL ̲ATTR.HEADER ̲SUBTYPE
             OF SSC ̲COMMAND ̲SUB-
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     TYPE

             START ̲USER?                      M̲D̲C̲O̲
                                              ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲S̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲6̲.̲3̲.̲1̲)̲

                                              I̲N̲I̲T̲
                                              ̲T̲E̲R̲M̲I̲N̲A̲L̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲6̲.̲3̲.̲2̲)̲

                                              G̲E̲T̲ ̲D̲A̲T̲E̲
                                              ̲T̲I̲M̲E̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲6̲)̲

                                              Q̲U̲E̲U̲E̲
                                              ̲F̲I̲E̲L̲D̲S̲
                                              ̲U̲P̲D̲A̲T̲E̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲4̲)̲

                                              D̲I̲S̲P̲L̲A̲Y̲
                                              ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲

                                              R̲E̲Q̲U̲E̲S̲T̲
                                              ̲P̲E̲R̲I̲O̲D̲I̲C̲
                                              ̲T̲I̲M̲E̲O̲U̲T̲
                                              ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲6̲.̲3̲.̲3̲)̲

                                              S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲
                                              ̲C̲C̲M̲D̲
                                              ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲2̲)̲

                                              SET USER
                                              ̲ON ̲FLAG
                                              = TRUE

                                              SET DIVCO
                                              ̲OP.CMD
                                              TO START
                                              ̲DIFCO
                                              ̲CMD

             STOP ̲USER?                       SET DIVCO
                                              ̲OP.CMD
                                              TO STOP
                                              ̲DIFCO
                                              ̲CMD

             BLOCK ̲TERMINAL? SET DIVCO ̲OP.CMD TO BLOCK
             ̲DIFCO CMD

             CLOSE ̲DOWN? SET DIVCO ̲OP.CMD TO CLOSE
             ̲DIFCO ̲CMD

             OTHERWISE?                       T̲E̲P̲ ̲Q̲U̲E̲U̲E̲
                                              ̲E̲R̲R̲O̲R̲
                                              ̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲


             END CASE

             SIGNAL ̲OPSEM(MDOS S2 DIVCO OP): OK

             D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

             S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲

         END






                Fig. 4.2.1.4.6-1


         MDCO ̲CONNECTIONS


             CASE READ BUFFER(CMD ̲QEL, POINTER TO INIT
             ̲AREA,START OFFSET)
                                                  
                                                  
                                               (START
                                              ̲UP ̲BUFFER
                                              ̲SIZE,
                                              CC):
                                              ERROR
                                              ̲OK

             ERROR?  ANALYZE ERROR(CC,1,SIZE ERROR):
                     (LI)

                     LI?                      T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                              ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                                              ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

             OK?

             END CASE

             UPDATE  INIT ̲AREA . MAX ̲CLASS

         END UPDATE  INIT ̲AREA . SPECIAL ̲HANDLING ̲INSTRUCTION


























               Fig. 4.2.1.4.6.3.1


         INIT TERMINAL

             GET HEADER IFCB ̲INDEX

             GET FILE SYSTEM NAME

             GET CMD ̲SPLIT ̲CONT ̲ID (FROM QUEUE ̲DATA
             ̲BUFFER)

             GET CMD ̲SPLIT ̲DATA ̲ID (FROM QUEUE ̲DATA
             ̲BUFFER)

             CASE FORMAT ̲INIT ̲TERMINAL(INTERFACE NO,
                                              FILE
                                              SYSTEM
                                              NAME,CONT
                                              ̲ID,DATA
                                              ̲ID)
                                              (CC):
                                              ERROR
                                              ̲OK

             ERROR?                           ANALYZE
                                              ERROR
                                              (CC,0)

             OK?

             END CASE

             GET FORMAT ̲IFCB ̲INDEX

             GET FORMAT ̲SPLIT ̲CONT ̲ID

             GET FORMAT ̲SPLIT ̲DATA ̲ID

             CASE FORMAT ̲INIT ̲TERMINAL(INTERFACE NO,
                     FILE SYSTEM NAME, CONT ̲ID, DATA
                     ̲ID)
                     (CC):ERROR ̲OK

             ERROR?                           ANALYZE
                                              ̲ERROR(CC,0)

             OK?


             END CASE

         END








               Fig. 4.2.1.4.6.3.2


         REQUEST PERIODIC TIMEOUT

             CASE REQUEST ̲TIMEOUT(MDOS ̲REQUEST ̲TIMEOUT)

                                                  
                                                  (CC):
                                              ERROR
                                              ̲OK

                  ERROR?                       ANALYZE
                                              ̲ERROR(CC,0)

                  OK?


              END CASE


         END































               Fig. 4.2.1.4.6.3.3


4.2.1.4.7    T̲I̲M̲E̲R̲ ̲E̲V̲E̲N̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



4.2.1.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̲

         This module analyses the timeout QEL to determine whether
         it is a periodic one or not. All the fields in the
         VDU header are updated and displayed.



4.2.1.4.7.2 M̲o̲d̲u̲l̲e̲ ̲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)  TIMER ̲EVENT ̲PROCESSING

         b)  TIMER ̲EVENT ̲PROCESSING (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.1.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         None


4.2.1.4.7.4  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CMD ̲QEL ̲ATTR.                  refer 4.2.1.5
             CMD ̲QEL ̲ATTR.                  refer 4.2.1.5
             QERROR ̲INF                     refer 4.1.4
             TIMEOUT ̲SUBTYPE                refer CPS/DBD/001

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             None



4.2.1.4.7.5  M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This module performs the following tasks:

         -   Analyse timeout
         -   Request time
         -   Update and display VDU header


    TIMER EVENT PROCESSING


         CASE MDOS ̲QEL ̲ATTR.SUBTYPE OF TIMEOUT ̲SUBTYPE

             TIMEOUT ̲EVENT?    CASE MDOS ̲QEL ̲ATTR.HEADER.FLAG

                               PERIODIC? G̲E̲T̲ ̲D̲A̲T̲E̲ ̲T̲I̲M̲E̲
                               ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲6̲)̲

                                         Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲
                               ̲U̲P̲D̲A̲T̲E̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲4̲)̲

                                         D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲
                               ̲H̲E̲A̲D̲E̲R̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲

                                         D̲I̲S̲M̲A̲N̲T̲L̲E̲
                               ̲Q̲E̲L̲(̲C̲M̲D̲Q̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                               OTHERWISE?T̲E̲P̲ ̲Q̲U̲E̲U̲E̲
                               ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲


                               END CASE

             TIME ̲OUT ̲CANCELLED?                  D̲I̲S̲M̲A̲N̲T̲L̲E̲
                                                  ̲Q̲E̲L̲(̲C̲M̲D̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

             OTHERWISE?  T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         END CASE

         S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲


    END

















               Figure 4.2.1.4.7-1



4̲.̲2̲.̲1̲.̲5̲  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

             a)  D̲a̲t̲a̲ ̲r̲e̲f̲e̲r̲e̲n̲c̲e̲


                 QEL ̲REFERENCE ̲TYPE               refer
                                                  CPS/DBD/001
                 QEL ̲ATTRIBUTES ̲TYPE              refer
                                                  CPS/DBD/001
                 FIELD DESCRIPTOR ̲TYPE            refer
                                                  CPS/DBD/001
                 QUEUE ̲ATTRIBUTES ̲TYPE            refer
                                                  CPS/DBD/001
                 FIELD ̲ATTR ̲TYPE                                       refer
                                                                       CPS/DBD/001
                 TIME ̲TYPE                        refer
                                                  CPS/DBD/001
                 SEND ̲PARAMS ̲TYPE                                      refer
                                                                       CPS/DBD/001
                 QUEUE ̲REFERENCE ̲TYPE             refer
                                                  CPS/DBD/001

             b)  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲l̲o̲c̲a̲l̲ ̲d̲a̲t̲a̲

                 VAR:          FLASH ̲KIND         INTEGER
         
                 VAR: CLOSE ̲DOWN ̲FLAG             BOOLEAN
                 INIT: CLOSE ̲DOWN ̲FLAG = FALSE

                 VAR: USER ̲ON ̲FLAG                                     BOOLEAN
                 INIT USER ̲ON ̲FLAG = FALSE

                 VAR MDOS ̲Q ̲LENGTH                                     0...255

                 VAR MDOS ̲Q ̲LENGTH ̲REF: QUEUE ̲REFERENCE

                 VAR :         CMDQEL,
                               CCMDQEL: QEL ̲REFERENCE
                               ̲TUPE

                               CMD ̲QEL ̲ATTR,
                               CCMD ̲QEL ̲ATTR: QEL ̲ATTRIBUTES
                               ̲TYPE

                 TYPE MAINQ = (MDOS ̲DMQ, RESPQ,USERQ)

                 TYPE SUBQ  = PRECEDENCE TYPE



4.2.1.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.1.6.1    S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲Q̲E̲L̲



4.2.1.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̲

             Initiates reception from DIVCO ̲CMD ̲Q and
             associates to MDOS ̲S1.



4.2.1.6.1.2  I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲

             a)  SET RECEIVE ̲CMD ̲QEL
             b)  SET RECEIVE ̲CMD ̲QEL (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

             D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 CMD ̲QEL                                               refer
                                                                       4.2.1.5
                 DIVCO ̲OP                         refer
                                                  4.1.4
                 MDOS ̲S1                                               refer
                                                                       4.1.4
                 CCMD ̲QEL ̲ATTR                    refer
                                                  4.2.1.5

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 None

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None


4.2.1.6.1.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             See fig. 4.2.1.6.1.1


         SET ̲RECEIVE ̲CMD ̲QEL


             CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT, CMD
             ̲QEL,

                               (CMD ̲QEL ̲ATTR, DIVCO
                               ̲OP)(CC): ERROR ̲OK

             ERROR?  ANALYZE ̲ERROR (CC,0)

             OK?

             END CASE

             ASSOCIATE (MDOS ̲S1, DIVCO ̲OP)(CC) : OK


         END





























                Fig. 4.2.1.6.1-1


4.2.1.6.2    S̲E̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲C̲C̲M̲D̲ ̲Q̲E̲L̲



4.2.1.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̲

             Initialize reception from MDOS ̲CCMDQ and
             associates to MDOS ̲S1.



4.2.1.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  SET RECEIVE ̲CCMD ̲QEL
             b)  SET RECEIVE ̲CCMD ̲QEL (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

             D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 CCMD ̲QEL                         refer
                                                  4.2.1.5
                 DIVCO ̲OP                         refer
                                                  4.1.4
                 MDOS ̲SI                                         refer
                                                                 4.1.4
                 CCMD ̲QEL ̲ATTR                    refer
                                                  4.2.1.5

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 None

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None


4.2.1.6.2.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

                 See fig. 4.2.1.6.2.1


         SET RECEIVE ̲CCMD ̲QEL


             CASE INIT ̲RECEIVE ̲FIRST ̲QEL (WAIT, CCMD
             ̲QEL,

                               (CCMDQ ̲QEL ̲ATTR, DIVCO
                               ̲OP)(CC): ERROR ̲OK

             ERROR?            ANALYZE ̲ERROR (CC,0)

             OK?


             END CASE

             ASSOCIATE (MDOS ̲S1, DIVCO ̲OP)(CC) : OK



         END



























                Fig. 4.2.1.6.2-1


4.2.1.6.3    F̲L̲A̲S̲H̲ ̲Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲U̲P̲D̲A̲T̲E̲



4.2.1.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̲

             This procedure updates the queue length
             of the Distribution queue and updates
             the flash or superflash-precedecence queue
             according to the precedence of the flash
             notification arrived to DIVCO coroutine.



4.2.1.6.3.2  I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  FLASH ̲QUEUE ̲FIELDS ̲UPDATE
             b)  FLASH ̲QUEUE ̲FIELDS ̲UPDATE (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̲

             RO-R7                                               DESTROYED

             F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             None

             D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 None

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 MDOS ̲Q ̲LENGTH ̲REF (m)            refer
                                                  4.2.1.5
                 MDOS ̲Q ̲LENGTH                    refer
                                                  4.2.1.5
                 FLASH ̲KIND                       refer
                                                  4.2.1.5
                 VDU ̲HD ̲AREA                      refer
                                                  4.1.4
                 INTERNAL̲ ̲ERROR ̲INF               refer
                                                  4.1.4



             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None



4.2.1.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             This procedure updates the queue length
             of the Distribution queue and update the
             flash or superflash-precedence queue according
             to the precedence of the flash notification
             arrived to DIVCO coroutine.


         FLASH ̲Q ̲FIELDS ̲UPDATE


             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO MDOS
             ̲MDQ

             GET FLASH ̲KIND (FLASH OR SUPERFLASH)

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE ACCORDING
             TO FLASH ̲KIND

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             CASE FLASH ̲KIND

                 SUPERFLASH?   MOVE MDOS ̲Q ̲LENGTH TO
                               VDU ̲HD ̲AREA
                                                                   SUPERFLASH
                                                                   ̲PTR

                 FLASH? MOVE MDOS ̲Q ̲LENGTH TO VDU ̲HD
                 ̲AREA(FLASH ̲PTR)

                 OTHERWISE?    T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                               ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

             END CASE

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲TYPE TO ZERO

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             MOVE ̲MDOS ̲Q ̲LENGTH TO VDU ̲HD ̲AREA.(DISQ
             ̲PTR)


         END
















                Fig. 4.2.1.6.3-1


4.2.1.6.4    Q̲U̲E̲U̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲U̲P̲D̲A̲T̲E̲



4.2.1.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̲

             This procedure reads the queue length
             of Common Distribution queue, Response
             queue, USER Release queue, USER Receive
             queue, USER Response queue and sets subqueue
             lengths for Common Distribution queue.
             The three USER queue length are added
             to each other in the USER-queue in the
             VDU header split data area.



4.2.1.6.4.2  I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  QUEUE ̲FIELDS ̲UPDATE
             b)  QUEUE ̲FIELDS ̲UPDATE (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

                 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 None

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 VDU ̲HD ̲AREA (m)                                 refer
                                                                 4.1.4
                 MDOS ̲Q ̲LENGTH ̲REF (m)            refer
                                                  4.2.1.5
                 MDOS ̲Q ̲LENGTH (m)                               refer
                                                                 4.2.1.5


             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None



4.2.1.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             This module gets the actual queue length
             fields of the distribution queue, response
             queue and the three user queues and sets
             up the subqueues length within Distribution
             queue.


         QUEUE ̲FIELDS ̲UPDATE

             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO MDOS
             ̲MDQ

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE TO ZERO

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q ̲LENGTH IN VDU ̲HD ̲AREA(DISQ
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.MAINT ̲QUEUE TO RESP
             ̲Q

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q ̲LENGTH IN VDU ̲HD ̲AREA.(RESP
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO VUS
             ̲ARRQ

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET ̲MSOS ̲Q ̲LENGTH IN VDU ̲HD ̲AREA(USER
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO VUS
             ̲RELSQ

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             ADD MDOS ̲Q ̲LENGTH TO VDU ̲HD ̲AREA(USER
                 ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO VUS
             ̲RECVQ

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             ADD MDOS ̲Q ̲LENGTH TO VDU ̲HD ̲AREA.(USER
                 ̲PTR)

             S̲E̲T̲ ̲P̲R̲E̲C̲E̲D̲E̲N̲C̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲(̲ ̲-̲2̲)̲


         END






                Fig. 4.2.1.6.4-1


         SET PRECEDENCE FIELDS

             SET MDOS ̲Q ̲LENGTH ̲REF.MAIN ̲QUEUE TO MDOS
             ̲MDQ

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE TO ROUTINE

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q ̲LENGTH IN VDU ̲HD ̲AREA(ROUTINE
             ̲PTR)

             SET MDOS ̲Q LENGTH ̲REF.SUB ̲QUEUE TO PRIORITY

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q LENGTH IN VDU ̲HD ̲AREA(PRIORITY
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE TO SUPERPRIORITY

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q ̲LENGTH IN VDU ̲HD ̲AREA(SUPERPRIORITY
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF SUB ̲QUEUE TO IMMEDIATE

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q LENGTH TO VDU ̲HD ̲AREA(IMMEDIATE
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE TO FLASH

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

             SET MDOS ̲Q ̲LENGTH TO VDU ̲HD ̲AREA(FLASH
             ̲PTR)

             SET MDOS ̲Q ̲LENGTH ̲REF.SUB ̲QUEUE TO SUPERFLASH

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲3̲)̲

             SET MDOS ̲Q ̲LENGTH TO VDU ̲HD.AREA(SUPERFLASH
             ̲PTR)



             END…86…1…02…        …02…   …02…   …02…   …02…         …02…       
                       …02…                    
4.2.1.6.5    G̲E̲T̲ ̲Q̲U̲E̲U̲E̲ ̲L̲E̲N̲G̲T̲H̲



4.2.1.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̲

             This procedure reads queue length of specified
             queue by calling QUEUE ̲MONITOR.



4.2.1.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ 

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  GET ̲QUEUE ̲LENGTH
             b)  GET ̲QUEUE ̲LENGTH (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.1.6.5.3  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 QUEUE ̲REFERENCE                                       CPS/DBD/001
                 QUEUE ̲ATTRIBUTES                                      CPS/DBD/001
                 ACCESS ̲PROFILE                                        CPS/DBD/001
                 MDOS ̲SUBPROCESS ̲SINGLE ̲CAP       refer
                                                  4.1.4

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 MDOS ̲Q ̲LENGTH ̲REF                                     refer
                                                                       4.2.1.5
                 MDOS ̲Q ̲LENGTH (m)                                     refer
                                                                       4.2.1.5



             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 MDOS ̲QUEUE ̲ATTRIBUTES

                     RECORD

                               PROFILE                                 ACCESS
                                                                       ̲PROFILE
                               LENGTH                                  0...255
                               THRESHOLD                               0...255

                     END



4.2.1.6.5.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

                 See fig. 4.2.1.6.5.4-1


         GET Q ̲LENGTH


             CASE GET ̲QUEUE ̲ATTRIBUTE (ATTRIBUTES,
             QUEUE) (CC): ERROR ̲OK

             ERROR?  ANALYZE ̲ERROR(CC,0)

             OK?     Q ̲ATTR.QUEUE ̲LENGTH LE 99?

                     SET Q ̲ATTR.QUEUE ̲LENGTH TO 99


             END CASE

             SET MDOS ̲Q ̲LENGTH AS MDOS ̲Q ̲ATTR.LENGTH


         END


























                Fig. 4.2.1.6.5-1


4.2.1.6.6    G̲E̲T̲ ̲D̲A̲T̲E̲ ̲T̲I̲M̲E̲



4.2.1.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̲

             This procedure reads current date and
             time by calling Timer Monitor.



4.2.1.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  GET ̲DATE ̲TIME(TIME)
             b)  GET ̲DATE TIME(R1, 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                                                        DESTROYED
             R1      DATE ̲TIME
             R2-R7                                                     DESTROYED

             F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

             None



4.2.1.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲


             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 VDU ̲HD ̲AREA                      refer
                                                  4.1.4

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None


4.2.1.6.6.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             See figure 4.2.1.6.6-1.


         GET ̲DATE ̲TIME

             CASE READ TIME (FORMAT = F ̲DTG ̲TYPE)

                                  (TIME = DTG ̲TYPE,
                               CC) : ERROR ̲OK

             ERROR?  ANALYZE ERROR (CC,0)

             OK?

             END CASE

             VDU ̲HD ̲AREA(TIME ̲PTR) = TIME

         END






























                Fig. 4.2.1.6.6-1


4.2.1.6.7    D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲



4.2.1.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̲

             This procedure displays the VDU header
             split by calling the Format Handler of
             IOC with the VDU header data area as input.



4.2.1.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  DISPLAY ̲VDU ̲HEADER
             b)  DISPLAY ̲VDU ̲HEADER (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.1.6.7.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 Field ̲DESCRIPTOR ̲TYPE            refer
                                                  CPS/DBD/001

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 INIT-AREA                        refer
                                                  4.1.4
                 VDU ̲HD ̲AREA                      refer
                                                  4.1.4
                 HEADER IFCB                      refer
                                                  4.1.4
                 VDU ̲SPLIT ̲FAILED (m)             refer
                                                  4.2.1.5
                 CURRENT ̲CLASS                    refer
                                                  4.1.4
                 VDU ̲HD ̲FIELD                     refer
                                                  4.1.4
                 VDU ̲HD ̲BLE                       refer
                                                  4.1.4
                 NO ̲OF ̲FIELDS                     refer
                                                  4.1.4


4.2.1.6.7.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             This procedure gets the common data "VDU
             ̲HEADER AREA" and displays the contents
             with help of the constant Field list.


         DISPLAY ̲VDU ̲HEADER

             VDU ̲HD ̲AREA(SUPERFLASH ̲PTR) = "BLANK ̲SIGN"

             VDU ̲HD ̲AREA(SUPERPRIORITY ̲PTR) = "BLANK
             ̲SIGN"

             CASE  FIELDS ̲OUTPUT(HEADER ̲IFCB, VDU ̲HD
             ̲AREA,
                               VDU ̲HD ̲BLE, NO ̲OF ̲FIELDS,
                               SIZE(VDU ̲HD ̲AREA)
                               CC: ERROR ̲OK

                 ERROR?        ANALYSE ̲ERROR(CC, VDU
                               ̲SPLIT ̲FAILED): (LI)

                               LI? VDU ̲SPLIT ̲FLAG =
                               TRUE

                 OK?

             END CASE





























               Figure 4.2.1.6.7-1



4.2.1.6.8    I̲N̲V̲E̲R̲T̲ ̲A̲N̲D̲ ̲B̲E̲L̲L̲



4.2.1.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̲

             This procedure changes attribute of distribution
             ̲queue ̲fields. Also the bell on the VDU
             is sounded.



4.2.1.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             a)  INVERT ̲AND ̲BELL
             b)  INVERT ̲AND ̲BELL (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.1.6.8.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 HEADER ̲IFCB                      refer
                                                  4.2.1.5
                 VDU ̲HD ̲FIELD(DISQ ̲F)             refer
                                                  4.1.4
                 QERROR ̲INF                       refer
                                                  4.1.4

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None


4.2.1.6.8.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

                 Only the main Distribution ̲queue ̲field
                 is inverted on VDU and the bell is
                 rung.


         INVERT AND BELL

             CASE CHANGE ̲FIELD ̲ATTR(HEADER IFCB, VDU
             ̲HD ̲FIELD(DISQ ̲F)

                               (CC, VDU ̲SPLIT ̲FAILED):
                               ERROR ̲OK

             ERROR? ANALYZE ERROR(CC, 1, VDU ̲SPLIT
             ̲FAILED) : (LI)

                     LI?        VDU SPLIT FLAG = TRUE

             OK?     CASE SEND CONTROL(HEADER IFCB,
                     "BELL")(CC, 
                                                  VDU
                                                  ̲SPLIT
                                                  ̲FAILED):ERROR
                                                  ̲OK

                     ERROR? ANALYZE ERROR(CC, 1, VDU
                     ̲SPLIT ̲FAILED):(LI) ̲

                               LI?                VDU
                                                  SPLIT
                                                  FLAG
                                                  =
                                                  TRUE

                     OK?

                     END CASE

             END CASE


         END

















                Fig. 4.2.1.6.8-1


4.2.1.6.9    S̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲



4.2.1.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̲

             Both flash and antiflash notifications
             are sent to the other MDCO ̲CMD ̲queues.



4.2.1.6.9.2 M̲o̲d̲u̲l̲e̲ ̲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 ̲NOTIFICATION
             b)  SEND ̲NOTIFICATION (R6)

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

             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.1.6.9.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             a)  D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

                 INTERNAL ̲ERROR ̲INF               refer
                                                  4.1.4
                 QUEUE REFERENCE                                       refer
                                                                       CPS/DBD/001
                 MDOS ̲SUBPROCESS ̲GROUP ̲CAP        refer
                                                  4.1.4
                 MDOS ̲MDOS ̲CMDQ ̲GROUP             refer
                                                  4.1.4

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 MDOS ̲SEND ̲PARAMS (m)             refer
                                                  4.2.1.5
                 MDOS ̲QNAME                       refer
                                                  4.1.4


         CONST:  MDCO ̲ONE = MDOS ̲MDOS ̲CMDQ ̲GROUP
                        SHIFT8 + MDOS ̲MDOS ̲G ̲CMDQ1                     refer
                                                                       4.1.4
             MDCO ̲TWO = MDOS ̲MDOS ̲CMDQ ̲GROUP
                        SHIFT8 + MDOS ̲MDOS ̲G ̲CMDQ2                     refer
                                                                       4.1.4
             MDCO ̲THREE = MDOS ̲MDOS ̲CMDQ ̲GROUP
                                SHIFT8 + MDOS ̲MDOS
                               ̲G ̲CMDQ3            refer
                                                  4.1.4

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 MDCO ̲NO                                               BOOLEAN



4.2.1.6.9.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

             Refer fig. 4.2.1.6.9.4


         SEND NOTIFICATION


             SET MDCO ̲NO = 1

             LOOP

             CASE MDCO ̲NO OF

                 1?  MDOS QNAME = MDCO ̲ONE

                 2?  MDOS QNAME = MDCO ̲TWO

                 3?  MDOS QNAME = MDCO ̲THREE

                 OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
                 ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

             END CASE

             CASE SEND (MDOS ̲SEND ̲PARAMS, MDOS ̲QEL,
             MDOS ̲QNAME)
                       (MDOS ̲SEND ̲PARAMS, CC): ERROR
                     ̲OK
                 ERROR? ANALYZE ̲ERROR(CC,1,BLOCKED
                 ̲QUEUE): (LI)

                               LI?

                 OK?

             END CASE

             MDCO ̲NO EQ 4?     EXIT ̲LOOP

             INCREMENT MDCO ̲NO

             END LOOP


         END











                Fig. 4.2.1.6.9-1


4.2.1.7  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.2.1.7.1    D̲I̲V̲C̲O̲ ̲D̲I̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

             The following commands are sent from DIVCO
             to DIFCO via operation semaphore MDOS
             ̲S1:

                 INIT ̲DIFCO ̲CMD
                 RESTART ̲DIFCO ̲CMD
                     START ̲DIFCO ̲CMD
                 STOP ̲DIFCO ̲CMD 
                 BLOCK ̲DIFCO ̲CMD
                 CLOSE ̲DIFCO ̲CMD



4.2.1.7.2    D̲I̲F̲C̲O̲ ̲D̲I̲V̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

             The following completion codes to above
             commands are sent from DIFCO to DIVCO:

                 INIT ̲DIFCO ̲CC
                 RESTART ̲DIFCO ̲CC
                     START ̲DIFCO ̲CC
                 STOP ̲DIFCO ̲CC
                 BLOCK ̲DIFCO ̲CC
                 CLOSE ̲DIFCO ̲CC

             The following notifications of changes
             to common package parameter are sent from
             DIFCO to DIVCO:

             FLASH ̲NOT                            (CMD)
             ANTIFLASH ̲NOT     (CMD)