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

⟦96435a4dc⟧ Wang Wps File

    Length: 57173 (0xdf55)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN73.08«

Derivation

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

WangText



H…06…G…0a…G…0e…G…02…G…05…F…08…F…0c…F…0e…F…02…F…06…E…0a…E…0b…E…0e…E…0f…E…05…D…0a…D…0f…D    C…09…C…0b…C…0c…C…0e…C…0f…C…00…C…05…B…08…B…0b…B…0e…B…01…B B…06…A…0a…A…0f…A…86…1
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   …02…
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   …02…
                                   
                                   
                                   …02…
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   

…02…CPS/SDS/037

…02…CGN/820225…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

             FELD ̲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              efer CPS/DBD/001

             QERROR ̲INF ̲TYPE                   refer CPS/DBD/001

             TMP ̲PARAM ̲TYPE                    refer CPS/DBD/001

             INTENAL ̲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…86…1…02…
                                                      …02…   …02…  
                                               …02…   …02…   …02…   …02…   
                                                  …02…     …02…    
                                                           
                                                        
         b)  M̲D̲O̲S̲ ̲C̲O̲M̲M̲O̲N̲ ̲T̲Y̲P̲E̲S̲

         TYPE    MDOS ̲COROUTINE ̲OP = RECORD
                                                                  COROUTINE
                                                                  OP: COROUTINE
                                                                      ̲OP
                                                                      ̲TYPE
                                                                  IDENT:  IDENT
                                                                          ̲TYPE
                                                                  CMD:  CO
                                                                        ̲CMD's
                                                                        ̲TYPE
                                                                  PARA:  INTEGER
                                                                 END

         TYPE IDENT = (DIVCO ̲IDENT, DIFCO ̲IDENT, DIFCO ̲DIDIA
         ̲IDENT,DIDIA ̲IDENT,
                 DIRT ̲IDENT, CMDQ ̲IDENT, CCMDQ ̲IDENT, F/C ̲KEY
                 ̲IDENT,
                 ANQ ̲IDENT, VDU ̲IDENT)
 
         TYPE CO-̲CMD=                          CASE IDENT OF
                     DIVCO ̲IDENT: DIVCO ̲CMD ̲TYPE
                     DIFCO ̲IDENT: DIFCO ̲CC ̲YPE
                     DIFCO ̲VDIA ̲IDENT: DIFCO ̲DIDIA ̲CMD ̲TYPE
                     DIDIA ̲IDENT: DIDIA ̲DIFCO ̲CC ̲TYPE
                     DIRT ̲IDENT: DIRT ̲NOT ̲TYPE
                     VDU ̲IDENT: VDU ̲CMD ̲TYPE

                 END CASE

         TYPE DIVCO ̲CMD =                      (INIT ̲DIFCO ̲CMD,
                                               RESTART ̲DIFCO
                                               ̲CMD,
                                               START ̲DIFCO ̲CMD,
                                               STOP ̲DIFCO ̲CMD,       BLOCK
                                                                     ̲DIFCO
                                                                     ̲CMD,
                                                                     CLOSE
                                                                     ̲DOWN
                                                                     ̲DIFCO
                                                                     ̲CMD)


         TYPE DIFCO ̲CC =                                         (INIT
                                                                 ̲DIFCO
                                                                 ̲CC,
                                                                 RESTART
                                                                 ̲DIFCO
                                                                 ̲CC)
                                               START ̲DIFCO ̲CC,
                                               STOP ̲DIFCO ̲CC,
                                               BLOCK ̲DIFCO ̲CC,
                                               CLOSE ̲DOWN ̲DIFCO
                                               ̲CC,
                                               PRECEDENCE ̲CHANGE,
                                               FLASH ̲NOTIFICATION,
                                               ANTIFLASH ̲NOTIFICATION)


         TYPE DIFCO ̲DIDIA ̲CMD=       (DIDIA ̲CLOSE ̲DOWN,
                                     DIDIA ̲CANCEL,
                             DIDIA ̲CLEAR ̲VDU, 
                             DIDIA ̲INPUT ̲DATA,
                             DIDIA ̲INPUT ̲REQ, DIDIA
                             ̲OUTPUT ̲FORMAT,
                             DIDIA ̲OUTPUT ̲DATA, 
                         DIDIA ̲INSERT, DIDIA ̲DELETE)

         TYPE DIDIA ̲DIFCO ̲CC =       (SPLIT ̲FAILED
                                     ̲CC, DIDIA ̲CLOSE
                                     ̲DOWN ̲CC,
                             DIDIA ̲CANCEL ̲CC, DIDIA
                             ̲CLEAR ̲VDU ̲CC,
                             INSERT ̲NOT ̲ALLOWED ̲CC,
                             LINES ̲INSERTED ̲CC,
                             DELETE ̲NOT ̲ALLOWED ̲CC,
                             LINES ̲DELETED ̲CC,
                             OUTPUT ̲DATA ̲C, OUTPUT
                             ̲FORMAT ̲CC,
                             INPUT ̲DATA-CC,
                             VAL ̲ERROR ̲CC,
                             DEFER ̲VALID, 
                             SEND ̲VALID)

         TYPE DIRT ̲NOT =             (ONLINE ̲NOTIFICATION,
                                     OFFLINE ̲NOTIFICATION,
                             RETRIEVAL ̲NOTIFICATION,
                             RETRIEVAL ̲ERROR)

         TYPE VDU ̲CMD =              (FORMAT ̲TO ̲VDU,
                                     FILDS ̲TO ̲VDU,
                             FIELDS ̲FROM ̲VDU, LINES
                             ̲INSERTED,
                             LINES ̲DELETED)



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

         INIT    DIFCO ̲OP. IDENT     = DIFCO ̲DIDIA
                                     ̲IDENT
         INIT    DIDIA ̲C ̲OP. IDENT   = DIDIA ̲IDENT
         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, MOS ̲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,

             CIF ̲REF ̲QEL:            QEL ̲REFERENCE
                                     ̲TYPE

         VAR CURRENT ̲CLASS    :      CLASSIFICATION
                                     ̲TYPE

         VAR CURRENT ̲PRECEDENCE:     PRECEDENCE ̲TYPE

         VA  CAB               :     USER ̲CAPABILITY
                                     ̲TYPE

         VAR MDOS ̲QERROR:            QERROR ̲INF ̲TYPE

         VAR MDOS ̲INT ERROR  =       RECORD

                                     USER ̲CC:                    INTEGER

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


                             END;



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

         VAR KEY ̲COUNT                                           :INTEER

         VAR MDCO ̲ACTIV                                          :BOOLEAN…86…1…02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
         TYPE    MAINQ   =   (DISQ, RESPQ, USERQ)

         TYPE    SUBQ    =   (SUPERFLASH, FLASH, IMMEDIATE,
                             SUPERPRIORITY, PRIORITY,
                             ROUTINE)

         TYPE    VDU ̲CLASS ̲TYPE = RECORD

                     IOC ̲HEADER: IOC ̲HEADER ̲TYPE

                 CLASSIFICATION: ARRAY (1..18) OF CHAIR

                         END;


         TYPE    VDU ̲TIME ̲TYPE = RECORD

                     IOC ̲HEADER: IOC ̲HEADER ̲TYPE

                     TIME: DTG ̲TYPE

                         EN…86…1…02…        …02…   …02…   …02…   …02…     
                                                  
                                    
         VAR MDOS ̲Q ̲NAME: QUEUE ̲REFERENCE TYPE


         CONST:  MDOS ̲CMD ̲Q

         CONST:  MDOS ̲CCMD ̲Q

         CONST:  MDOS ̲MDQ

         CONST:  ANQ

         CONST:  RESP ̲Q

         CONST:  RETV ̲Q

         CONST:  PREP ̲Q

         CONST:  COLLECT ̲Q

CONST:   LOG ̲Q

         CONST:  ISQ

         CONST:  MSG ̲DIST ̲Q

         CONST:  TR ̲HAND ̲Q


         VAR MDOS ̲RECV ̲ATTR: QEL ̲ATTRIBUTE ̲TYPE

         VAR MDOS ̲ATTR:      QEL ATTRIBUTE ̲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
                 ̲TPE

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

                 USER ̲ID: USER ̲ID ̲TYPE

                 MAX ̲CLASS: CLASSIFICATION ̲TYPE

                 SPECIAL ̲HANDLING ̲INSTRUCTION: SPEC
                 ̲HAND ̲TYPE

                 TERMINAL ̲DESIGNATOR: TERMINAL ̲DESIGNATOR
                 ̲TYPE

                 FCT ̲CAPABILITY: FCT ̲CAPABILITY ̲YPE

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


                 END…86…1         …02…   …02…   …02…   …02…           
                                                
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  M̲D̲O̲S̲ ̲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̲

         The purpose of this procedure is to report
         queue errors to the SSC.



4.1.5.1.2I̲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)  MDOS ̲QUEUE ̲ERROR(USER ̲ACTION: USER ̲ACTION
             ̲TYPE,
                             QEL:  QEL ̲REFERENCE,
                        MDOS ̲QERROR: QERROR ̲INF)

         b)  MDOS ̲QUEUE ̲ERROR DISM: BOOLEAN (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̲r̲s̲

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

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

         Non

         R0-R7                                    
         DEST…86…1         …02…   …02…   …02…   …02…                  
                                 
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 CP/DBD/001

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

             MDOS ̲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..5.2   M̲D̲O̲S̲ ̲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)  MDOS ̲INTERNAL ̲ERROR (USER ̲ACTION:  USER ̲ACTION
             ̲TYPE,
                               MDOS ̲INT ̲ERROR:  INTERNAL ̲ERROR
                 ̲INF)

         b)  MDOS ̲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 MDOS ̲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 ̲INFTYPE          refer CPS/DBD/001

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

             MDOS ̲INTE ̲ERROR                   refer 4.1.4

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

             TYPE MDOS ̲INTERNAL ̲ERROR:  INTERNAL ̲ERROR ̲INF ̲TYPE



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 SC by
         calling the SEND ̲GARBLE-procedure.




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



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

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

         The referenced view will be closed if demanded.



4.1.5.3.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)  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.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̲

             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̲

             N/A

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

             CONST RE ̲LEVEL = DISK ̲CP



4.1.5.3.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲…86…1         …02…   …02…   …02…   …02…            
                               
         DISMANTLE ̲QEL



         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

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



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


                   ERROR?  ANALYZE ̲ERROR(CC, 0)

                   OK?


                 END CASE

            OTHERWISE?- M̲D̲O̲S̲ ̲I̲N̲T̲E̲N̲A̲L̲(̲4̲.̲1̲.̲5̲.̲2̲)̲


         END CASE


4.1.5.3.1-1…86…1         …02…   …02…   …02…   …02…                                          
       
         CIF DISMANTLE (CREATE QEL)




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


             ERROR?    ANALYZE ̲ERROR(CC, 0)


             OK?



         END CASE





























                     Fig. 4.1.5.3.1-



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, tis 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 he 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 CS/ICD/009.…86…1         …02…   …02…   …02…   …02…  
                                                       
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 nterface 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 corotines
         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…86…1         …02…   …02…   …02…   …02…       
                                                      
         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.  Initialize Command
         .   Restart DIFCO Command
         3.  Start DIFCO Command
         4.  Stop DIFCO Command
         5.  Close ̲Down Command

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

         1.  Initialize ̲CC
         2.  Restart DIFCO ̲CC
         3.  Start DIFCO ̲CC
         4.  Stop DIFCO ̲CC
         5.  Close ̲Down ̲CC
         6.  FLASH ̲NOTIFICATION
         7.  ANTIFLSH ̲NOTIFICATION

         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

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

         1.  CLOSE ̲CC
         2.  CANCEL ̲CC
         3.  CLEAR ̲CC
         4.  INPUT ̲DATA ̲CC
         5.  OUPUT ̲DATA ̲CC
         6.  OUTPUT ̲FORMAT ̲CC
         7.  L ̲INSERT ̲CC
         8.  L ̲DELETE ̲CC
         9.  PRINT ̲REQ
         10. VALIDATION ̲ERROR


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

             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…86…1         …02…   …02…   …02…  
             …02…                                           
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 issueof 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
         -   DFCO 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)
             Performsinitialization 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 actio
             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 supervisoror 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 Reponse 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 TECO 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 careof
             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 updatedon 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 Flah/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 (.2)
             Maintains the queue length filds 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 andbell (5.5).
             Take care of the invertion 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 ommands.

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

         Te 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 acknowedge of TEMCO commands to TEMCO, sends
         flash or antiflash notifications to the other MDCO
         cmd queues and display 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-notifiction
         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 display the
         present superflash or flash queue length.…86…1        
         …02…   …02…   …02…   …02…                                         
          
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), and display the
         present suerflash 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) and display the actual queue-length
         on VDU. Look after if the inserion of the queue field
         on VDU still shall be inserted.



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 eleents 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 ommon 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.4    T̲i̲m̲e̲r̲ ̲E̲v̲e̲n̲t̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲(̲4̲.̲0̲)̲

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



4.2.1.2.5    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…86…1         …02…   …02…   …02…   …02…                                      
     
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 figur 4.2.1.3-6
         identifying all calls between modules and common procedures.…86…1
                 …02…   …02…   …02…   …02…                                 
                  







5 HIPOGRAMS…86…1         …02…   …02…   …02…   …02…                                       
    













































Fig. 4.2.1.3-6…86…1         …02…   …02…   …02…   …02…                 …02…                     
    
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.
         t interprets the startup parameters delivered in the
         registers when the subprocess is started and activates
         initialization or restart accordingly. It initializes
         the MDOS data-areas, sends a command to DIFCO, signals
         DIFCO and initiates reception fom 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
         -   nti-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̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         RO-R7                                                   DESTROYED…86…1
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
         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̲e̲r̲e̲n̲c̲e̲s̲

             DIVCO ̲OP                                            refer
                                                                 4.1.4
             MDOS ̲S1                                             refer
                                                                 4.1.4
             INIT ̲DIFCO ̲CMD                                      refer
                                                                 4.1.4
             RESTART ̲DIFCO ̲CMD                                   refer
                                                                 4.1.4
             QERROR ̲INF                                          refer
                                                                 4.1.4
             INTERNAL ̲ERROR ̲INF                                  refer
                                                                 4.1.4
             CMD ̲QEL                                             refer
                                                                 4.2.1.5
             CMD ̲QEL ̲MAINTYPE                                    refer
                                                                 4.2.1.5
             CCMD ̲QEL                                            refr
                                                                 4.2.1.5
             CCMD ̲QEL ̲MAINTYPE                                   refer
                                                                 4.2.1.5

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

             START ̲UP:                                           refer
                                                                 CPS/DBD/001
             CLOSE ̲DOWN ̲FLAG                                     refer
                                                                 4.2.1.5

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

             RESTART:                                            BOOLEAN
             OP ̲POINTER:                                         INTEGER
             OP ̲IDENT:                                           INTEGER




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.

         -   Initiaizes 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…86…1…02…        …02…   …02…   …02…   …02…      
                       …02…                         
         DIVCO CONTROL


         CASE START ̲UP OF

         DEAD 1 ?                      RESTART = FALSE

         DEAD 2 ?                      RESTART = FALSE

         COLD   ?                      RESTART = FALSE

         WARM 1 ?                      RESTART = TRUE

         WARM 2 ?                      RESTART = TRUE

         OTHERISE ?  M̲D̲O̲S̲ ̲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

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

         RESTART ?   MOVE RESTART ̲DIFCO ̲CMD TO DIVCO ̲OP.CMD

         MOVE INIT DIFCO ̲CMD TO DIVCO ̲OP.CMD

         S̲I̲G̲N̲A̲L̲ ̲D̲I̲F̲C̲O̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲0̲)̲

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

         CASE MDO ̲OP. IDENT

         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?                    M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲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…86…1…02…        …02…   …02…   …02…   …02…                 …02…                        
       
         WAITING POINT


             FOREVER LOOP

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

                 CASE MDOS ̲OP.IDENT OF

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

                     CCMD ̲QEL? M̲D̲O̲S̲ ̲C̲C̲M̲D̲ ̲Q̲E̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲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? M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ (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

             EN CLOSE ̲LOOP


         END













Fig. 4.2.1.4.1-2…86…1…02…        …02…   …02…   …02…   …02…                 …02…                        
       
         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

                                          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̲
                                       ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(4.2.1.4.7)

                                           OTHERWISE? M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲
                                       ̲E̲R̲R̲O̲R̲(4.1.5.1)



                                       END CASE


             END CASE


         END


















Fig. 4.2.1.4.1-3…86…1…02…        …02…   …02…   …02…   …02…                 …02…                        
       
         MDOS ̲COMD ̲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.EADER
                                       MAINTYPE OF

                                       FLASH.NOTIFIC.? 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)

                                       OTHERWISE? M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲
                                       ̲E̲R̲R̲O̲R̲ ̲(4.1.5.1)



                                       END CASE


             END CASE



























Fig. 4.2.1.4.1-4…86…1…02…        …02…   …02…   …02…   …02…                 …02…                     
    
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 compleion 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 ̲PROCESSIG

             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 rea 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̲
                 DIVCO ̲OP                 refer 4.1.4
                 DIFCO ̲CC ̲TYPE            refer 4.1.4
                 INIT ̲DIFCO ̲CC            refer 4.1.4
                 RESTART ̲DIFCO ̲CC         refer 4.1.4
                 START ̲DIFCO ̲CC           refer 4.1.4
                 STOP ̲DIFCO ̲CC            refer 4.1.4
                 BLOCK ̲DIFCO ̲CC           refer 4.1.4
                 CLOSE ̲DIFCO ̲CC           refer 4.1.4
                 INTERNAL ̲ERRR ̲INF        refer 4.1.4
                 ACK.PARAMS               refer CPS/DBD/001
                 SEND ̲PARAMS ̲TYPE         refer 4.1.4

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

                 USER-ON-FLAG (m)         refer 4.2.15
                 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
                 FLSH ̲KIND                refer 4.2.1.5
                 HEADER ̲IFCB              refer 4.1.4
                 DISQ ̲FIELD ̲AREA          refer 4.2.1.5
                 SUPER ̲FLASH ̲QUEUE ̲FIELD  refer 4.2.1.5
                 FLASH ̲QUEUE ̲FIELD        refer 4.2.1.5
                 FORMAT:IFCB              refer 4.1.4

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

                 VAR OK ̲FLAG              BOOLEAN
                 INIT OK ̲FLAG = FALS
                 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 update a flash
                 queue field on VDU.

             -   Sends an antiflash notification to
                 the MDCO ̲cmd-queues, update a flash
                 queue fieldon VDU and turns on the
                 inverted field if neccessary.…86…1…02…   
                     …02…   …02…   …02…   …02…               …02…     
                                           
         DIFCO RESPONSE PROCESSING

             CASE DIFCO RESPONSE OF

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

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

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

             STP ̲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 ̲DOWN ̲DIFCO ̲CC?         SET OK FLAG
                                          = TRUE
                                                                 USER
                                                                 ̲OK
                                                                 ̲FLAG,
                                                                 EQ
                                                                 FALSE?
                                                                 R̲E̲M̲O̲V̲E̲
                                                                 ̲V̲D̲U̲
                                                                 ̲(̲4.2.1.4.23.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 ̲NOTIFICATION?          SET OK ̲FLAG
                                          = FALSE
                                                                 F̲L̲A̲S̲H̲
                                                                 ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
                                                                 ̲(
                                                                 -2
                                                                 )
             ANTI ̲FLASH ̲NOTIFICATION?     SET OK ̲FLAG
                                          = FALSE
                                          A̲N̲T̲I̲F̲L̲A̲S̲H̲
                                          ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
                                          ( - 3 )
             OTHERWISE!                                          M̲D̲O̲S̲
                                                                 ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                                                 ̲E̲R̲R̲O̲R̲
                                                                 (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? SET ̲CMD ̲QEL
             ̲FLAG EQ 2

             SET CMD ̲QEL ̲FLAG= 0

             CASE SEND (SEND PARAMS, CMD ̲QEL,QUEUE)(ACK
             ̲
                     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…86…1…02…        …02…   …02…   …02…   …02…               …02…                     
            
         FLASH ̲PROCESSING


             CASE DIFCO ̲OP.PARA. FLAG OF PRECEDENCE

                 SUPERFLASH? SET MDCO ̲SEND ̲PARAMS.MAINTYPE
                 = FLASH ̲NOTIFI-                                      CATION
                                                                      

                                          SET MDCO
                                          ̲SEND ̲PARAMS.SUBTYPE
                                          = UPERFLASH

                                          SET FLASH
                                          ̲KIND TO SUPERFLASH

                                          SET FLASH
                                          ̲ARRIVED =
                                          TRUE

                 FLASH?                   SET MDCO
                                          ̲SEND ̲PARAMS.MAINTYPE
                                          = FLASH ̲NOTIF.

                                          SET MDCO
                                          ̲SEND ̲PARAMS.SUBTYPE
                                          = FLASH

                                          SET FLASH
                                          ̲KIND TO FLASH

                                          SET FLASH
                                          ̲ARRIVED =
                                          TRUE

                 OTHERWIS?                M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                          ̲E̲R̲R̲O̲R̲ (4.1.5.2)


             END CASE

             FLASH ̲ARRIVED = TRUE?        S̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲
                                          (4.2.1.6.9)

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

                                                                 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)

                                                                 SET
                                                                 FLASH
                                                                 ̲ARRIVED
                                                                 =
                                                                 FALSE

         ND








Fig. 4.2.1.4.2-2…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…       …02…                       
          
         ANTI ̲FLASH ̲PROCESSING

             CASE DIFCO ̲OP.PARA.FLAG OF PRECEDENCE

                 SUPERFLASH?              SET MDCO
                                          ̲SEND PARAMS
                                          MAINTYPE
                                          = TEP INTERNAL

                                          SET MDCO
                                          ̲SEND ̲PARAMS.SUBTYPE
                                          = ANTIFLASH

                     SET MDCO ̲SEND ̲PARAMS.FLAG = SUPERFLASH

                                          SET FLASH
                                          ̲KIND TO SUPERFLASH

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

                                          SET MDCO
                                          ̲SEND ̲PARAMS.SUBTYPE
                                          = ANTIFLASH

                                          SET MDCO
                                          ̲SEND ̲PARAMS.FLAG
                                          = FLAS

                                          SET FLASH
                                          ̲KIND TO FLASH
                                          SET FLAG
                                          ̲ARRIVED =
                                          TRUE
                 OTHERWISE?               M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                          ̲E̲R̲R̲O̲R̲ (4.1.5.2)

             END CASE

         FLASH ̲ARRIVED = 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

                                                                 
                                                                 SUPERFLASH
                                                                 ̲Q
                                                                 NE
                                                                 0?

                                                                 
                                                                 FLASH
                                                                 ̲Q
                                                                 NE
                                                                 0?

                                                                 
                                                                 GET
                                                                 HEADER
                                                                 ̲IFCB

                                                                 
                                                                 CASE
                                                                 CHANGE
                                                                 FIELD
                                                                 ATTR
                                                                 
                                                                 (IFCB,FIELD,0)
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (CC,VDU
                                                                 ̲SPLIT
                                                                 ̲FAILED):ERROR
                                                                 ̲OK
                                                                 
                                                                 ERROR?
                                                                 ANALYSE
                                                                 ERROR(CC,1,VDU
                                                                 ̲SPLIT
                                                                 ̲FAILED)
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  LI?
                                                                  M̲D̲O̲S̲
                                                                  ̲I̲N̲T̲E̲R̲A̲L̲
                                                                  ̲E̲R̲R̲O̲R̲
                                                                  (4.1.5.2)
                                                                 
                                                                 OK?

                                                                 
                                                                 END
                                                                 CASE

                                                                 
                                                                 SET
                                                                 FLASH
                                                                 ̲ARRIVED
                                                                 =
                                                                 FALSE
         END
Fig. 4.2.1.4.2-3…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…       …02…                       
          
         REMOVE VDU


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

                     ERROR?                                      ANALYZE
                                                                 ERROR
                                                                 (CC,0)

                     OK?



                 END CASE


                 CASE REMOVE TERMINAL (FORMAT ̲IFCB)(CC):
                 ERROROK

                     ERROR?                                      ANALYZE
                                                                 ERROR
                                                                 (CC,0)

                     OK?

                 END CASE

         END























Fig. 4.2.1.4.2.3.1…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…       …02…                      
           
4.2.1.4.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̲



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 flash-notification
                 to determine precedence (flash or
                 superlash). A similar notification
                 is sent to the other MDCO-cmd ̲queues.

                 The flash-queue is updated (incremented
                 by one), the DISQ is inverted and
                 a bell is ringing.



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 ̲MONITORIN

                 b)  FLASH ̲QUEUE ̲MONITORING (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̲

                 R - R7                                            Destroyed

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

                 None…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…     
                  …02…             …02…                   
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̲

                     CCMD ̲QEL ̲ATTR.HEADER.SUBTYPE                refer
                                                                 4.2.1.5

                     CMD ̲QEL ̲ATTR.HEADER.MAINTYP                 refer
                                                                 4.2.1.5

                     CMD ̲QEL ̲ATTR.HEADER.SUBTYPE                 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                                   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 O ̲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 oter MDCO-cmd-queues

                 -   Updates and displays VDU ̲HEADER

                 -   Dismantles Flash Notification
                     QEL

                 -   Inverts Distribution ̲queue ̲length
                     ̲field and ring bell.…86…1…02…   …02…    …02… 
                      …02…   …02…   …02…       …02…       …02…        
                         …02…                   
         FLASH ̲QUEUE ̲MONITORING


             CASE MDOS ̲CCMD ̲QEL ̲ATTR.HEADER.SUBTYPE
             OF

             SUPERFLASH?                  SET MDOS
                                          ̲SEND ̲PARAMS.MAINTYPE
                                          = FLASHNOTIFICATION

                                          SET MDOS
                                          ̲SEND ̲PARAMS.SUBTYPE
                                          = SUERFLASH

                                          SET FLAG
                                          ̲KIND TO SUPERFLASH

                                          SET OK ̲FLAG
                                          = TRUE

             FLASH?                       SET MDOS
                                          ̲SEND ̲PARAMS.MAINTYPE
                                          = FLASH NOTIFICATION

                                          SET MDOS
                                          ̲SEND ̲PARAMS
                                          SUBTYPE =
                                          FLASH

                                          SET FLASH
                                          ̲KIND = FLASH

                                          SET OK ̲FLAG
                                          = TRUE

             OTHERWISE?                   M̲D̲O̲S̲ ̲I̲N̲T̲R̲N̲A̲L̲
                                          ̲E̲R̲R̲O̲R̲ (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)

                                                                  SET
                                                                  OK
                                                                  ̲FLAG
                                                                  =
                                                                  FALSE


             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)


         END…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…       …02…       
              …02…             
4.2.1.4.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.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
                 precedene (flash or superflash). It
                 specifies which subqueue on VDU to
                 update. The Distribution queue ̲field
                 is inverted and the bell is ringing.



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̲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.HEADER.SUBTYPE       refer
                                                   4.2.1.5

                 QERROR ̲INF                        refer
                                                   4.1.4

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

                 FLASH ̲KIND (m)                                  refer
                                                                 42.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 deterine the precedence
                 (flash or superflash)

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

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

             -   Dismantles Flash ̲Notification ̲QEL…86…1…02…
                   …02…    …02…   …02…   …02…   …02…       …02…       …02…    
                         …02…                   
    INTERNAL ̲FLASH

         USER ̲ON ̲FLAG = FALSE?

         CASE MDOS CMD ̲QEL ̲ATTR.HEADER.SUBTYPE

             SUPERFLASH? FLASH ̲KIND = SUPERFLASH 

                             SET OK ̲FLAG = TRUE

             FLASH? FLASH ̲KIND = FASH

                     SET OK ̲FLAG = TRUE

             OTHERWISE?      M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ (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̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ (CMD ̲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…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…       …02…             …02…       
      
4.2.1.4.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̲



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 determineprecedence
             (flash or superflash). It specifies which
             subqueue on VDU to update. The invertion
             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̲a̲c̲e̲

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

             a)  INTERNAL ̲ANTI ̲FLASH
             B)  INTERNAL ̲ANTI ̲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̲

             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̲

             Non




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̲

                 CMD ̲QEL ̲ATTR.HEADER.FLAG          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)                                  refer4.2.1.5

                 VDU ̲DISPLAY ̲AREA.QUEUE ̲LENGTH ̲SUPERFLASH
                 (m)                                                  refer
                                                                      4.2.1.5

                 VDU ̲DISPLAY ̲AREA.QUEUE ̲LENGTH ̲FLASH
                 (m)
                                                                 refer
                                                                 4.2.1.5

                 HEADER ̲IFCB                                     refer
                                                                 4.2.1.5

                 DISQ ̲FIELD ̲AREA                                 refer
                                                                 4.2.1.5

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

                 VAR: K ̲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)

             -   Update flash-queue ield and display
                 VDU-header

             -   Turn off the invertion of DISQ ̲field
                 if there is no more flash or superflash
                 messages to MDCO assistance.

             -   Dismantle Anti-flash notification
                 QEL…86…1…02…   …02…    …02…   …02…   …02…   …02…       …02…      
                 …02…             …02…                   
    INTERNAL ̲ANTI ̲FLASH
                 USER ̲ON ̲FLAG = FALSE?

                 CASE MDOS ̲CMD ̲QEL ̲ATTR.HEADER.FLAG
                 OF

                 SUPERFLASH? SET FLASH ̲KIND TO SUPERFLASH
                                     SET OK ̲FLAG =
                                     TRUE 
                 FLASH?      SET FLASH ̲KIND TO FLASH
                                     SET OK ̲FLAG =
                                     TRUE
                 OTHERWISE?  M̲D̲C̲O̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ (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)

                                     SUPERFLASH ̲Q NE
                                     O?

                                     FLASH ̲Q E O?

                                     GET HEADER ̲IFCB

                                     CASE CHANGE FIELD
                                     ATTR (IFCB,
                                        FIELD,0)(CC,
                                     VDU ̲SPLIT ̲FAILED)
                                        :ERROR ̲OK

                                     ERROR? ANALYZE
                                     ERROR(CC,1,VDU
                                     ̲SPLIT ̲
                                                                 FAILED):(LI)
                                        LI? M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                     ̲E̲R̲R̲O̲R̲(4.1.5.2)

                                     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…86…1         …02…   …02…   …02…   …02…                     …02…           
          
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.



.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̲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
    t MDOS common data area.…86…1         …02…   …02…   …02…   …02…   
                        …02…                  
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
    imer 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
         START ̲DIFCO ̲CMD     refer 4.1.4
         STOP ̲DIFCO ̲CMD      refer 4.1.4
         BLOCK ̲DIFCO ̲CMD     refer 4.1.4
         CLOSE ̲DOWN ̲DIFCO ̲CMD        refer .1.4
         INTERNAL ̲ERROR ̲INF  refer 4.1.4
         QERROR ̲INF  refer 4.1.4
         CMD ̲QEL ̲ATTR.HEADER.
             SUBTYPE refer 4.2.1.5

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

         INIT AREA   refer 4.1.4
         VDU ̲DISPLAY ̲AREA    refer 4.2.1.5
         HEADER IFCB refer 4.1.4
         FORMAT IFCB refer 4.1.4
         CURREN 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:   POINTER TO INIT AREA     CPS/DBD/001
                     START OFFSET                  "
                     POINTER FOR TERMINAL PROF.    "
                     LENGTH FOR TER.PRO.           "
                     COUNT                         "
                     MASK                          "                TERMINAL
                                                                    PROFILE 
                                                                            
                                                                            
                                                                            
                                                                            
                                                                            "
                     FILE SYSTEM NAME              "

             CONST:  RCT



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 fillthe 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.…86…1…02…        …02…  
             …02…   …02…   …02…                        …02…                
              
         TEMCO ̲CMD PROCESSING

             CASE MDOS ̲CMD ̲QEL ̲ATTR.HEADER ̲SUBTYPE OF:

             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.)

                                              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 TO
                                              START ̲DIFCO CMD

             STOP ̲USER?                       SETDIVCO ̲OP TO
                                              STOP DIFCO ̲CMD

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

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

             OTHERWISE?                       M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
                                              (GIVE UP)(4.1.5.1)


             END CASE

             S̲I̲G̲N̲A̲L̲ ̲D̲I̲F̲C̲O̲ (4.2.1.6.10)

             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…86…1…02…        …02…   …02…   …02…   …02…                        …02…                 
       
         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?                      M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                              ̲E̲R̲R̲O̲R̲ (4.1.5.2)

             OK?

             END CASE


             CASE    SEARCH ̲PRIMARY ̲KEY(TERMINAL ̲PROFILE,
                                              LOGICAL ̲TERMINAL
                                              ̲NO, COUNT, INIT
                                              AREA ̲POINTER,
                                              INIT AREA POINTER
                                              LENGTH, MASK)
                                              (CC, BUFFER? FULL):
                                              ERROR ̲OK

             ERROR?  M̲D̲C̲O̲ ̲I̲N̲T̲E̲R̲A̲L̲ ̲E̲R̲R̲O̲R̲ (4.1.5.2)

             OK?


             END CASE


         END
















Fig. 4.2.1.4.6.3.1…86…1…02…        …02…   …02…   …02…   …02…                        …02…                
        
         INIT TERMINAL

             GET HEADED IFCB ̲INDEX

             GET FILE SYSTEM NAME

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

             GET CMD ̲SPLIT ̲DATA ̲ID ( "     "     "    "   )

             CASE FOMAT ̲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 ̲TERMIAL(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…86…1…02…        …02…   …02…   …02…   …02…                        …02…                
        
         REQUEST PERIODIC TIMEOUT

             CASE REQUEST ̲TIMEOUT(MDOS ̲CMD ̲Q,PERIODIC,ONE MIN,
             RPT)

                                                       (CC):
                                              ERROR ̲OK

                  ERROR?                       ANALYZE ̲ERROR(CC,0)

                  OK?


              END CASE


         ED































Fig. 4.2.1.4.6.3.3…86…1         …02…   …02…   …02…   …02…                     …02…               
      
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 he 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                              DSTROYED

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

         N̲o̲n̲e̲



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

         None…86…1         …02…   …02…   …02…   …02…                           
         …02…              
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̲

             MDOS ̲CMD ̲QEL ̲ATTR.HEADER.SUBTYPE refer 4.2.1.5
             MDOS ̲CMD ̲QEL ̲ATTR.HEADER.FLAG    refer 4.2.1.5
             QERROR ̲INF                       refer 4.1.4

         b)  E̲x̲t̲e̲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…86…1…02…   …02…    …02…   …02…   …02…   …02…
               …02…     …02…                  …02…                    
         TIMER EVENT PROCESSING


             CASE MDOS ̲QEL ̲ATTR.SUBTYPE OF

                 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̲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)

                                                                  OTHERWISE?
                                                                  M̲D̲O̲S̲
                                                                  ̲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?

                 OTHERWISE?                   M̲D̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
                                              (CONTINUE)(4.1.5.1)

             END CASE

             D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(CMDQ)(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…86…1…02…        …02…   …02…   …02…   …02…         …02…                  …02…  
                          
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     "
                 FIELD DESCRIPTOR ̲TYPE        refer     "
                 QUEUEATTRIBUTES ̲TYPE         refer     "
                 FIELD ̲ATTR ̲TYPE                                 refer
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 "
                 TIME ̲TYPE                                       refer
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 "
                 SEND ̲PARAMS ̲TYPE                                refer
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 "
                 QUEUE ̲REFERENCE ̲TYPE         refer     "

             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:                         VDU ̲SPLIT ̲FAILED   BOOLEN
                 INIT:                        VDU ̲SPLIT FAILED
                                              = FALSE

                 VAR: CLOSE ̲DOWN ̲FLAG         BOOLEAN
                 INIT: CLOSE ̲DOWN ̲FLAG = FALSE

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

                 INIT DISQ ̲FIELD ̲AREA RECORD OF FIELD ̲DESCRIPTOR
                 TYPE

                 CONST LINE                   = 2
                       INCANATION             = 1
                       FIELD                  = 7

                 VAR: MDCO ̲SEND ̲PARAMS        TYPE: QUEUE ̲REFERENCE

                 VAR MDOS ̲ONE                                    TYPE:
                                                                 QUEUE
                                                                 ̲REFERENCE
                 VAR MDOS ̲TWO                                    TYPE:
                                                                 
                                                                 "
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 "
                 VAR MDOS ̲THREE                                  TYPE;
                                                                 
                                                                 "
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 "…86…1…02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                 VAR: MDOS ̲Q ̲LENGTH ̲REF OF RECORD

                                                                 MAINQUEUE: MAINQ
                                                                            ̲TYPE
                                                                 SUBQUEUE: SUBQ
                                                                           ̲TYPE

                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 END;

                 TYPE MAINQ =                 (DISQ, RESPQ,
                                              USERQ)

                 TYPE SUBQ = (SUPERFLASH FLASH, IMMEDIATE, SUPERPRIORITY,
                                                  PRIORITY,
                                              ROUTINE)

                 VAR: MDOS ̲Q ̲LENGTH           0....255

                 VAR: VDU ̲DISPLAY ̲AREA = RECORD

                                                                 CLASS: VDU
                                                                        ̲CLASS
                                                                        ̲TYPE;
                                                                 TIME: VDU
                                                                       ̲TIME
                                                                       ̲TYPE;
                                                                 QUEUE
                                                                 ̲LENGTH: QUEUE
                                                                         ̲FIELD
                                                                         ̲TYPE,

                                              END;

                 TYPE VDU ̲LASS ̲TYPE  = RECORD

                                                                 IOC
                                                                 ̲HEADER:
                                                                 IOC
                                                                 ̲HEADER
                                                                 ̲TYPE;

                                                                 CLASSIFICATION:
                                                                 ARRAY(1...18)
                                                                 OF
                                                                 CHAR;

                                              END;


                 TYPE VDU ̲TIME ̲TYPE = RECORD

                                                                 IOC
                                                                 ̲HEADER: IOC
                                                                         ̲HEADER
                                                                         ̲TYPE;

                                                                 TIME: DTG
                                                                       ̲TYPE;

                                              END;


                 TYPE QUEUE ̲FIELD ̲TYPE = ARRAY (QUEUE
                 ̲FIELDS ̲NAME) OF 
                                                                       QUEUE
                                                                       ̲RECORD
                                                                       ̲TYPE

                 TYPE QUEUE ̲FIELDS ̲NAME = (SUPERFLASH,FLASH.....DISTRIBU-        TION,RESPONS,USER)

                 TPE QUEUE ̲RECORD ̲TYPE = RECORD

                               IOC ̲HEADER: IOC ̲HEADER
                               ̲TYPE;

                               QUEUE ̲DATA: QUEUE ̲DATA
                               ̲TYPE;

                     END;

                 TYPE QUEUE ̲DATE ̲TYPE = ARRAY (1..2)
                 OF CHAR;

                 TYPE IOC ̲HEADER ̲TYPE = RECORD

                               START ̲BYTE: CHAR;

                               BYTE ̲COUNT: CHAR;

                               TPE:               
                                                  
                                                  CHAR;

                     END;

                 INIT IOC ̲HEADER ̲TYPE =…86…1…02…        …02…  
                 …02…   …02…   …02…         …02…                  …02…
                              
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̲

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

             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…86…1…02…        …02…   …02…   …02…   …02…         …02…  
                                …02…                  
                  
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…86…1…02…        …02…   …02…   …02…  
             …02…         …02…                  …02…          
                      
         SET ̲RECEIVE ̲CMD ̲QEL


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

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

             ERROR?  ANALYZE ̲ERROR (CC,0)

             OK?

             END CASE

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


         END





























Fig. 4.2.1.6.1-1…86…1…02…        …02…   …02…   …02…   …02…         …02…                  …02…      
        
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̲ ̲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̲
                 MDOS ̲CCMD ̲Q                      refer
                                                  4.2.1.5
                 DIVCO ̲OP                         refer
                                                  4.1.4
                 MDOS ̲SI                                               refer
                                                                       4.1.4
                 MDOS ̲CCMD ̲ATTR                                        refer
                                                                       4.1.4

             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…86…1…02…        …02…   …02…   …02…   …02…         …02…  
                                …02…                  
                  
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…86…1…02…        …02…   …02… 
                  …02…   …02…         …02…                  …02…  
                                  
         SET RECEIVE ̲CCMD ̲QEL


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

                               (MDOS ̲CCMDQ ̲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…86…1…02…        …02…   …02…   …02…   …02…         …02…                  …02…      
        
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̲

             These procedure updates the queue length
             of the Distribution queue and updates
             the flash or superflas-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̲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..1.5
                 FLASH ̲KIND                       refer
                                                  4.2.1.5
                 VDU ̲DISPLAY ̲AREA                                      refer
                                                                       4.2.1.5
                 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̲

             These procedure update the queue length
             of the Distribution queue and update the
             flash or superflash-precedence queue acording
             to the precedence of the flash notification
             arrived to DIVCO subcoroutine.…86…1…02…      
              …02…   …02…   …02…   …02…         …02…                  …02…
                          
         FLASH ̲Q ̲FIELDS ̲UPDATE


             SET MDOS ̲Q ̲LENGTH ̲REF.MAINQUEUE TO DIST
             ̲QUEUE

             GET FLASH ̲KIND (FLASH OR SUPERFLASH)

             SET MDOS ̲Q ̲LENGTH ̲REF.SUBQUEUE ACCORDING
             TO FLASH ̲KIND

             G̲E̲T̲ ̲Q̲ ̲E̲N̲G̲T̲H̲ (4.2.1.6.5)

             CASE FLASH ̲KIND

                 SUPERFLASH?   MOVE MDOS ̲Q ̲LENGTH TO
                               VDU ̲DISPLAY ̲
                                                                 AREA.SUPERFLASH.Q

                 FLASH? MOVE MDOS ̲Q ̲LENGTH TO VDU ̲DISPLAY
                 ̲AREA.FLASH.Q

                 OTHERWISE?    M̲D̲O̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲
                               (4.1.5.2)

             END CASE

             SET MDOS ̲Q ̲LENGTHREF ̲SUBTYPE TO ZERO

             G̲E̲T̲ ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ (4.2.1.6.5)

             MOVE ̲MDOS ̲Q ̲LENGTH TO VDU ̲DISPLAY ̲AREA.DIST
             ̲QUEUE


         END
















Fig. 4.2.1.6.3-11̲6̲5̲9̲A̲…00…CPS/SDS/037              …00…rt                  …00…CGN                 …00…MDCO VDU fra 4.1.4  …00…0̲4̲…00…0̲2̲…00…8̲2̲…00…1̲3̲…00…4̲4̲…00… ̲ ̲1̲0̲…00…0̲7̲…00… ̲4̲1̲1̲3̲6̲…00…25…00…05…00…82…00…08…00…35…00…    …00…01…00…    24…00…2̲5̲…00…0̲5̲…00…8̲2̲…00…0̲8̲…00…3̲7̲…00…27…00…05…00…82…00…12…00…49…00…0123A…00…102…00…
 ̲ ̲2̲9̲…00…45…00… 1036…00… ̲6̲8̲510…00……19……00……01…P…10……02……00……10……00……01……10……06…'…10……11……02……90…*̲J̲…15……05……00……00……00……00……00……00……00…7
H…01……86……00……00……00……00…:…02……00……00…:
:…07…9…09…9…00…9…02…9…06…8…09…8…0a…8…00…8    8…05…7…09…7…0f…7    6…09…6…0c…6…00…6      5…08…5…0b…5…0e…5…02…5              4…08…4…0c…4…0f…4…01…4          4…05…3…0b…3…00…3…05…2…0a…2…00…2…02…2
2…05…2…06…2…07…1…0b…1…0c…1…0f…1…02……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

             FELD ̲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              efer 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…86…1
                                                       …02…   …02… 
                                                …02…   …02…        
                                                           
                                                  …02…         
                                                      
             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 ̲CAABILITY ̲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…86…1…02…
                                                      …02…   …02…  
                                               …02…   …02…   …02…   …02…   
                                                  …02…     …02…    
                                                           
                                                        
         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
                                               OMD:               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 ̲DICO ̲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,
                                               CLOSE ̲CC,CANCEL
                                               ̲CC, CLEAR ̲CC,
                                               INPUT ̲DATA ̲CC,
                                               OUTPUT ̲DATA ̲CC,
                                               OUTPUT ̲FORMAT
                                               ̲CC, L ̲INSERT
                                               ̲CC,
                                               L ̲DELETE ̲CC,
                                               VALIDATION ̲RESULT,
                                               ERROR, OK,
                                               ONLINE ̲NOTIFICATION,
                                               OFFLINE ̲NOTIFICATION,
                                               RETRIEVAL ̲NOTIFICATION,
                                               RETRIEVAL ̲ERROR,
                                               VDU ̲DATA ̲OUTPT,
                                               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    DIDIA ̲DIFCO ̲CMD ) (CLOSE ̲CC ... OK)

         TYPE    DIRT ̲NOT = (ONLINE ̲NTIFICATION ... 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 ̲MAY ̲OP)
                                                                  OF
                                                                  MDOS
                                                                  ̲COROUTINE
                                                                  ̲OP
                                                                  ̲TYPE

         CONST   DIFCO ̲MAX ̲OP = 3

         YPE 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,
                             CCMDQIDENT, FC ̲KEY ̲IDENT,
                             ANQ ̲IDENT)

             CO ̲OP ̲NO ̲TYPE = SHORT ̲REFERENCE























Figure 4.1.4-1…86…1…02…        …02…   …02…   …02…   …02…   …02…   …02…       …02…     …02…                   
        
         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    CMDOP. 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     CURSORRECORD ̲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

         VA  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                                           :NTEGER

         VAR MDCO ̲ACTIV                                          :BOOLEAN…86…1…02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 

         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
             SUPERPRIORIT ̲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 ̲ENGTH +
                                     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 ̲PT                = 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            = SUPERPRIORIT
                                     ̲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
                                     ̲LENTH

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