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

⟦980bfd444⟧ Wang Wps File

    Length: 76833 (0x12c21)
    Types: Wang Wps File
    Notes: CPS/SDS/029               
    Names: »1811A «

Derivation

└─⟦35f7ff388⟧ Bits:30006086 8" Wang WCS floppy, CR 0132A
    └─ ⟦this⟧ »1811A « 

WangText

…00……00……00……00……00…K…02……00……00…K
J…09…J…0c…J…0f…J I…09…I…0b…I…0d…I…0f…5…02…5…05…4…08…4…0a…4…0b…4…0c…4…0e…4…0f…4…01…4 4…07…3…09…3…0c…3…0e…3…01…2…09…2…0b…2…0e…2…02…2…07…1…0a…1…0d…1…00…1…02…1…06…0…0a…0…0d…0…01…0 /…08…/…0b…/…0f…/…01…/ /…06….…08….…0c….…0f….…02….…06…-…0a…-…86…1                          
                                                                …02…           …02…   …02…   
                                                  

…02…CPS/SDS/029

…02…820514…02……02…
SYSTEM STATUS AND CONTROL
DETAILED DESIGN SPECIFICATION…02……02…CAMPS








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

   PROCEDURE ACTION ̲MODULE ̲2 (T.ACTION: ACTION ̲TYPE)

   BEGIN

   CASE T.ACTION ̲OF

      ID ̲CODE ̲PASSWORD ̲ENTRY?        I̲D̲ ̲C̲O̲D̲E̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ ̲E̲N̲T̲R̲Y̲
 ̲T̲

      THIRD ̲ID ̲CODE ̲PASSWORD ̲ENTRY?  T̲H̲I̲R̲D̲ ̲I̲D̲ ̲C̲O̲D̲E̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲
 ̲E̲N̲T̲R̲Y̲ ̲T̲

      RE ̲SE ̲IN ̲REPLY?     R̲E̲ ̲S̲E̲ ̲I̲N̲ ̲R̲E̲P̲L̲Y̲ ̲T̲

      THIRD ̲RE ̲SE ̲IN ̲REPLY ? T̲H̲I̲R̲D̲ ̲R̲E̲ ̲S̲E̲ ̲I̲N̲ ̲R̲E̲P̲L̲Y̲ ̲T̲

      SEC ̲CODE-̲ENTRY?     S̲E̲C̲ ̲C̲O̲D̲E̲ ̲E̲N̲T̲R̲Y̲ ̲T̲

      THIRD ̲SEC ̲CODE ̲ENTRY?   T̲H̲I̲R̲D̲ ̲S̲E̲C̲ ̲C̲O̲D̲E̲ ̲E̲N̲T̲R̲Y̲ ̲T̲

      PASSWORD ̲ENTRY?     P̲A̲S̲S̲W̲O̲R̲D̲ ̲E̲N̲T̲R̲Y̲ ̲T̲

      THIRD ̲PASSWORD ̲ENTRY?  T̲H̲I̲R̲D̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ ̲E̲N̲T̲R̲Y̲ ̲T̲

      SION ̲TIME ̲OUT?CANCEL ̲SYSTEM ̲CALL (T ̲INIT ̲OP) S̲I̲O̲N̲ ̲T̲I̲M̲E̲
 ̲O̲U̲T̲ ̲T̲

      REL ̲SE ̲INT ̲TIME ̲OUT? CANCEL ̲STSTEM ̲CALL (T ̲INIT ̲OP)I̲N̲V̲A̲L̲I̲D̲
 ̲                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 R̲E̲L̲
                                                                 ̲S̲E̲C̲
                                                                 ̲I̲N̲T̲
                                                                 (SEC
                                                                 ̲WAR
                                                                 ̲BY
                                                                 ̲REL

      REL ̲SEC ̲INT ̲CDM ? R̲E̲L̲ ̲S̲E̲C̲ ̲I̲N̲T̲ ̲C̲M̲D̲ ̲T̲

      S ̲INTERROGATION ̲CMD ?  S̲ ̲I̲N̲T̲E̲R̲R̲O̲G̲A̲T̲I̲O̲N̲ ̲C̲M̲D̲ ̲T̲

      S ̲WARNING ̲CMD ?  S̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲C̲M̲D̲ ̲T̲

      S ̲BOTH ̲CMD ?   S̲ ̲B̲O̲T̲H̲ ̲C̲M̲D̲ ̲T̲

      S ̲INTERROGATION ̲TIME ̲OUT ? CANCEL ̲SYSTEM ̲CALL (T ̲INIT
 ̲               OP)INVALID ̲SEC ̲INTERROGATION ̲OR ̲WARNING (I1,E
         ̲SEC ̲INT ̲NOT ̲                                                
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     OK,SEC
                                                                     ̲INIT
                                                                     ̲TIM)

      S ̲WARNING ̲TIME ̲OUT ? CANCEL ̲SYSTEM ̲CALL ̲(T ̲INIT ̲OP)
                         I̲N̲V̲A̲L̲I̲D̲ ̲S̲E̲C̲ ̲I̲N̲T̲E̲R̲R̲O̲G̲A̲T̲I̲O̲N̲ ̲O̲R̲ ̲W̲A̲R̲N̲I̲N̲G̲
                         (I2,E ̲SEC ̲WARNING ̲NOT ̲OK,SEC ̲WAR ̲TIM)



      USER ̲FCT? - T.SUPRESSION = FALSE, R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲

      KEY ̲ON ̲U  ?   K̲E̲Y̲ ̲O̲N̲ ̲U̲ ̲T̲

      KEY ̲OFF ̲BLOCKED ?   K̲E̲Y̲ ̲O̲F̲F̲ ̲B̲L̲O̲C̲K̲E̲D̲ ̲T̲

      KEY ̲OFF ̲SYS ̲CON ?   K̲E̲Y̲ ̲O̲F̲F̲ ̲S̲Y̲S̲ ̲C̲O̲N̲ ̲T̲

      KEY ̲OFF ?  K̲E̲Y̲ ̲O̲F̲F̲ ̲T̲

      SYSTEM ̲KEY ? T.SUPRESSION = TRUE, R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲

      SYSTEM ̲KEY ̲ATT ̲OP ?   S̲Y̲S̲T̲E̲M̲ ̲K̲E̲Y̲ ̲A̲T̲T̲ ̲O̲P̲ ̲T̲

      NO ̲ACTION ?

      ILLEGAL ̲ACTION ?    I̲L̲L̲E̲G̲A̲L̲ ̲A̲C̲T̲I̲O̲N̲ ̲T̲

      ASSG ̲FALSE ?   A̲S̲S̲G̲ ̲F̲A̲L̲S̲E̲ ̲T̲

      ASSG ̲STOP ?   A̲S̲S̲G̲ ̲S̲T̲O̲P̲ ̲T̲

      ASSG ̲REPLY ?   A̲S̲S̲G̲ ̲R̲E̲P̲L̲Y̲ ̲T̲

      INVALID ̲KEY ? R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲.̲T̲

      INVALID ̲ENTRY ? D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲C̲E̲ (INVALID ̲ENTRY)

      OTHER?      I̲L̲L̲E̲G̲A̲L̲ ̲A̲C̲T̲I̲O̲N̲ ̲T̲

END CASE

END PROCEDURE…86…1  …02…          …02…   …02…   …02…       …02…                    
               
         BLOCK ̲STOP ̲REPLY ̲T?                                     T.REPLY
                                                                 =
                                                                 TERMINAL
                                                                 ̲BLOCKED

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲T̲
                                                                 (T.REPLY)

         BLOCK ̲STOP ̲REPLY ̲M?                                     T.REPLY
                                                                 =
                                                                 TERMINAL
                                                                 ̲BLOCKED

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲M̲
                                                                 (T.REPLY)

         F ̲CLOSE ̲REPLY ̲T?                                         T.REPLY
                                                                  =
                                                                  SYSTEM
                                                                  ̲CLOSE

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲T̲
                                                                 (T.REPLY)

         F ̲CLOSE ̲REPLY ̲M?                                         T.REPLY
                                                                  =
                                                                  SYSTEM
                                                                  ̲CLOSE

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲M̲
                                                                 (T.REPLY)

         LINE ̲ERROR ̲REPLY ̲T?                                     T.REPLY
                                                                 =
                                                                 LINE
                                                                 ̲ERRO

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲T̲
                                                                 (T.REPLY)

         LINE ̲ERROR ̲REPLY ̲M?                                     T.REPLY
                                                                 =
                                                                 LINE
                                                                 ̲ERRO

                                                                 S̲T̲O̲P̲
                                                                 ̲R̲E̲P̲L̲Y̲
                                                                 ̲M̲
                                                                 (T.REPLY)

         OUTPUT ̲TEXT?                                              D̲I̲S̲P̲L̲A̲Y̲
                                                                   ̲R̲E̲S̲P̲O̲N̲C̲E̲
                                                                   (CONTACT
                                                                   ̲SUPV)

         CLEAR ̲SYS ̲LINE?                                          D̲I̲S̲P̲L̲A̲Y̲
                                                                  ̲R̲E̲S̲P̲O̲N̲C̲E̲
                                                                  (CLEAR
                                                                  ̲TEXT)




   PROCEDURE   ID ̲CODE ̲PASSWORD ̲ENTRY ̲T

         BEGIN

      C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

      T.REPLY = TRUE

      R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (2, ID ̲CODE ̲SIZE, PASSWORD ̲SIZE)
                             (T.ID ̲CODE, T.USER ̲PASSWORD)

      T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

      C̲H̲E̲C̲K̲ ̲I̲D̲ ̲C̲O̲D̲E̲  (T.ID ̲CODE)  (T.REPLY)

      T.REPLY EQ FALSE ?  D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲(INVALID
 ̲ENTRY)

      C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲(T.USER ̲PASSWORD)(T.USER ̲PROFILE,
 T.REPLY)

      T.REPLY EQ FALSE? D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ (INVALID ̲ENTRY)

      F̲I̲N̲D̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲ () (T.CAPABILITIES, T.CAP)

      T.CAPABILITIES EQ NONE ?  NO ̲CAPABILITIES

      S̲E̲N̲D̲ ̲L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲ (K1,E ̲SIGN ̲ON)T.STATE=UNATTENDED
 ̲OPERATION

      T.CAPABILITIES EQ MORE? DISPLAY ̲TERMINAL ̲FORMAT(HIGH
 ̲LEVEL)

                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     T.SUPRESSION
                                                                     =
                                                                     FALSE

                                      R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲
 ̲T̲

                                        T.STATE  =
                 SION ̲YES

      SET ̲DAMOS ̲LINE ̲PROFILE (CMD ̲FORMAT)

      S̲T̲A̲R̲T̲ ̲U̲S̲E̲R̲ ̲(̲T̲.̲C̲A̲P̲)̲ ̲(̲T̲.̲R̲E̲P̲L̲Y̲)̲

      T.STATE =ATTENDED ̲OPERATION

   END



   PROCEDURE THIRD ̲ID ̲CODE ̲PASSWORD ̲ENTRY ̲T

   BEGIN

      T.REPLY = TRUE

      CANCEL ̲TIME ̲OUT ̲T

      READ ̲SYSTEM ̲LINE  (2, ID ̲CODE ̲SIZE, PASSWORD ̲SIZE, TRUE)
                      (T.ID ̲CODE, T.USER ̲PASSWORD)

      T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

      C̲H̲E̲C̲K̲ ̲I̲D̲ ̲C̲O̲D̲E̲ () (T.REPLY)

      T.REPLY EQ FALSE? INVALID ̲SION

      C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ () (T.REPLY)

      T.REPLY EQ FALSE ?  INVALID ̲SION

      FIND ̲CAPABILITIES () (T.CAPABILITIES, T.CAP)

      T.SIGN = ON

      S̲E̲T̲ ̲U̲S̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲S̲I̲G̲N̲ ̲T̲O̲(T.SIGN, T.IDL̲CODE)

      T.CAPABILITIES EQ NONE ?  N̲O̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲

      S̲E̲N̲D̲ ̲L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲ (K1 ̲E ̲SIGN ̲ON) T.STATE=UNATTENDED ̲OPERATION

      T.CAPABILITIES EQ MORE ?  DISPLAY ̲TERMINAL ̲FORMAT(HIGH
 ̲LEVEL)

                                      T.SUPRESSION = FALSE

                                    RECEIVE ̲CONTROL ̲T
                                  T.STATE=SION ̲YES

      START ̲USER (T.CAP)

      T.STATE = ATTENDED ̲OPERATION

   END


   PROCEDURE  RE ̲SE ̲IN ̲REPLY ̲T

   BEGIN

      C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

      R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1, PASSWORD ̲SIZE, NIL, TRUE)
                     (T.USER ̲PASSWORD)

      C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ (T.USER ̲PASSWORD)) (T.REPLY)

      T.REPLY NE EXECUTION ̲OK ?  D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ (INVALID ̲ENTRY)

      S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲T̲E̲P (T.REPLY)

      T.STATE=ATTENDED ̲OPERATION


   END


   PROCEDURE  THIRD ̲RE ̲SE ̲IN ̲REPLY ̲T

   BEGIN

      C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

      R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1, PASSWORD ̲SIZE, NIL, TRUE)
                     (T.USER ̲PASSWORD)

      C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ (T.USER ̲PASSWORD) (T.REPLY)

      T.REPLY NE EXECUTION ̲OK?  I̲N̲V̲A̲L̲I̲D̲ ̲R̲E̲L̲ ̲S̲E̲C̲ ̲I̲N̲T̲ (SEC ̲WAR
 ̲BY ̲REL)

      S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲T̲E̲P̲ (T.REPLY)

      T.STATE = ATTENDED ̲OPERATION


   END



   PROCEDURE   SEC ̲CODE ̲ENTRY ̲T

   BEGIN

      C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

      R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1,W ̲CODE ̲SIZE,NIL,TRUE)
                     (T.SEC ̲CODE)

      C̲H̲E̲C̲K̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲C̲O̲D̲E̲ (T.SEC ̲CODE) (T.REPLY)

      T.REPLY? NE EXECUTION ̲OK? D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲C̲E̲) INVALID ̲ENTRY)

      S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲ (T.REPLY)

      S̲E̲N̲D̲ ̲L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲ (I2,E ̲SEC ̲WARNING ̲OK)

      T.STATE = ATTENDED ̲OPERATION


   END



   PROCEDURE THIRD ̲SEC ̲CODE ̲ENTRY ̲T

   BEGIN

      C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

      R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1, W ̲CODE ̲SIZE,NIL,TRUE)
                     (T.SEC ̲CODE)

      C̲H̲E̲C̲K̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲C̲O̲D̲E̲ ̲(T.SEC ̲CODE) (T.REPLY)

      T.REPLY?NE EXECUTION ̲OK? I̲N̲V̲A̲L̲I̲D̲ ̲S̲E̲C̲ INTERROGATION ̲OR
 ̲WARNING
                                        (I2,E ̲SEC ̲WARNING ̲NOT
                     ̲OK)
                                        SEC ̲WAR ̲SEC ̲COD)

      S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲ (T.REPLY)

      S̲E̲N̲D̲ ̲L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲ (I2,E ̲SEC ̲WARNING ̲OK)

      T.STATE = ATTENDED ̲OPERATION


   END



         PROCEDURE  PASSWORD ̲ENTRY ̲T

         BEGIN

             C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

             R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1, PASSWORD ̲SIZE,NIL,TRUE)
                              (T.USER ̲PASSWORD)

             C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ (T.USER ̲PASSWORD) (T.REPLY)

             T.REPLY NE EXECUTION ̲OK? D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲C̲E̲)(INVALID
             ̲                                                      
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   ENTRY)

             SEND ̲LOG ̲REPORT (I1,E ̲SEC ̲INT ̲OK)

             T.BOTH EQ TRUE T.STATE=SEC ̲WAR ̲REPLY ̲1

                                    S ̲WARNING ̲CMD ̲T

             SEND ̲REPLY ̲TO ̲MMON (T.REPLY)

             T.STATE = ATTENDED ̲OPERATION


         END



         PROCEDURE  THIRD ̲PASSWORD ̲ENTRY ̲T

         BEGIN

             C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

             R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲ (1,PASSWORD ̲SIZE,NIL,TRUE)
                                       (T.USER ̲PASSWORD)

             C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ (T.USER ̲PASSWORD) (T.REPLY)

             T.REPLY? NE ̲EXECUTION ̲OK?   INVALID ̲SEC ̲INTERROGATION
             OR ̲WARNING

                                  (I1,E ̲SEC ̲INT ̲NOT ̲OK,
                                  SEC ̲INT ̲PAS)

             SEND ̲LOG ̲REPORT (I1,E ̲SEC ̲INT ̲OK)


             T.BOTH EQ TRUE ?     T.STATE = SEC ̲WAR ̲REPLY ̲1
                                  S̲.̲W̲A̲R̲N̲I̲N̲G̲ ̲C̲M̲D̲ ̲T̲

             S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲ (T.REPLY)

             T. STATE = ATTENDED ̲OPERATION

         END



         PROCEDURE  SION ̲TIME ̲OUT ̲T

         BEGIN

             T.TERMINAL ̲PROFILE.CAP EQ SUPV ?



             B̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲



                                     D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲
                     (K2)

             T.STATE = BLOCKED       T.STATE=UNATTENDED ̲OPERATION

             S̲E̲N̲D̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲R̲E̲P̲O̲R̲T̲ ̲(̲S̲I̲O̲N̲)̲


         END



         PROCEDURE  REL ̲SEC ̲INT ̲CMD ̲T

         BEGIN

             SEND ̲STATISTICS (REL ̲SECURITY)

             D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ (ENTER ̲YOUR ̲PASSWORD)

             R̲E̲Q̲U̲E̲S̲T̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲



         END



         PROCEDURE  S ̲INTERROGATION ̲CMD ̲T

         BEGIN

             S̲E̲N̲D̲ ̲S̲T̲A̲T̲I̲S̲T̲I̲C̲S̲ (S ̲INTERROGATION)

             D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ (ENTER ̲YOUR ̲PASSWORD)

             R̲E̲Q̲U̲E̲S̲T̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲


         END

         …86…1         …02…   …02…   …02…   …02…                               
                    
         PROCEDURE  S ̲WARNING ̲CMD ̲T

         BEGIN

             D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲ (WARNING ̲FORMAT)

             S̲E̲N̲D̲ ̲S̲T̲A̲T̲I̲S̲T̲I̲C̲S̲ (S ̲WARNING)

             D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ (ENTER ̲YOUR ̲SECURITY ̲CODE)

             T.BOTH = FALSE

             REQUEST ̲TIME ̲OUT ̲T


         END



         PROCEDURE  S ̲BOTH ̲CMD ̲T

         BEGIN

             T.BOTH = TRUE

             S ̲INTERROGATION ̲CMD ̲T


         END



         PROCEDURE  KEY ̲ON ̲T

             T.KEY ̲BUF.KEY = T.TNO

             T.TERMINAL ̲PROFILE ̲KEY ̲STATUS = ON

             UPDATE ̲ENTRY (TERMINAL ̲TABLE,T.SEND ̲BUF,

                           T.KEY ̲BUF,TEM ̲TERM ̲MASK,

                           T.TERMINAL ̲PROFILE.CURRENT ̲CAP)

             D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲ (K1)

             END KEY ̲ON ̲T…86…1         …02…   …02…   …02…   …02…               
                                        
         PROCEDURE  KEY ̲OFF ̲BLOCKED ̲T

         T.TERMINAL ̲PROFILE.CURRENT ̲CAP = 0

         T.TERMINAL ̲PROFILE.KEY ̲STATUS = OFF

         T.TERMINAL ̲PROFILE.SIGN = OFF

         T.KEY ̲BUF.KEY = T.TNO

         UPDATE ̲ENTRY (TERMINAL ̲TABLE,T.SEND ̲BUF,T.KEY ̲BUF,

                      TEM ̲TERM ̲MASK,T.TERMINAL ̲PROFILE.CURRENT
                     ̲                                                
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     CAP)

         END KEY ̲OFF ̲BLOCKED ̲T

         PROCEDURE KEY ̲OFF ̲SYS ̲CON.T

         T.STATE = BLOCKED

         T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

                                T.STATE = UNMANNED

         T.TERMINAL ̲PROFILE.BLOCKED = TRUE

         C̲U̲T̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲

         K̲E̲Y̲ ̲O̲F̲F̲ ̲B̲L̲O̲C̲K̲E̲D̲ ̲T̲

         T.USER ̲PROFILE.USER ̲ID = NUL

         SEND ̲SECURITY ̲REPORT (SEC.KEY.NOT ̲SIGN.OFF)

         END KEY ̲OFF ̲SYS ̲CON ̲T…86…1         …02…   …02…   …02…   …02…          
                                         
         PROCEDURE KEY ̲OFF ̲T

         T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

                                STOP ̲ACTIVE ̲SUPV ̲TERMINAL

                                T.STATE = UNMANNED

         BLOCK ̲ACTIVE ̲TERMINAL

         T.STATE = BLOCKED

         S̲E̲N̲D̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲R̲E̲P̲O̲R̲T̲ (SEC ̲KEY ̲NOT ̲SIGN ̲OFF)

         END KEY ̲OFF ̲T


         PROCEDURE SYSTEM ̲KEY ̲ATT ̲OP ̲T

         S̲T̲O̲P̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ (STOP ̲USER)

         G̲E̲T̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲C̲A̲P̲

         D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲ (HIGH ̲LEVEL)

         T.SUPPRESSION = FALSE

         R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲

         END SYSTEM ̲KEY ̲ATT ̲OP ̲T


         PROCEDURE  ASSG ̲FALSE ̲T

         BEGIN

             T.KEY ̲BUF.KEY = T.TNO

             T.TERMINAL ̲PROFILE.ASSG = FALSE

             UPDATE ̲ENTRY (TERMINAL ̲TABLE, T.SEND ̲BUF, T.KEY
             ̲BUF,
                           T.ASSG ̲MASK,T.TERMINAL ̲PROFILE.ASSG)

             T.I = 1

             T.TNO NE 1?

             T.I = 2

             WAIT ̲OPSEM (SHORT ̲OS)  (T ̲OP)

             T ̲OP.CMD = ASSG ̲REMOVED

             T ̲OP.CMD ̲TYPE = TEMCO ̲CMD

             SIGNAL ̲OPSEM (VDU ̲OS(T.I), T ̲OP)


         END


         PROCEDURE  ASSG ̲STOP ̲T

         BEGIN

             T.CAP LOGAND SUPV EQ NULL ?    ASSG ̲FALSE ̲T

             STOP ̲TERMINAL ̲SUBPROCESS

             T.TERMINAL ̲PROFILE.ASSG = TRUE

             T.KEY ̲BUF.KEY = T.TNO

             UPDATE ̲ENTRY (TERMINAL ̲TABLE, T.SEND ̲BUF, T.KEY
             ̲BUF,
                           T.ASSG ̲MASK,T.TERMINAL ̲PROFILE.ASSG)

             T.I = 1

             T.TNO NE 1?

             T.I=2

             WAIT ̲OPSEM (SHORT ̲OS) (T ̲OP)

             T ̲OP.CMD =ASSG ̲REMOVED

             T ̲OP.CMD ̲TYPE = TEMCO ̲CMD

             SIGNAL ̲OPSEM (VDU ̲OS(T.I), T ̲OP)

             GET ̲TERMINAL ̲CAP

             DISPLAY ̲TERMINAL ̲FORMAT (HIGH ̲LEVEL)

             RECEIVE ̲CONTROL ̲T

         END


         PROCEDURE ASSG ̲REPLY ̲T

         BEGIN

             T.KEY ̲BUF.KEY = T.TNO

             T.TERMINAL ̲PROFILE.ASSG = TRUE

             U̲P̲D̲A̲T̲E̲ ̲E̲N̲T̲R̲Y̲ (TERMINAL ̲TABLE,T.SEND ̲BUF, T.KEY
             ̲BUF,

                          T ̲ASSG ̲MASK,T.TERMNAL ̲PROFILE.ASSG)

             G̲E̲T̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲C̲A̲P̲

             D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲ (HIGH ̲LEVEL)

             R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲

         END…86…1  …02…  …02…  …02…  …02…  …02…  …02…   …02…               …02…                
                   
         PROCEDURE STOP ̲REPLY ̲M (T.REPLY)

         T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

         S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲ (T.REPLY)

         C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

         CASE T.INPUT OF

             LINE ̲ERROR? S̲T̲O̲P̲ ̲S̲I̲O̲N̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲T̲

             BLOCK ̲TERMINAL? B̲L̲O̲C̲K̲ ̲T̲E̲R̲M̲ ̲T̲

             CLOSE ̲FINAL? F ̲CLOSE ̲DOWN ̲T

         END CASE

         END

         PROCEDURE                                               STOP
                                                                 ̲REPLY
                                                                 ̲T
                                                                 )T.REPLY)

         T.TERMINAL ̲PROFILE.CAP LOGAND SUPV NE NUL?

         S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲T.REPLY)

         C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲

         CASE ̲T.INPUT OF

             LINE ̲ERROR? S̲T̲O̲P̲ ̲S̲I̲O̲N̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲T̲

             BLOCK ̲TERMINAL? B̲L̲O̲C̲K̲ ̲T̲E̲R̲M̲ ̲T̲

             CLOSE ̲FINAL? F̲ ̲C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲T̲

         END CASE

         END STOP ̲REPLY ̲T


4.2.5.5  C̲O̲M̲M̲O̲N̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲A̲T̲A̲

         STATE ̲TYPE = (INITIAL,BLOCKED,
                     UNATTENDED ̲OPERATION,
                     SION ̲REPLY ̲1, SION ̲REPLY ̲2, SION ̲REPLY
                     ̲3,
                     SION ̲OK, ATTENDED ̲OPERATION, WAIT ̲ASSG
                     ̲REPLY,
                     REL ̲SEC ̲REPLY ̲1, REL ̲SEC ̲REPLY ̲2, REL ̲SEC
                     ̲REPLY ̲3,
                     SEC ̲INT ̲REPLY ̲1, SEC ̲INT ̲REPLY ̲2, SEC ̲INT
                     ̲REPLY ̲3,
                     SEC ̲WAR ̲REPLY ̲1, SEC ̲WAR ̲REPLY ̲2 ,SEC ̲WAR
                     ̲REPLY ̲3,)

         INPUT ̲TYPE =(T ̲SET ̲ACCESS ̲PROFILES, T ̲START ̲COR, 
                     T ̲CLOSE ̲INITIAL, T ̲CLOSE ̲FINAL, T ̲LINE
                     ̲ERROR, T ̲START ̲SUPV, T ̲STOP ̲SUPV,
                     T ̲TERMINAL ̲PROFILE ̲CHANGE, T ̲BLOCK ̲TERMINAL,
                     T ̲UNBLOCK ̲TERMINAL,
                     SYSTEM ̲KEY, T ̲KEY ̲ON, T ̲KEY ̲OFF ̲
                     SIOF, T ̲SION, T ̲ASSG, T ̲SUPV, T ̲MDCO, T
                     ̲MSOS, T ̲USER, T ̲INPUT ̲SYSTEM ̲LINE, T ̲INVALID
                     ̲INDATA, T ̲INVALID ̲KEY, T ̲INVALID ̲ENTRY
                     T ̲TIME ̲OUT,
                     T ̲REL ̲SEC ̲INT,
                     T ̲S-INTERROGATION, T ̲S ̲WARNING, T ̲S ̲BOTH
                     T ̲REMOVE ̲ASSG ̲CMD ̲RECEIVED,
                     T ̲REMOVE ̲ASSG ̲REPLY ̲RECEIVED)

         ACTION ̲TYPE  (SET ̲PROFILES, TEMCO ̲INIT, I ̲CLOSE ̲DOWN,
         F ̲                                                       CLOSE
                                                                  ̲DOWN
                                                                  ̲OFF,
                                                                  F
                                                                  ̲CLOSE
                                                                  ̲DOWN
                                                                  ̲ON,
                                                                  F
                                                                  ̲CLOSE
                                                                  ̲DOWN,
                                                                  STOP
                                                                  ̲TERMINAL,
                                                                  STOP
                                                                  ̲SION
                                                                  ̲TERMINAL,
                     TERMINAL ̲PROFILE ̲CHANGED, BLOCK ̲TERM, BLOCK
                     ̲STOP ̲TERM, UNBLOCK ̲B, UNBLOCK ̲U ̲B, SIOF
                     ̲K2, SIOF, SION ̲ENTRY, SEND ̲REMOVE ̲ASSG,
                     START ̲SUPV ̲CMD, START ̲MDCO ̲CMD, START ̲MSOS
                     ̲CMD, START ̲USER ̲CMD, ID ̲CODE ̲PASSWORD ̲ENTRY,
                     THIRD ̲ID ̲CODE ̲PASSWORD ̲ENTRY,
                     RE ̲SE ̲IN ̲REPLY, THIRD ̲RE ̲SE ̲IN ̲REPLY
                     SEC ̲CODE ̲ENTRY, THIRD ̲SEC ̲CODE ̲ENTRY,
                     PASSWORD ̲ENTRY, THIRD ̲PASSWORD ̲ENTRY,
                     SION ̲TIME ̲OUT, REL ̲SE ̲INT ̲TIME ̲OUT, REL
                     ̲SEC ̲INT ̲CMD,
                     S ̲INTERROGATION ̲CMD, S ̲WARNING ̲CMD, S ̲BOTH
                     ̲CMD,
                     KEY ̲ON ̲B ̲U, KEY ̲ON ̲U, KEY ̲OFF ̲BLOCKED,
                     KEY ̲OFF ̲SYS ̲CONN,
                     KEY ̲OFF, SYSTEM ̲KEY, SYSTEM ̲KEY ̲ATT ̲OP,
                     ILLEGAL ̲ACTION, NO ̲ACTION,
                     RECEIVE ̲CONTROL, INVALID ̲ENTRY,
                     ASSG ̲FALSE ̲T, ASSG ̲STOP ̲T, ASSG ̲REPLY ̲T)


         COMMON


         TYPE

             ACTION ̲STATE =

                 RECORD

                     ACTION    : ACTIONS

                     NEW ̲STATE : STATES

                 END

         VAR T.ACTION ̲TABLE = ARRAY(STATE ̲TYPE) *(INPUT ̲TYPE)
             OF
                                                       ACTION
 ̲STATE


         VAR T.ACTION ̲TABLE , T.STATE ̲TABLE
             T.STATE : STATE ̲TYPE
             T.INPUT : INPUT ̲TYPE
             T.ACTION : ACTION ̲TYPE
             T.CMD : INTEGER
             T.SUPV ̲QEL ̲REF : QEL ̲REFERENCE
             T ̲OP : SHORT ̲OP ̲TYPE
             T.TIME ̲TO ̲CLOSE : TIME ̲FORMAT
             T.TEP ̲QEL ̲REF : QEL ̲REFERENCE
             T.MMON ̲REF : INTEGER
             T.ATTRIBUTES : QEL ̲ATTRIBUTES
             T.CC : INTEGER
             T.CLOSE ̲DOWN : BOOLEAN
             T.RECEIVE ̲KEYS ̲ON : BOOLEAN
             T.ACCESS ̲PROFILE : ACCESS ̲PROFILE
             T.TERMINAL ̲PROFILE : TERMINAL ̲PROFILE
             T.REPLY ̲Q : QUEUE ̲REFERENCE
             T.REPORT ̲Q : QUEUE ̲REFERENCE
             T.KEY ̲BUF : KEY ̲BUF ̲TYPE
             T.SEND ̲BUF : TMS ̲PARAMS
             T.SYSTEM ̲CONTR ̲FDCB : FDCB ̲INDEX
             T.SYSTEM ̲DATA ̲FDCB : FDCB ̲INDEX
             T.FORMAT ̲CONTR ̲FDCB:FDCB ̲INDEX


4.2.5.6  C̲O̲M̲M̲O̲N̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲S̲



4.2.5.6.1    R̲E̲C̲E̲I̲V̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲T̲



4.2.5.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure requests a receive-control-key from IOS.
         The reply from IOS is sent to the operation semaphore
         VDU ̲OS. If the booclear T.SUPRESSION is TRUE the characters
         entered are not displayed.



4.2.5.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  RECEIVE ̲CONTROL ̲T     (T.SUPPRESSION: BOOLEAN)
         b)  RECEIVE ̲CONTROL ̲T (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̲

         R5  Suppression
         R 6  link

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

         None



4.2.5.6.1.3 D̲A̲T̲A̲

         VAR T.RECEIVE ̲KEY ̲ON : BOOLEAN (TEMCO ̲COMMON)
         VAR T ̲OP : SHORT ̲OS ̲TYPE (SSC ̲COMMON)
         VAR T.SUPPRESSION: BOOLEAN
         VAR T.CLEAR ̲TEXT = ARRAY (1..4) OF CHAR…86…1    …02…    …02…  
         …02…   …02…   …02…                                           
4.2.5.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲


         PROCEDURE  RECEIVE ̲CONTROL ̲T (T.SUPPRESSION:BOOLEAN)

         BEGIN

             BYTE ̲SIZE = T.CLEAR ̲TEXT (2)

             T.BLE.BYTE ̲SIZE.BYTE ̲SIZE

             T.BLE.ADDRESS = T ̲CLEAR ̲TEXT

             CASE FIELDS ̲OUT(T.SYSTEM ̲SPLIT, T ̲SYSTEM ̲FIELDS(1)
                            T.BLE, 1, BYTE ̲SIZE)(CC): ERROR
                     ̲OK

                 ERROR?  ANALYSE ̲ERROR (CC,1) VDU ̲SPLIT ̲FAILED)

             END CASE

             T.SUPRESSION EQ FALSE? T ̲ATTR = VDU ̲NON ̲ATTR

             T ̲ATTR = VDU ̲NON ̲DISPLAY

         CASE CHANGE ̲FIELD ̲ATTR (T.SYSTEM ̲SPLIT,T.SYSTEM ̲FIELD
         (1)
                                 T ̲ATTR)(CC): ERROR ̲OK

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

         END CASE

         T.RECEIVE ̲KEY ̲ON EQ TRUE ?

         WAIT ̲OPSEM (SHORT ̲OS) (T ̲OP)

         T.INIT ̲OP = T ̲OP

         CASE INIT ̲RECEIVE ̲CONTROL(T.SYSTEM ̲SPLIT,T ̲                     
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         OP)(T.KEY,T.CC)
                                            :ERROR ̲OK

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

                                (RECEIVE ̲CONTROL ̲P,CC)

         END CASE

         ASSOCIATE (VDU ̲OS(T.TNO),  T ̲OP)

         T.RECEIVE ̲KEY ̲ON = TRUE


         END



4.2.5.6.2    R̲E̲Q̲U̲E̲S̲T̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲



4.2.5.6.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure requests a 3 minutes time out from the
         timer monitor. The reply from TMON is sent to an operation
         semaphore VDU ̲OS in an operation.



4.2.5.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  REQUEST ̲TIME ̲OUT ̲T
         b)  REQUEST ̲TIME ̲OUT ̲T (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

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

         None



4.2.5.6.2.3 D̲A̲T̲A̲

         VAR T.REQUEST ̲TIME : REQUEST ̲TIME (TEMCO COMMON)
         VAR T.TNO : LOGICAL ̲TERMINAL ̲NUMBER ̲TYPE (SSC COMMON)
         VAR T.EVENT ̲ID : INTEGER (TEMCO ̲COMMON)
         VAR T ̲OP : SHORT ̲OS ̲TYPE (SSC COMMON)



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


         PROCEDURE  REQUEST ̲TIME ̲OUT ̲T

         BEGIN

             T.EVENT ̲ID EQ 10 ?    T.EVENT ̲ID = 0

             T.EVENT ̲ID = T.EVENT ̲ID + 1

             T.REQUEST ̲TIME.QUEUE.MAIN ̲QUEUE = VDU ̲RQ

             T.REQUEST ̲TIME.QUEUE.SUB ̲QUEUE = T.TNO

             T.REQUEST ̲TIME:TIME ̲OUT = ONCE

             T.REQUEST ̲TIME.FORMAT = MINUTES

             T.REQUEST ̲TIME.MINUTES = 3

             T.REQUEST ̲TIME.EVENT ̲ID = T.EVENT ̲ID

             WAIT ̲OPSEM (SHORT ̲OS) (T ̲OP)

             T ̲OP.CMD ̲TYPE = TMON ̲CMD

             INIT ̲REQUEST ̲TIMEOUT (T.REQUEST ̲TIME, T ̲OP) (CC)
                                                       :ERROR
                     ̲OK

             ASSOCIATE (VDU ̲OS(T.TNO), T ̲OP)


         END


4.2.5.6.3    C̲A̲N̲C̲E̲L̲ ̲T̲I̲M̲E̲ ̲O̲U̲T̲ ̲T̲



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

         A previous requested timeout is cancelled.



4.2.3.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CANCEL ̲TIME ̲OUT ̲T
         b)  CANCEL ̲TIME ̲OUT ̲T (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   LINK

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

         None



4.2.5.6.3.3 D̲A̲T̲A̲

         VAR T.REQUEST ̲TIME : REQUEST ̲TIME (TEMCO ̲COMMON)
         VAR T.TNO : LOGICAL ̲TERMINAL ̲NUMBER ̲TYPE (SSC ̲COMMON)
         VAR T ̲OP : SHORT ̲OS ̲TYPE (SSC COMMON)
         VAR T.CC : INTEGER


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



         PROCEDURE  CANCEL ̲TIME ̲OUT ̲T

         BEGIN

             WAIT ̲OPSEM (SHORT ̲OS) (T ̲OP)

             T ̲OP.CMD ̲TYPE = TMON ̲CMD

             INIT ̲CANCEL ̲TIMEOUT (T.REQUEST ̲TIME, T ̲OP) (CC)
                                                        :ERROR
                     ̲OK

             ASSOCIATE (VDU ̲OS (T.TNO), T ̲OP)


         END


4.2.5.6.4    G̲E̲T̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲C̲A̲P̲



4.2.5.6.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The terminal and the user capabilities are logical
         anded. The result (bitmask) gives the USER, MDCO, MSOS
         capabilities. If the terminal can be assigned as supervisor
         terminal and the SUPV bit is set the capability ASSG
         is given. If the terminal is assigned as supervisor
         terminal and the SUPV bit is set the capability SUPV
         is given.



4.2.5.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  GET ̲TERMINAL ̲CAP
         b)  GET ̲TERMINAL ̲CAP (R6)

         C̲a̲l̲l̲ ̲r̲e̲g̲i̲s̲t̲e̲r̲

         R 6  LINK

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

         None



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

         a1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

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

             TERMINAL ̲COROUTINE ̲RECORD

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

             T.T ̲SUPV
             T.T ̲ASSG
             T.T ̲MDCO


             T.T ̲MSOS
             T.T ̲USER
             T.TERMINAL ̲PROFILE. CAP
             T.TERMINAL ̲PROFILE.ASSG
             T.USER ̲PROFILE.CAP

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



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


         PROCEDURE  GET ̲TERMINAL ̲CAP

         T.ACTUAL ̲CAP = T.TERMINAL ̲PROFILE.CAP LOGAND
                        T.USER ̲PROFILE.CAP

         T.RESTART ̲MODE EQ TRUE? T.ACTUAL ̲CAP = T.ACTUAL ̲CAP
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  LOGAND
                                                                  SUPV

         T.ACTUAL ̲CAP LOGAND USER EQ 0 ? T ̲T.USER = "N"

         T.T ̲USER = "Y"

         T.ACTUAL ̲CAP LOGAND MDCO EQ 0 ? T ̲T.MDCO = "N"

         T.T ̲MDCO = "Y"

         T.ACTUAL ̲CAP LOGAND MSO EQ 0 ? T.T ̲MSOS = "N"

         T.T ̲MSOS = "Y"

         T.ACTUAL ̲CAP LOGAND SUPV EQ 0 ? T.T ̲SUPV="N",
                                        T.T ̲ASSG = "N"

         T.TERMINAL ̲PROFILE.ASSG EQ TRUE ? T.T ̲SUPV = "Y",
                                            T.T ̲ASSG = "N"

         T.T ̲SUPV = "N", T.T ̲ASSG = "Y"


         END


4.2.5.6.5    D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲



4.2.5.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure displays the specified format and fills
         out the fields with the actual data, i.e.:

         -   time of day
         -   transaction id
         -   warning text
         -   high level capability.


4.2.5.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  DISPLAY ̲TERMINAL ̲FORMAT (T ̲FORMAT ̲ID:T ̲FORMATS)
         b)  DISPLAY ̲TERMINAL ̲FORMAT (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̲

         R 4  T ̲FORMAT ̲ID
         R 6  LINK

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



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

         a1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             IOC ̲RECORD
             TRANSACTION ̲ID ̲TYPE
             DTG ̲TYPE

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

             TERMINAL ̲COROUTINE ̲RECORD
             T ̲K1 ̲FIELDS


             T ̲K2 ̲FIELDS
             T ̲SSC ̲WARNING ̲FIELDS
             HIGH ̲LEVEL ̲FIELDS
             SSC ̲WARNING ̲TEXT
             T ̲FORMAT ̲ID

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

             T.BLE
             T.FORMAT ̲SPLIT
             T.TRANSACTION ̲ID
             DTG ̲SIZE =
             IOC ̲HEAD ̲SIZE
             TRANSACTION ̲ID ̲SIZE
             SECURITY ̲MES ̲SIZE
             HIGH ̲LEVEL ̲TEXT ̲SIZE

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



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

         The procedure contains the main procedure (a) DISPLAY
         ̲TERMINAL ̲FORMAT and the four utility procedures:

         -   SET ̲K1 ̲DATA (b)
         -   SET K2 ̲DATA (c)
         -   SET ̲WARNING ̲TEXT (d)
         -   HIGH ̲LEVEL ̲DATA (e)

         a)  Procedure DISPLAY ̲TERMINAL ̲FORMAT

             Narrative:

                 Gets the actual format via the Format Handler
                 and calls one of the utility procedures for
                 building the fields records. Output the fields.

             Flowgram: Ref. fig. 4.2.5.6.5.4.a-1


         b)  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲ ̲K̲1̲ ̲D̲A̲T̲A̲

             Narrative:

                 Gets the time of day via the TMON and puts
                 on a IOC header.


             Flowgram: Ref. fig. 4.2.5.6.5.4.b-1


         c)  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲ ̲K̲2̲ ̲D̲A̲T̲A̲

             Narrative:

                 The transaction ID is converted and loaded
                 into an IOC report. The time of day is copied
                 into the next IOC record.

             Flowgram: Ref. fig. 4.2.5.6.5.4.c-1


         d)  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲S̲E̲T̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲T̲E̲X̲T̲

             Narrative:

                 The WARNING ̲TEXT (system parameter) is requested
                 from TMP.

             Flowgram: Ref. fig. 4.2.5.6.5.4.d-1


         e)  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲H̲I̲G̲H̲ ̲L̲E̲V̲E̲L̲ ̲D̲A̲T̲A̲

             Narrative:

                 The capabilities for the user signed-on are
                 loaded into IOC records.

             Flowgram: Ref. fig. 4.2.5.6.5.4.e-1



   PROCEDURE  DISPLAY ̲TERMINAL ̲FORMAT (T ̲FORMAT ̲ID)

   GET ̲FORMAT (T.SYSTEM ̲SPLIT, FORMAT ̲ID) (CC) :ERROR ̲OK

   CASE T ̲FORMAT ̲ID OF

      K 1 ?  S̲E̲T̲ ̲K̲1̲ ̲D̲A̲T̲A̲  ( ) (TEXT ̲BUFFER,FIELD ̲LIST,
                                         NO ̲OF ̲FIELDS, BYTE
                     ̲SIZE)

      K 2 ?  S̲E̲T̲ ̲K̲2̲ ̲D̲A̲T̲A̲  ( ) (TEXT ̲BUFFER, FIELD ̲LIST,
                                         NO ̲OF ̲FIELDS, BYTE
                     ̲SIZE)

      WARNING ̲FORMAT ?  S̲E̲T̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲T̲E̲X̲T̲ ( ) TEXT ̲BUFFER,
                             FIELD ̲LIST, NO ̲OF ̲FIELDS, BYTE
                     ̲SIZE)

      HIGH ̲LEVEL ?  S̲E̲T̲ ̲H̲I̲G̲H̲ ̲L̲E̲V̲E̲L̲ ̲D̲A̲T̲A̲ ( ) (TEXT ̲BUFFER,
                             FIELD ̲LIST, NO ̲OF ̲FIELDS, BYTE
                     ̲SIZE)

      OTHERS ?  SEND ̲GARBLE (INTERNAL)

   END CASE

   T.BLE.ADDRESS = TEXT ̲BUFFER

   T.BLE.BYTE ̲SIZE = BYTE ̲SIZE

   CASE  FIELDS ̲OUTPUT (T.FORMAT ̲SPLIT, FIELD ̲LIST, T.BLE,
                         NO ̲OF ̲FIELDS, BYTE ̲SIZE) (CC):ERROR
                     ̲OK

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

   END CASE



   END DISPLAY ̲TERMINAL ̲FORMAT











                   Fig. 4.2.5.6.5.4.a-1



         PROCEDURE  SET ̲K1 ̲DATA  ( ) (T.TEXT ̲BUFFER, T ̲K1 ̲FIELDS,
                                      NO ̲OF ̲FIELDS, BYTE ̲SIZE)

         READ ̲TIME (DTG ̲TYPE) (T.TEXT ̲BUF)

         COUNT = DTG ̲SIZE + 1

         LOOP

             COUNT = COUNT-1

             T.TEXT ̲BUF (COUNT+IOC ̲HEAD ̲SIZE)=T.TEXT ̲BUF(COUNT)

             COUNT EQ 1 ?   EXIT

         END LOOP

         T.TEXT ̲BUF (1) = "G S"

         T.TEXT ̲BUF (2) = DTG ̲SIZE

         T.TEXT ̲BUF (3) = DATA ̲FLAG

         BYTE ̲SIZE = DTG ̲SIZE + IOC ̲HEAD ̲SIZE

         NO ̲OF ̲FIELDS = 1

         END SET ̲K1 ̲DATA



















                   Fig. 4.2.5.6.5.4.b-1


   PROCEDURE  SET ̲K2 ̲DATA  ( )(T.TEXT ̲BUFFER, T ̲K2 ̲FIELDS,
                                         NO ̲OF ̲FIELDS, BYTE
                     ̲SIZE)

   T.TEXT ̲BUF (1) = "G S"

   T.TEXT ̲BUF (2) = TRANSACTION ̲ID ̲SIZE

   T.TEXT ̲BUF (3) = DATA ̲FLAG

   EQUIVALENCE (T.TRANSACTION ̲ID, R:TRANSACTION ̲ID ̲TYPE)

   T.TEXT ̲BUF (4..6) = R.TERMINAL ̲DESIGNATOR (1..3)

   CONVERT (R.SERIAL ̲NO) (T.SERIAL ̲NO)

   T.TEXT ̲BUF (7..9) = T.SERIAL (3..1)

   T.TEXT ̲BUF (10) = "S P"

   CONVERT ̲TIME (TO ̲DTG, R.TIME) (T.TEXT ̲BUF (17))

   T.TEXT ̲BUF (25) = "G S"

   T.TEXT ̲BUF (26) = DTG ̲SIZE

   T.TEXT ̲BUF (27) = DATA ̲FLAG

   T.TEXT ̲BUF (28..41) = T.TEXT ̲BUF (11..24)

   BYTE ̲SIZE = DTG ̲SIZE + TRANSACTION ̲ID ̲SIZE + 2*IOC ̲HEAD ̲SIZE

   NO ̲OF ̲FIELDS = 2

   END  SET ̲K2 ̲DATA













                   Fig. 4.2.5.6.5.4 c-1


         PROCEDURE  SET ̲WARNING ̲TEXT  ( ) (TEXT ̲BUFFER, 
                                          T ̲SSC ̲WARNING ̲FIELDS,
                                          NO ̲OF ̲FIELDS,
                                          BYTE ̲SIZE)


         GET ̲SYSTEM ̲PARAMETERS (SECURITY ̲PARAMETER)
                                (SSC ̲WARNING ̲TEXT)

         BYTE ̲SIZE = SECURITY ̲MES ̲SIZE

         TEXT ̲BUFFER = SSC ̲WARNING ̲TEST. WARNING ̲TEXT

         NO ̲OF ̲FIELDS = 8

         END  SET ̲WARNING ̲TEXT































                   Fig. 4.2.5.6.5.4.d-1



         PROCEDURE  SET ̲HIGH ̲LEVEL ̲DATA  ( ) (TEXT ̲BUFFER,
                                              HIGH ̲LEVEL ̲FIELDS,
                                              NO ̲OF ̲FIELDS,
                                              BYTE ̲SIZE)


         COUNT = 3

         LOOP

             COUNT = COUNT + 4

             T.TEXT ̲BUF (COUNT+1) = "G S"

             T.TEXT ̲BUF (COUNT+2) = 1

             T.TEXT ̲BUF (COUNT+3) = DATA ̲FLAG

             COUNT EQ 13 ?   EXIT

         END LOOP


         T.TEXT ̲BUF (4) = T.T ̲SUPV

         T.TEXT ̲BUF (8) = T.T ̲MDCO

         T.TEXT ̲BUF (12) = T.T.MSOS

         T.TEXT ̲BUF (16) = T.T ̲USER

         BYTE ̲SIZE = HIGH ̲LEVEL ̲TEXT ̲SIZE

         NO ̲OF ̲FIELDS = 4

         TEXT ̲BUFFER = T.TEXT ̲BUFFER

         END SET ̲HIGH ̲LEVEL ̲DATA









                   Fig. 4.2.5.6.5.4 e-1



4.2.5.6.6    D̲I̲S̲P̲L̲A̲Y̲ ̲C̲L̲O̲S̲I̲N̲G̲ ̲T̲I̲M̲E̲



4.2.5.6.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure displays the closing time on the system
         line of the VDU.



4.2.5.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  DISPLAY ̲CLOSING ̲TIME (TIME:RELATIVE ̲TIME)
         b)  DISPLAY ̲CLOSING ̲TIME (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̲

         R 4  TIME
         R 6  LINK

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




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

         a1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             TIME ̲FORMAT ̲TYPE,
             TIME ̲TYPE,
             DTG ̲TYPE

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

             TERMINAL ̲COROUTINE ̲RECORD

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

             T.BLE
             T.TEXT ̲BUF

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

             T.COUNT : INTEGER



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

         PROCEDURE  DISPLAY ̲CLOSING ̲TIME

         Narrative:
             The Timer Monitor is requested for the present
             time and the time to close is added. The closing
             time is displayed in the load fields of the system
             line.

         Flowgram:

         PROCEDURE DISPLAY ̲CLOSING ̲TIME (TIME:RELATIVE ̲TIME)

         READ ̲TIME (TIME ̲TYPE) (T.TEXT ̲BUF)

         T.TEXT ̲BUF = T.TEXT ̲BUF + TIME * 60

         CONVERT ̲TIME (TO ̲DTG,T.TEXT ̲BUF) (T.TEXT ̲BUF(5))

         T.TEXT ̲BUF (1) = "G S"

         T.TEXT ̲BUF (2) = DTG ̲SIZE

         T.TEXT ̲BUF (3) = DATA ̲FLAG

         T.COUNT = 3

         LOOP

             T.COUNT = COUNT + 1

             T.TEXT ̲BUF(COUNT)=T.TEXT ̲BUF(COUNT + 1)

             T.COUNT EQ 17 ?   EXIT

         END LOOP

         T.BLE.BYTE ̲SIZE = DTG ̲SIZE + 3

         T.BLE.ADDRESS = T.TEXT ̲BUF

         CASE FIELDS ̲OUT (T.SYSTEM ̲SPLIT, T.SYSTEM ̲FIELDS (2)
                          1. DTG ̲SIZE + 3) (CC)

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

         END CASE 

         END DISPLAY ̲CLOSING ̲TIME


4.2.5.6.7    D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲



4.2.5.6.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure displays a response text in the system
         line.



4.2.5.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  DISPLAY ̲RESPONSE (TEXT ̲NO : INTEGER)
         b)  DISPLAY ̲RESPONSE (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̲

         R 4  TEXT ̲NO
         R 6  LINK

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

         NONE



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

         a1) T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

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

             USER ̲TEXT (const)           DBD (responsetext ̲table)
             TERMINAL ̲COROUTINE ̲RECORD   4.1.4.7

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

             T.TEXT ̲BUF
             T.BLE
             T.KEY ̲BUF

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


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

         P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲

         Narrative
             The TMP is requested for the specified text string.

             The Text string is via the Format Handler displayed
             on the system line of the VDU.

         Flowgram:

         PROCEDURE DISPLAY ̲RESPONSE (TEXT ̲NO)

         T.KEY ̲BUF.KEY= USER ̲TEXT + TEXT ̲NO

         SEARCH ̲ENTRY(RESPONSE ̲TEXT ̲TABLE, T.KEY ̲BUF, ALLMASK.
                      T.SEND ̲BUF) (T.TEXT ̲BUF)

         BYTE ̲SIZE = T.TEXT ̲BUF (2) + 3

         T.BLE.BYTE ̲SIZE = BYTE ̲SIZE

         T.BLE:ADDRESS = T.TEXT ̲BUF

         CASE FIELDS ̲OUT (T.SYSTEM ̲SPLIT, T.SYSTEM ̲FIELD (1),
                          T.BLE, 1, BYTE ̲SIZE) (CC)

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

         END CASE

         END DISPLAY



4.2.5.6.8    S̲E̲N̲D̲ ̲C̲O̲M̲M̲A̲N̲D̲



4.2.5.6.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a command to a TERMINAL subprocess.
         A reply from the subprocess is awaited but is subject
         to timeout.


4.2.5.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲COMMAND (T.CMD:INTEGER) (T.REPLY:BOOLEAN)
         b)  SEND ̲COMMAND (R5, R6) (R5)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  COMMAND
         R 6  LINK

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

         R 5 reply from the TERMINAL subprocess.



4.2.5.6.8.3 D̲A̲T̲A̲

         T̲E̲M̲C̲O̲ ̲C̲O̲M̲M̲O̲N̲

         VAR T.CMD : INTEGER
             T.REPLY : BOOLEAN
             T.CMD ̲Q : QUEUE ̲REFERENCE
             T.TIME : SECONDS
             T.WRK : ARRAY (1..16) OF INTEGER
             T.ATT : QEL ̲ATTRIBUTES
             T.QEL : QEL ̲REFERENCE
             T.SUBQ : SUBQUEUE ̲INDEX
             T.CC : INTEGER
             T.SEND ̲PARAMS : SEND ̲PARAMS ̲TYPE
             T.STATE : STATE ̲TYPE
             T.REPLY ̲Q : QUEUE ̲REFERENCE


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



   PROCEDURE  SEND ̲COMMAND (T.CMD) (T.REPLY)

   BEGIN

      T.REPLY = EXECUTION ̲OK

      T.SEND ̲PARAMS.HEADER.INFORMATION ̲TYPE = TRUE

      T.SEND ̲PARAMS.CHECKP.STATUS = FALSE

      T.SEND ̲PARAMS.HEADER.MAINTYPE = SSC ̲COMMAND

      T.SEND ̲PARAMS.HEADER.SUBTYPE = T.CMD

      CASE SEND ̲REQUEST (T.SEND ̲PARAMS, NIL, T.COMMAND ̲Q, T.REPLY
 ̲Q)
                      (CC) :ERROR ̲OK

      ERROR ?   ANALYZE ̲ERROR (CC, 2, QEL ̲PROFILE ̲CHECK ̲BLOCKED
 ̲QUEUE)

      END CASE  T.REPLY = TIME ̲OUT

      T.TIME = 2

      T.REPLY EQ TIME ̲OUT?

      W̲A̲I̲T̲ ̲T̲I̲M̲E̲ ̲L̲I̲M̲I̲T̲E̲D̲ ̲O̲N̲ ̲Q̲U̲E̲U̲E̲ (T.REPLY ̲Q, T.TIME, T.WRK2)
                               (T.ATT, T.QEL, T.SUBQ, CC)

      T.REPLY = T.CC

      DISMANTLE (T.QEL) (CC) :ERROR ̲OK


   END


4.2.5.6.9    S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲S̲U̲P̲V̲



4.2.5.6.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲s̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a reply to the supervisor after
         execution of a supervisor command.



4.2.5.6.9.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲REPLY ̲TO ̲SUPV (T.REPLY:BOOLEAN)
         b)  SEND ̲REPLY ̲TO ̲SUPV (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R6 LINK

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

         None



4.2.5.6.9.3 D̲A̲T̲A̲

         VAR T.TIME : TIME ̲FORMAT ̲TYPE

         S̲S̲C̲ ̲C̲O̲M̲M̲O̲N̲

         VAR T.TNO : LOGICAL ̲TERMINAL ̲NO ̲TYPE

         T̲E̲M̲C̲O̲ ̲C̲O̲M̲M̲O̲N̲

         VAR T.CMD : INTEGER
         VAR T.REPLY : BOOLEAN
         VAR T.SUPV ̲QEL ̲REF : QEL ̲REFERENCE
         VAR T.SEND ̲PARAMS : SEND ̲PARAMS ̲TYPE
         VAR T.CC : INTEGER


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



         PROCEDURE SEND ̲REPLY ̲TO ̲SUPV (T.REPLY)

         BEGIN

             T.SEND ̲PARAMS.INFORMATION ̲TYPE = TRUE

             T.SEND ̲PARAMS.CHECKP ̲STATUS = FALSE

             T.SEND ̲PARAMS.HEADER.MAINTYPE = ACK

             T.SEND ̲PARAMS.HEADER.SUBTYPE = SSC ̲ACK

             T.SEND ̲PARAMS.FLAGS = T.REPLY

             T.SEND ̲PARAMS.HEADER ̲INF = T.CMD

             T.SEND ̲PARAMS.INFORMATION (1) = T.TNO

             READ ̲TIME (F ̲TIME ̲TYPE) (C.TIME,T.CC) :ERROR ̲OK

             ERROR ?   ANALYZE ̲ERROR (T.CC, 0)

             T.SEND ̲PARAMS.INFORMATION (2) = T.TIME.HOUR

             T.SEND ̲PARAMS.INFORMATION (3) =T.TIME ̲MINUTE

             CASE SEND ̲REPLY (T.SEND ̲PARAMS, T.SUPV ̲QEL ̲REF,
             
                         T.SUPV ̲QEL ̲REF) (T.CC) :ERROR ̲OK

             ERROR ?   ANALYZE ̲ERROR ̲(CC, 2, QEL ̲PROFILE ̲CHECK,BLOCKED
             ̲QUEUE)

             END CASE

             DISMANTLE (D.SUPV ̲QEL ̲REF)  (T.CC) :ERROR ̲OK

         END



4.2.5.6.10   S̲E̲N̲D̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲R̲E̲P̲O̲R̲T̲



4.2.5.6.10.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a security report which is printed
         out at the supervisor printer.



4.2.5.6.10.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲SECURITY ̲REPORT (T ̲TEXT ̲REF: 1..MAX ̲REPORT
             ̲TEXT ̲REF)

         b)  SEND ̲SECURITY ̲REPORT (R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  type of security report
         R 6  link

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

         None



4.2.5.6.10.3 D̲A̲T̲A̲

         TYPE T.REPORT=
             RECORD
                 SIZE:       INTEGER
                 TOC:        TIME ̲TYPE
                 TEXT ̲REF:   1..MAX ̲REPORT ̲TEXT ̲REF
                 TD:         ARRAY(1..7) OF CHAR
             END

         VAR T.SEND ̲PARAMS : SEND ̲PARAMS ̲TYPE
         VAR T.TNO : LOGICAL ̲TERMINAL ̲NO ̲TYPE (SSC COMMON)
         VAR T.REPORT ̲Q : QUEUE ̲REFERENCE (TEMCO COMMON)
         VAR T.CC : INTEGER
         VAR T.TEXT ̲REF: 1..MAX ̲REPORT ̲TEXT ̲REF)
         VAR T.SIZE:INTEGER



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

         PROCEDURE SEND ̲SECURITY ̲REPORT (TEXT ̲REF:
                                          1..MAX ̲REPORT ̲TEXT
 ̲REF)

         BEGIN

         T.REPORT.TEXT ̲REFGT SEC ̲KEY ̲NOT ̲SIGN ̲OFF? T.REPORT.USER
         ̲ID = "SP"

         READ ̲TIME (F ̲TIME ̲TYPE)
                        (T.REPORT.TOC,CC): ERROR ̲OK

         END

         T.REPORT.TEXT ̲REF = TEXT ̲REF

         T.REPORT.USER ̲ID = T.USER ̲PROFILE.USER ̲ID

         CASE RESERVE ̲BUFFER (T.REPORT.SIZE,T.REPLY ̲Q)
                               (T.QEL,T.CC): ERROR ̲OK

             ERROR?   ANALYZE ̲ERROR (T.CC,0)

         END

         CASE WRITE ̲BUFFER (T.QEL, T.REPORT, T.REPORT.SIZE,
         1)
                           (T.SIZE, CC): ERROR ̲OK

             ERROR?    ANALYZE ̲ERROR (CC, POOL ̲EMPTY,BLOCKED
             ̲QUEUE)

         END

         T.SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE

         T.SEND ̲PARAMS.CHECKP ̲STATUS = FALSE

         T.SEND ̲PARAMS.HEADER.MAINTYPE = REPORT

         T.SEND ̲PARAMS.HEADER.SUBTYPE = SECURITY ̲REPORT

         T.REPORT.TEXT ̲REF GT SEC.KEY ̲NOT ̲SIGN ̲OFF? T.SEND ̲PARAMS.HEADER.SUBTYPE
         = WARNING ̲REPORT

         CASE SEND ̲QEL (T.SEND ̲PARAMS, NIL, T.REPORT ̲Q)

                       (CC): ERROR ̲OK

             ERROR?   ANALYZE ̲ERROR (CC, QEL ̲PROFILE ̲CHECK,BLOCKED
             ̲QUEUE)

         END

         END PROCEDURE


4.2.5.6.11   S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲T̲E̲P̲



4.2.5.6.11.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a reply to a terminal subprocess.



4.2.5.6.11.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲REPLY ̲TO ̲TEP (T.REPLY: BOOLEAN
         b)  SEND ̲REPLY ̲TO ̲TEP (R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  reply to TEP
         R 6  LINK

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

         None



4.2.5.6.11.3 D̲A̲T̲A̲

         VAR T.REPLY : BOOLEAN  (TEMCO COMMON)
         VAR T.SEND ̲PARAMS : SEND ̲PARAMS
         VAR T.TEP ̲QEL ̲REF : QEL ̲REFERENCE (TEMCO COMMON)


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



         PROCEDURE  SEND ̲REPLY ̲TO ̲TEP  (T.REPLY)

         BEGIN

             T.SEND ̲PARAMS.INFORMATION ̲TYPE = TRUE

             T.SEND ̲PARAMS.INFORMATION ̲STATUS = FALSE

             T.SEND ̲PARAMS.HEADER.MAINTYPE = ACK

             T.SEND ̲PARAMS.HEADER.SUBTYPE = SSC ̲ACK

             T.SEND ̲PARAMS.FLAG = T.REPLY

             CASE SEND ̲REPLY (T.SEND ̲PARAMS, NIL, T.TEP ̲QEL
             ̲REF)
                                    (T.SEND ̲PARAMS, T.CC) :ERROR
                     ̲OK

             ERROR ?   ANALYZE ̲ERROR (CC, 2, QEL ̲PROFILE ̲CHECK,
                                                 BLOCKED ̲QUEUE)

             END

             DISMANTLE (T.TEP ̲QEL ̲REF) (T.CC) :ERROR ̲OK

         END


4.2.5.6.12   S̲E̲N̲D̲ ̲L̲O̲G̲ ̲R̲E̲C̲O̲R̲D̲



4.2.5.6.12.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a log report to the LOG package.
         A reply is awaited, but is subject to timeout.



4.2.5.6.12.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲LOG ̲REPORT (T.FORMAT ̲ID : FORMAT ̲ID ̲TYPE,
                              T.EXIT ̲CAUSE : EXIT ̲CAUSE ̲TYPE)
                             (T.REPLY  ̲ BOOLEAN)

         b)  SEND ̲LOG ̲REPORT (R4, R5, R6)

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

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 4  format type
         R 5  exit cause
         R 6  LINK

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

         R 5  reply from LOG package.



4.2.5.6.12.3 D̲A̲T̲A̲

         T̲E̲M̲C̲O̲ ̲C̲O̲M̲M̲O̲N̲

         VAR T.REPLY : BOOLEAN
             T.TIME : SECONDS
             T.WRK : ARRAY (1..16) OF INTEGER
             T.ATT : QEL ̲ATTRIBUTES
             T.QEL : QEL ̲REFERENCE
             T.SUBQ : SUBQUEUE ̲INDEX
             T.CC : INTEGER
             T.SEND ̲PARAMS : SEND ̲PARAMS ̲TYPE
             T.REPLY ̲Q : QUEUE ̲REFERENCE
             T.LOG ̲Q : QUEUE ̲REFERENCE


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

         VAR T.GSN ̲ID : GSN ̲ID ̲TYPE
         VAR T.GSN ̲VALUE : LONG
         VAR T.LOG ̲RECORD:

             RECORD
             TERMINAL ̲DESIGNATOR:TERMINAL ̲DESIGNATOR ̲TYPE
             TRANSACTION ̲SERIAL ̲NO:TRANSACTION ̲SERIAL ̲NO ̲TYPE
             FORMAT ̲ID:FORMAT ̲ID ̲TYPE
             EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPE
             TRANSACTION ̲START ̲TIME:TIME ̲TYPE

             END

         CONST  T.BUFFER ̲SIZE
         CONST  T.SIZE


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



         PROCEDURE  SEND ̲LOG ̲RECORD (T.FORMAT ̲ID:FORMAT ̲ID ̲TYPE,
                                   T.EXIT ̲CAUSE:EXIT ̲CAUSE ̲TYPE)
                                   (T.REPLY : BOOLEAN)

         BEGIN

             T.GSN ̲ID.GROUP = TRANSACTION ̲GSN
             T.GSN ̲ID.GSN ̲INDEX = T.TNO
             GET ̲GSN(T.GSN ̲ID, TRUE) (T.GSN ̲VALUE, T.CC):ERROR
             ̲OK
             ERROR ?   ANALYZE ̲ERROR (T.CC, 0)
             T.LOG ̲RECORD.TRANSACTION ̲SERIAL ̲NO = T.GSN ̲VALUE
             T.LOG ̲RECORD.TERMINAL ̲DESIGNATOR = 
                     T.TERMINAL ̲PROFILE.TD
             T.LOG ̲RECORD.FORMAT ̲ID = T.FORMAT ̲ID
             T.LOG ̲RECORD.EXIT ̲CAUSE = T.EXIT ̲CAUSE
             READ ̲TIME (F ̲TIME ̲TYPE) (T.TIME, T.CC):OK
             T.LOG ̲RECORD:TRANSACTION ̲START ̲TIME = T.TIME
             T.SEND ̲PARAMS.HEADER.INFORMATION ̲TYPE = FALSE
             T.SEND ̲PARAMS.CHECKP ̲STATUS = FALSE
             T.SEND ̲PARAMS.HEADER.MAINTYPE = LOG ̲RECORD
             CASE T.SEND ̲PARAMS.HEADER.SUBTYPE = T.FORMAT ̲ID
             RESERVE ̲BUFFER (T.BUFFER ̲SIZE, T.REPLY ̲Q)
                            (T.QEL, CC) :ERROR ̲OK
             ERROR ?   ANALYZE ̲ERROR (CC, 2, POOL ̲EMPTY,BLOCKED
             ̲                                                      
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   QUEUE)

             END CASE

             CASE WRITE ̲BUFFER (T.QEL, T.LOG ̲RECORD, T.SIZE,
             0)
                          (T.SIZE, CC) :ERROR ̲OK
             ERROR ?   ANALYZE ̲ERROR (CC, 1, SIZE ̲ERROR)

             END CASE

             CASE SEND ̲REQUEST (T.SEND ̲PARAMS,T.QEL,T.LOG ̲Q,T.REPLY
             ̲Q)
                          (CC) :ERROR ̲OK
             ERROR ?   ANALYZE ̲ERROR (CC, 2, QEL ̲PROFILE ̲            
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     CHECK,BLOCKED
                                                                     ̲QUEUE)

             END CASE

             T.TIME = 2
             WAIT ̲TIME ̲LIMITED ̲ON ̲QUEUE (T.REPLY ̲Q, T.TIME,T.WRK)
                                        (T.ATT,T.QEL,T.SUBQ,T.CC)
             T.REPLY = T.CC
             DISMANTLE (T.QEL) (CC) :ERROR ̲OK

         END



4.2.5.6.13   C̲U̲T̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲



4.2.5.6.13.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure dismantles the connection to the VDU
         splits.



4.2.5.6.13.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CUT ̲CONNECTION (T.SPLIT : SPLIT ̲TYPE)
         b)  CUT ̲CONNECTION (R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  split type
         R 6  LINK

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

         None



4.2.5.6.13.3 D̲A̲T̲A̲

         SYSTEM ̲SPLIT ̲CONNECTION,
         MAX ̲TEMCO ̲CON : TEMCO ̲COMMON


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



PROCEDURE  CUT ̲CONNECTION

EQUIVALENCE (T.SYSTEM ̲SPLIT ̲DATA ̲CONNECTION,R :ARRAY

         (1..7) OF FDCB ̲INDEX

I = O

T.REPLY = 0

LOOP

   I = I + 1

   CASE ̲DISMANTLE (R(I))(CC) : ERROR ̲OK

         ERROR? T.REPLY = T.REPLY + 1, T.CC = CC

   END CASE

   I EQ MAX ̲TEMCO ̲CON? ((EXIT

END LOOP

T.REPLY NE Q? ANALYSE ̲ERROR (T.CC, 1, HW)

END CUT ̲CONNECTION


4.2.5.6.14 S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲T̲O̲ ̲M̲M̲O̲N̲



4.2.5.6.14.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends a reply to MMON after a security
         interrogation, security warning or both.



4.2.5.6.14.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SEND ̲REPLY ̲TO ̲MMON (T.REPLY:BOOLEAN)
         b)  SEND ̲REPLY ̲TO ̲MMON (R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  reply to MMON
         R 6  LINK

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

         None



4.2.5.6.14.3 D̲A̲T̲A̲

         VAR T.SYNC ̲EL ̲REF : OBJECT ̲INDEX
             MMON ̲RSE ̲REPLY ̲TABLE (SUBPROCESS ̲INDEX) 
             "table: output synchronization element object ̲index.

         VAR T.MMON ̲ANSWER : OPEN ̲NOTIFICATION ̲ANSWER
         VAR T.CC : INTEGER
         VAR T.SUBPROCESS ̲ID : SUBPROCESS ̲INDEX


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




   PROCEDURE  SEND ̲REPLY ̲TO ̲MMON (T.REPLY : BOOLEAN)


   BEGIN

      T.SYNC ̲EL ̲REF = MMON ̲RSE ̲REPLY ̲TABLE (T.SUBPROCESS ̲ID)

      T.MMON ̲ANSWER.MMON ̲REF = T.MMON ̲REF

      T.MMON ̲ANSWER.CC = T.REPLY

      SEND (T.SYNC ̲EL ̲REF, T.MMON ̲ANSWER) (T.CC):ERROR ̲OK

      ERROR ?   ANALYZE ̲ERROR (T.CC, 0)


   END



4.2.5.6.15 F̲I̲N̲D̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲



4.2.5.6.15.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure determines the number of capabilities
         a user has at a terminal. If only one the type of capability
         is returned.


4.2.5.6.15.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  FIND ̲CAPABILITIES( )(T.CAPABILITIES:CAPABILITY
             ̲TYPE,
                                 T.CAP: FCT ̲CAPABILITY ̲TYPE)

         b)  FIND ̲CAPABILITIES (R6) (R4, R5)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 6  LINK

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

         R 4  the number of capabilities
         R 5  the type of capability



4.2.5.6.15.3 D̲A̲T̲A̲

         VAR T.CAPABILITIES : CAPABILITY ̲TYPE (TEMCO COMMON)
         VAR T.CAP : FCT ̲CAPABILITY ̲TYPE (TEMCO COMMON)
         VAR T.COUNT : INTEGER
         VAR T.T ̲USER, T.T ̲MDCO, T.T ̲MSOS, T.T ̲SUPV :
                                           INTEGER (TEMCO COMMON)


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


   PROCEDURE  FIND ̲CAPABILITIES ()
              (T.CAPABILITIES : CAPABILITY ̲TYPE,
               T.CAP : FCT ̲CAPABILITY ̲TYPE)

   BEGIN

      T.CAPABILITIES = MORE
      T.CAP = NIL
      GET ̲TERMINAL ̲CAP
      T.COUNT = 0
      T.T ̲USER EQ  "N"
      T.COUNT = 1
      T.CAP = USER

      T.T ̲MDCO EQ  "N" ?
      T.COUNT = T.COUNT + 1
      T.CAP = MDCO
      T.T ̲MSOS EQ  "N" ?
      T.COUNT = T.COUNT + 1
      T.CAP = MSOS

      T.T ̲SUPV EQ  "N" ?
      T.COUNT = T.COUNT + 1
      T.CAP = SUPV

      T.COUNT EQ 0 ?   T.CAPABILITIES = NONE
      T.COUNT EQ 1 ?   T.CAPABILITIES = ONE

   END


4.2.5.6.16 S̲E̲N̲D̲ ̲S̲T̲A̲T̲I̲S̲T̲I̲C̲S̲



4.2.5.6.16.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sends statistics.



4.2.5.6.16.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         a)  SEND ̲STATISTICS (T.FORMAT : STA ̲SUBGROUP ̲NO ̲2)
         b)  SEND ̲STATISTICS (R5, R6)

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

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  type of format
         R 6  LINK

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

         None



4.2.5.6.16.3 D̲A̲T̲A̲

         VAR T.GROUP ̲NO : STA ̲GROUP ̲NO ̲TYPE
             T.SUBGROUP ̲NO : STA ̲SUBGROUP ̲NO
             T.RECORD ̲NO : RECORD ̲NO ̲TYPE
             T.STA ̲PARAMS : STA ̲PARAMS ̲TYPE
             T.FORMAT : INTEGER (TEMCO COMMON)
             T.TNO : LOGICAL ̲TERMINAL ̲NUMBER ̲TYPE (TEMCO COMMON)
             T.CC : INTEGER


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



   PROCEDURE  SEND ̲STATISTICS (T.FORMAT : STA ̲SUBGROUP ̲NO ̲2)


   BEGIN

      T.GROUP ̲NO = USE ̲OF ̲FORMAT ̲2

      CASE  T.FORMAT  OF

         S ̲WARNING?  T.SUBGROUP ̲NO = FORMAT ̲I2

         S ̲INTERROGARTION ?  T.SUBGROUP ̲NO = FORMAT ̲I1

         OTHER ?   SEND ̲GARBLE (INTERNAL)

      END


      T.RECORD ̲NO = T.TNO

      T.STA ̲PARAMS = NIL

      CASE STATISTICS ̲COLLECTION (T.GROUP ̲NO,
                              T.SUBGROUP ̲NO,
                              T.STA ̲PARAMS)
                             (CC) :ERROR ̲OK

         ERROR ?   ANALYZE ̲ERROR (CC, 0)

      END CASE

   END



4.2.5.6.17   I̲N̲V̲A̲L̲I̲D̲ ̲S̲I̲O̲N̲



4.2.5.6.17.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure dismantles the system connection to the
         VDU, sets the BLOCKED field to TRUE in the terminal
         profile and sends a security report to the supervisor
         printer.



4.2.5.6.17.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  INVALID ̲SION
         b)  INVALID ̲SION (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R 6  LINK

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

         None



4.2.5.6.17.3 D̲A̲T̲A̲

         VAR T.TERMINAL ̲PROFILE : TERMINAL ̲PROFILE
             T.STATE : STATE ̲TYPE



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



   PROCEDURE  INVALID ̲SION

   BEGIN

      T.TERMINAL ̲PROFILE.CAP EQ SUPV ? T.STATE=UNATTENDED ̲OPERATION

                                       DISPLAY ̲TERMINAL ̲FORMAT
 (K2)

      BLOCK ̲PASSIVE ̲TERMINAL

      T.STATE = BLOCKED

      SEND ̲SECURITY ̲REPORT (SION)



   END



4.2.5.6.18 I̲N̲V̲A̲L̲I̲D̲ ̲R̲E̲L̲ ̲S̲E̲C̲ ̲I̲N̲T̲



4.2.5.6.18.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure dismantles the connection to the VDU,
         sets the BLOCKED field to TRUE in the terminal profile,(not
         supervisor position) sends a security report, sends
         a NOT ̲OK reply to the terminal subprocess and sends
         a BLOCK ̲TERM Command to the terminal subprocess.



4.2.5.6.18.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  INVALID ̲REL ̲SEC ̲INT (REPORT ̲NUMBER : REPORT ̲NUMBER
             ̲                                                      
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   TYPE)
         b)  INVALID ̲REL ̲SEC ̲INT (R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R 5 REPORT ̲NUMBER
         R 6  LINK

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

         None



4.2.5.6.18.3 D̲A̲T̲A̲

         VAR T.TERMINAL ̲PROFILE : TERMINAL ̲PROFILE (TEMCO COMMON)
             T.STATE : STATE ̲TYPE (TEMCO COMMON)


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



   PROCEDURE  INVALID ̲REL ̲SEC ̲INT (REPORT ̲NUMBER : REPORT ̲NUMBER
 ̲                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 TYPE)

   BEGIN

      T.TERMINAL ̲PROFILE.CAP EQ SUPV ? T.STATE=UNATTENDED ̲OPERATION

                                     S̲T̲O̲P̲ ̲A̲C̲T̲I̲V̲E̲ ̲S̲U̲P̲V̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲

      B̲L̲O̲C̲K̲ ̲A̲C̲T̲I̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲                                     
      T.STATE = BLOCKED

      T.REPLY = EXECUTION ̲NOT ̲OK

      SEND ̲REPLY ̲TO ̲TEP (T.REPLY)

      SEND ̲SECURITY ̲REPORT (REPORT ̲NUMBER)

   END


4.2.5.6.19 I̲N̲V̲A̲L̲I̲D̲ ̲S̲E̲C̲ ̲I̲N̲T̲E̲R̲R̲O̲G̲A̲T̲I̲O̲N̲ ̲O̲R̲ ̲W̲A̲R̲N̲I̲N̲G̲



4.2.5.6.19.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure dismantles the connection to the VDU,
         sets the BLOCKED field to TRUE in the terminal profile,
         exept supervisor and a log terminal), sends a security
         report, sends a OPEN ̲NOT ̲ACCEPTED reply to the MMON
         and sends a BLOCK ̲TERM command to the terminal subprocess.



4.2.5.6.19.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  INVALID ̲SEC ̲INTERROGATION ̲OR ̲WARNING (
                     LOG ̲FORMAT : FORMAT ̲ID ̲TYPE
                     EXIT ̲CAUSE : EXIT ̲CAUSE ̲TYPE
                     REPORT ̲NUMBER : REPORT ̲NUMBER ̲TYPE)

         b)  INVALID ̲SEC ̲INTERROGATION ̲OR ̲WARNING(
                     R3, R4, R5, R6)

         C̲A̲L̲L̲ ̲R̲E̲G̲I̲S̲T̲E̲R̲S̲

         R3  LOGFORMAT
         R4  EXIT ̲CAUSE
         R5  REPORT ̲NUMBER ̲TYPE
         R6  LINK

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

         None

         4.2.5.6.19.3 D̲A̲T̲A̲

         VAR T.TERMINAL ̲PROFILE : TERMINAL ̲PROFILE (TEMCO COMMON)
             T.STATE : STATE ̲TYPE (TEMCO COMMON)


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



   PROCEDURE  INVALID ̲SEC ̲INTERROGATION ̲OR ̲WARNING (LOG ̲FORMAT,
                                                 EXIT ̲CAUSE,
                                                 REPORT ̲NUMBER)

   BEGIN
      T.REPLY = OPEN ̲NOT ̲ACCEPTED

      SEND ̲REPLY ̲TO ̲MMON (T.REPLY)

      SEND ̲SECURITY ̲REPORT (REPORT ̲NUMBER)

      SEND ̲SECURITY ̲REPORT (LOG ̲FORMAT,EXIT ̲CAUSE)

      T.TERMINAL ̲PROFILE.CAP EQ SUPV ? T.STATE=UNATTENDED ̲OPERATION

                                     STOP ̲ACTIVE ̲SUPV ̲TERMINAL

      BLOCK ̲ACTIVE ̲TERMINAL

      T.STATE = BLOCKED

   END


4.2.5.6.20 I̲N̲V̲A̲L̲I̲D̲ ̲S̲E̲C̲ ̲W̲A̲R̲N̲I̲N̲G̲…86…1         …02…   …02…   …02…   …02…          
                                 
4.2.5.6.20   B̲L̲O̲C̲K̲ ̲A̲C̲T̲I̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲



4.2.5.6.20.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 terminal subprocess is stop by a BLOCK ̲TERM command
         and the user profile and terminal profile is updated.



4.2.5.6.20.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  BLOCK ̲ACTIVE ̲TERM

         b)  BLOCK ̲ACTIVE ̲TERM (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 6     LINK

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

         None



4.2.5.6.20.3 D̲a̲t̲a̲

         VAR
             T.SIGN,
             T.USER ̲PROFILE ̲USER ̲ID         TEMCO COMMON



4.2.5.6.20.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲…86…1         …02…   …02…   …02…   …02…           
                                    
         PROCEDURE BLOCK ̲ACTIVE ̲TERMINAL

         S̲T̲O̲P̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲(̲B̲L̲O̲C̲K̲ ̲T̲E̲R̲M̲)̲

         B̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲

         T.SIGN = OFF

         S̲E̲T̲ ̲U̲S̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲S̲I̲G̲N̲ ̲T̲O̲ (T.SIGN, T.USER ̲PROFILE.USER
         ̲ID)

         END BLOCK ̲ACTIVE ̲TERMINAL


4.2.5.6.21 N̲O̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲



4.2.5.6.21.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure generates an error message for a preset
         period of time, after which the terminal is signed
         off and format K2 is displayed.



4.2.5.6.21.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  NO ̲CAPABILITIES
         b)  NO ̲CAPABILITIES (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲

         R 6  LINK

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

         None



4.2.5.6.21.3 D̲A̲T̲A̲

         VAR T.REQUEST ̲TIME : REQUEST ̲TIME (TEMCO COMMON)
             T.CC : INTEGER


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



   PROCEDURE  NO ̲CAPABILITIES

   BEGIN

      DISPLAY ̲RESPONSE (CONTACT ̲SUPERVISOR)

      T.REQUEST ̲TIME.QUEUE = T.REPLY ̲Q

      T.REQUEST ̲TIME.TIME ̲OUT = ONCE

      T.REQUEST ̲TIME.FORMAT = SECONDS

      T.REQUEST ̲TIME.TIME = 30

      T.REQUEST ̲TIME.EVENT ̲ID = NO ̲CAP ̲TIME

      WAIT ̲OPSEM (SHORT ̲OS)(T ̲OP)

      T.OP.CMD ̲TYPE = TMON ̲CMP

      INIT ̲REQUEST ̲TIMEOUT (T.REQUEST ̲TIME, T ̲OP) (CC):ERROR
 ̲OK

      ASSOCIATE (VDU ̲OS(T.TNO),T ̲OP)



   END



4.2.5.6.22 C̲H̲E̲C̲K̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲ ̲C̲O̲D̲E̲



4.2.5.6.22.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure checks the security code.



4.2.5.6.22.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CHECK ̲SECURITY ̲CODE (T.SEC ̲CODE : SEC ̲CODE ̲TYPE)
         b)  CHECK ̲SECURITY ̲CODE (R5, R6) : ERROR ̲OK

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  SECURITY CODE
         R 6  LINK

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

         R 5 reply



4.2.5.6.22.3 D̲A̲T̲A̲

         VAR T.SEC ̲CODE : SEC ̲CODE ̲TYPE
             T.TABLE ̲SEC ̲CODE : SEC ̲CODE ̲TYPE
             T.REPLY : BOOLEAN


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



   PROCEDURE  CHECK ̲SECURITY ̲CODE (T.SEC ̲CODE : SEC ̲CODE ̲TYPE)
                                (T.REPLY)


   BEGIN

      T.REPLY = FALSE

      GET ̲SYSTEM ̲PARAMETERS (SECURITY ̲CODE)

                          (T.TABLE ̲SEC ̲CODE)

      T.TABLE ̲SEC ̲CODE NE T.SEC ̲CODE ?

      T.REPLY = TRUE



   END PROCEDURE


4.2.5.6.23 S̲E̲T̲ ̲D̲A̲M̲O̲S̲ ̲L̲I̲N̲E̲ ̲P̲R̲O̲F̲I̲L̲E̲



4.2.5.6.23.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure changes the DAMOS line profile to the
         VDU splits.



4.2.5.6.23.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SET ̲DAMOS ̲LINE ̲PROFILE
         b)  SET ̲DAMOS ̲LINE ̲PROFILE

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 6  LINK

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

         None



4.2.5.6.23.3 D̲A̲T̲A̲

         CONST
         TEMCO ̲USER ̲PROFILE



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




   PROCEDURE  SET ̲DAMOS ̲LINE ̲PROFILE

   PROFILE = T.TERMINAL ̲PROFILE.CLASS LOG OR

           T.TERMINAL ̲PROFILE.SH.LEAST LOGAND

           USER ̲5 ̲FIRST ̲BIT

   CHANGE ̲PROFILE (T.VDU ̲CONNECTION,PROFILE)

   END SET ̲DAMOS ̲LINE ̲PROFILE




4.2.5.6.24 C̲H̲E̲C̲K̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲



4.2.5.6.24.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure checks an entered password.



4.2.5.6.24.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CHECK ̲PASSWORD(ID ̲CODE:USER ̲ID)
                           (T.USER ̲PROFILE ̲USER ̲PROFILE,
                            T.REPLY : BOOLEAN)
         b)  CHECK ̲PASSWORD (R5, R6) (R5)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R  5  USER ̲ID
         R 6  LINK

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

         R 5 reply



4.2.5.6.24.3 D̲A̲T̲A̲

         VAR T.ID ̲CODE : USER ̲ID
             T.USER ̲PROFILE : USER ̲PROFILE
             T.REPLY : BOOLEAN
             T.USER ̲PASSWORD : PASSWORD ̲TYPE
             T.TABLE ̲PASSWORD : PASSWORD ̲TYPE
             T.TIME : TIME ̲TYPE
             T.TIME ̲EXPITED : TIME ̲TYPE


4.2.5.6.25 C̲H̲E̲C̲K̲ ̲I̲D̲ ̲C̲O̲D̲E̲



4.2.5.6.25.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure checks the id code.



4.2.5.6.25.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CHECK ̲ID ̲CODE (ID ̲CODE : ID ̲CODE ̲TYPE)
         b)  CHECK ̲ID ̲CODE (R4, R6) : ERROR ̲OK

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 4  ID ̲CODE
         R6  LINK

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

         None



4.2.5.6.25.3 D̲A̲T̲A̲

         VAR T.ID ̲CODE : USER ̲ID ̲TYPE
             T.REPLY : BOOLEAN
             T.I : INTEGER…86…1  …02…  …02…  …02…  …02…  …02…  …02…   …02…               …02…  
                                     
         PROCEDURE CHECK ̲PASSWORD (T.ID ̲CODE : USER ̲ID)
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   (T.USER
                                                                   ̲PROFILE
                                                                   :
                                                                   USER
                                                                   ̲PROFILE,

         T.REPLY = FALSE                                         
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 T.REPLY
                                                                 :
                                                                 BOOLEAN)

         T.SIGN = ON

         S̲E̲T̲ ̲U̲S̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲S̲I̲G̲N̲ ̲T̲O̲ (T.SIGN,T.ID ̲CODE)(T.BLOCKED)

         T.BLOCKED EQ TRUE? - D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲O̲N̲C̲E̲ (CONTACT ̲SUPERVISOR)

         T.USER ̲PROFILE.PASSWORD ̲EXPIRED EQ 0? - T.TIME = 0

         READ ̲TIME (TIME ̲TYPE)(T.TIME,CC) : ERROR ̲OK

         T.TIME ̲EXPIRED = T.USER ̲PROFILE.PASSWORD ̲EXPIRED*

                                                                  
                                                                  
                                                                  SEC
                                                                  ̲IN
                                                                  ̲A
                                                                  ̲DAY
                                                                  +
                                                                  T.USER
                                                                  ̲PROFILE.PASSWORD
                                                                  ̲AMENDED

         T.TIME ̲EXPIRED LT T.TIME?

         T.KEY ̲BUF.KEY = T.USER ̲PROFILE.PASSWORD ̲REF

         S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (PASSWORD ̲TABLE,T.KEY ̲BUF,ALLMASK,

                                                                 
                                                                 T.SEND
                                                                 ̲BUF)(T.TABLE
                                                                 ̲PASSWORD)

         T.USER ̲PASSWORD NE T.TABLE ̲PASSWORD

         T.REPLY = TRUE

         T.REPLY EQ TRUE?

         T.SIGN = OFF

         SET ̲USER ̲PROFILE ̲SIGN ̲TO (T.SIGN,T.ID ̲CODE)(T.BLOCKED)

         END CHECK ̲PASSWORD






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




   PROCEDURE  CHECK ̲ID ̲CODE (T.ID ̲CODE) (T.REPLY)

   BEGIN

      T.REPLY = FALSE

      T.I = 1

      LOOP

         T.TERMINAL ̲PROFILE.USERS (I) NE T.ID ̲CODE ?

         T.REPLY = TRUE

         T.I = T.I + 1

         T.I EQ MAX ̲USERS ̲PR ̲TP   EXIT

      END LOOP



   END PROCEDURE



4.2.5.6.26 S̲T̲A̲R̲T̲ ̲U̲S̲E̲R̲



4.2.5.6.26.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure sets the profile of the subprocess:

         -   security classification

         -   special handling designator

         -   exercise indication

         -   functional capabilities
             (release, reception, etc.)

         The capability array of the terminal subprocess is
         updated (only for USER,MDCO,MSO subprocess).

         A START ̲USER command is sent to the terminal subprocess
         containing:

         -   VDU offer ids

         -   logical terminal number

         -   current access profile

         -   terminal designator

         -   Current user capability

         -   Current functional capability



4.2.5.6.26.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  START ̲USER(T ̲USER ̲ST:T ̲SUBPROC ̲TYPES)(T.REPLY)
         b)  START ̲USER (R5, R6) (R5)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 5  T ̲USER ̲ST
         R 6  LINK

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

         R 5  REPLY


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

         a 1)T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             T ̲SUBPROC ̲TYPES

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

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

             VAR T.REPLY : BOOLEAN
                 T.SUBPROCESS ̲ATT : SUBPROCESS ̲ATTRIBUTES
                 T.COMMAND ̲Q : QUEUE ̲REFERENCE
                 T.TNO : LOGICAL ̲TERMINAL ̲NUMBER ̲TYPE
                 T.REPLY ̲Q : QUEUE ̲REFERENCE

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

         VAR

                  T.CURRENT:USER ̲CAP : USER ̲FCT ̲CAPABILITY ̲TYPE
                  T.ACTUAL ̲CAP : FCT ̲CAPABILITY ̲TYPE
                  T ̲USER ̲SET : ACCESS ̲PROFILE
                  COUNT : INTEGER
                  FOUND : BOOLEAN
                  T.USER ̲START : USER ̲START ̲ID
                  T.QEL : QEL ̲REFERENCE
                  T.SIZE : INTEGER
                  T.SEND ̲PARAMS : SEND ̲PARAMS
                  T.ACC : ACCESS ̲PROFILES
                  T ̲USER ̲SET ̲LEAST,
                  T ̲USER ̲SET ̲MOST : INTEGER



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

         The procedure is implemented in a main procedure START
         ̲USER and two sub propcedures UPDATE ̲PROCESS ̲TABLE SEND
         ̲START ̲USER, GET ̲USER ̲ACC,SET ̲SUBPROCESS ̲CAPABILITY

         a)  S̲T̲A̲R̲T̲ ̲U̲S̲E̲R̲

             The procedure determines and sets the access profile
             of the terminal subprocess.

         b)  G̲E̲T̲ ̲U̲S̲E̲R̲ ̲A̲C̲C̲

             The procedure returns a part of access profile
             to be set for a Terminal subprocess for a USER,
             classification is set in the main procedure.



         b)  U̲P̲D̲A̲T̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲ ̲T̲A̲B̲L̲E̲

             The procedure calculates the subprocess number
             and the command queue of the terminal subprocess.

         c)  S̲E̲N̲D̲ ̲S̲T̲A̲R̲T̲ ̲U̲S̲E̲R̲

             The procedure sends the command START ̲USER to the
             terminal subprocess.

         d)  S̲E̲T̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲Y̲

             The capability arry of the subprocess to be started
             (USER,MDCO or MSO) is updated ref fig.

             The capability array for the SUPV is statical.…86…1…02…
              …02…  …02…  …02…   …02…   …02…   …02…               …02…                 
                      
         PROCEDURE START ̲USER (T.CAP : FCT ̲CAPABILITY ̲TYPE)(T.REPLY)

         EQUIVALENCE (T.TERMINAL ̲PROFILE,R : TERMINAL ̲PROFILE)

         EQUIVALENCE (T.USER ̲PROFILE, 5 : USER ̲PROFILE)

         T.ACC.LEAST = (R.CLASS LOGAND 5.CLASS)

         T ̲USER ̲SET ̲LEAST = 0, T ̲USER ̲SET ̲MOST = 0

         CASE T.CAP OF

             SUPV?                                               T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲LEAST
                                                                 =
                                                                 SUPV
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲LEAST

                                                                 T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲MOST
                                                                 =
                                                                 SUPV
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲MOST

             MDCO?                                               T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲LEAST
                                                                 =
                                                                 MDCO
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲LEAST

                                                                 T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲MOST
                                                                 =
                                                                 MDCO
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲MOST

             MSO?                                                T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲LEAST
                                                                 =
                                                                 MSO
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲LEAST

                                                                 T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲MOST
                                                                 =
                                                                 MSO
                                                                 ̲ACC
                                                                 ̲CONST
                                                                 ̲MOST

             USER?                                               G̲E̲T̲
                                                                 ̲U̲S̲E̲R̲
                                                                 ̲A̲C̲C̲
                                                                 (R5)
                                                                 (T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲LEAST,T
                                                                 ̲USER
                                                                 ̲SET
                                                                 ̲MOST)

         END CASE


   T.ACC.LEAST = T.ACC.LEAST LOGOR T ̲USER ̲SET ̲LEAST

   T.ACC.MOST = T ̲USER ̲SET ̲MOST

   U̲P̲D̲A̲T̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲ ̲T̲A̲B̲L̲E̲ (T.CAP)(T.COMMAND ̲Q, T.SUBPROCESS
   ̲NO)

   EQUIVALENCE (WRK2, SUB: SUBPROCESS.ATTRIBUTES)

   SUB.PROFILE ̲FLAG = TRUE

   SUB.PROFILE.LEAST = T.ACC.LEAST

   SUB.PROFILE.MOST = T.ACC.MOST

   CHANGE ̲SUBPROCESS ̲ATTRIBUTES (T.SUBPROCESS ̲NO;SUB)

   R.SIGN = ON

   R.CURRENT ̲CAP = T.ACTUAL ̲CAP

   T.KEY ̲BUF,KEY = T.TNO

   U̲P̲D̲A̲T̲E̲ ̲E̲N̲T̲R̲Y̲ (TERMINAL ̲TABLE,T ̲SEND ̲BUF,T.KEY ̲BUF,
                 TEMCO ̲TERM ̲MASK,R.CURRENT ̲CAP)

   S̲E̲T̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲CAPABILITY (T.CAP,R,S)

   S̲E̲N̲D̲ ̲S̲T̲A̲R̲T̲ ̲U̲S̲E̲R̲

   END ̲START ̲USER…86…1…02…  …02…  …02…  …02…   …02…   …02…   …02…               …02…  
                           
   PROCEDURE GET ̲USER ̲ACC (R: TERMINAL ̲PROFILE,
                                       S: USER ̲PROFILE)(T
                                     ̲USER ̲SET ̲LEAST,
                                       T ̲USER ̲SET ̲MOST:
                                     INTEGER

   T ̲USER ̲SET ̲MOST = (R.SH.MOST LOGAND S.SH.MOST)

   T ̲USER ̲SET ̲LEAST = (R.SH.LEAST LOGAND S.SH.LEAST)

   S.EXERCISE EQ FALSE?

   T ̲USER ̲SET ̲MOST = T ̲USER ̲SET ̲MOST LOGOR EXECISE

   T.CURRENT ̲USER ̲CAP = S.USER ̲CAP LOGAND R.USER ̲CAP

   T:CURRENT ̲USER ̲CAP NE RELS?

   T ̲USER ̲SET ̲MOST = T ̲USER ̲SET ̲MOST LOGOR USER:ACC
   ̲RELS ̲CONST

   T.CURRENT ̲USER ̲CAP = NE RECV?

   T ̲USER ̲SET ̲MOST = T ̲USER ̲SET ̲MOST LOGOR USER.ACC
   ̲RECV ̲CONST

   T.CURRENT ̲USER ̲CAP NE PREP?

   T ̲USER ̲SET ̲MOST = T ̲USER ̲SET ̲MOST LOGOR USER.ACC
   ̲PREP ̲CONST

   END GET ̲USER ̲ACC



   PROCEDURE  UPDATE ̲PROCESS ̲TABLE (T.CAP)
                                 (T ̲COMMAND ̲Q: QUEUE ̲REFERENCE,
                                  T.SUBPROCESS ̲NO;
                                  SUBPROCESS ̲INDEX)

   T.COUNT = 0

   MAX ̲COUNT = 4

   FOUND = FALSE

   CASE  T.CAP OF

      USER?       T.SUBPROCESS ̲NO = FIRST ̲VDU ̲NO + T.TNO-1

                T.COMMAND ̲Q = VUS ̲CMDQ + T.TNO

                FOUND = TRUE

      MDCO ?=     LOOP

                  COUNT = COUNT + 1

                MDCO ̲TERMINAL(COUNT) EQ T.TNO? FOUND = TRUE

                  FOUND EQ TRUE?T.COMMAND ̲Q=MDOS ̲CMDQ+COUNT
                              T.SUBPROCESS ̲NO = FIRST ̲MDCO +COUNT
                     -1                                                  
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         ((EXIT

                  COUNT EQ MAX ̲COUNT ?   EXIT

                  END LOOP

      MSO?        LOOP

                  COUNT = COUNT + 1

                MSO ̲TERMINAL (COUNT) EQ T.TNO ?  FOUND = TRUE

                  FOUND EQ TRUE?T.COMMAND ̲Q=MSO ̲CMDQ+COUNT
                              T.SUBPROCESS ̲NO = FIRST ̲MSO ̲NO
                     +                                                   
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         COUNT-1

                COUNT EQ MAX ̲COUNT ?    EXIT

                  END  LOOP

      SUPV?       T.SUBPROCESS ̲NO = SUPV ̲NO
                  T.COMMAND ̲Q = SUPV ̲CMDQ, FOUND = TRUE
   END CASE
   FOUND EQ FALSE ?  SEND ̲GARBLE (INTERNAL)
   SUBPROCESS ̲TABLE (T.SUBPROCESS ̲NO) = T.TNO
   END  UPDATE ̲PROCESS ̲TABLE



PROCEDURE  SEND ̲START ̲USER (T.COMMAND ̲Q:QUEUE ̲REFERENCE)
                            (T.REPLY : BOOLEAN)

BEGIN

   T.COMMAND ̲Q.SUBQUEUE = 0
   T.USER ̲START.CMD ̲SPLIT ̲CTR ̲OFFER ̲ID=T.CMD ̲SPLIT ̲CTR ̲ID

   T.USER ̲START.CMD ̲SPLIT ̲DATA ̲OFFER ̲ID=T.CMD ̲SPLIT ̲DATA ̲ID

   T.USER ̲START.FORMAT ̲SPLIT ̲CTR ̲OFFER ̲ID=FORMAT ̲SPLIT ̲CTR ̲ID

   T.USER ̲START.FORMAT ̲SPLIT ̲DATA ̲OFFER ̲ID=T.FORMAT ̲SPLIT ̲DATA
 ̲ID

   T.USER ̲START.LT ̲NO= T.TNO

   T.USER ̲START.ACC = T.ACC

   T.USER ̲START.CURRENT ̲CAP = T.ACTUAL ̲CAP

   T.USER ̲START.CURRENT ̲USER ̲CAP = T.CURRENT ̲USER ̲CAP

   T.USER ̲START.TD = T.TERMINAL ̲PROFILE.TD

   T.SEND ̲PARAMS.HEADER.INFORMATION ̲TYPE = FALSE…86…1         …02… 
  …02…   …02…   …02…                                                   
   T.SEND ̲PARAMS.CHECKP.STATUS = FALSE

   T.SEND ̲PARAMS.HEADER.MAINTYPE = SSC ̲COMMAND

   T.RESTART ̲MODE EQ TRUE? - T.SEND ̲PARAMS.HEADER ̲SUBTYPE =
 RESTART

   T.SEND ̲PARAMS.HEADER.SUBTYPE = START ̲USER

   RESERVE ̲BUFFER (USER ̲START ̲SIZE, T.REPLY ̲Q)(T.QEL,CC):ERROR
 ̲OK

   ERROR ?   ANALYZE ̲ERROR (CC, 0)

   WRITE ̲BUFFER(T.QEL,T.USER ̲START,USER ̲START ̲SIZE)(T.SIZE,
 CC): ERROR ̲OK

   ERROR ?   ANALYZE ̲ERROR (CC, 0)

   SEND ̲REQUEST(T.SEND ̲PARAMS,T.QEL,T.COMMAND ̲Q,T.REPLY ̲Q)(CC):ERROR
 ̲OK

   ERROR ?   ANALYZE ̲ERROR (CC, 0)

   T ̲TIME = 2

   W̲A̲I̲T̲ ̲T̲I̲M̲E̲ ̲L̲I̲M̲I̲T̲E̲D̲ ̲O̲N̲ ̲Q̲U̲E̲U̲E̲ (T.REPLY ̲Q, T ̲TIME, T.WRK)
                            (T.ATT, T.QEL, T.SUBQ, CC)

   T.REPLY = T.CC

   DISMANTLE (T.QEL) (CC) : ERROR ̲OK

   ERROR ?   ANALYZE ̲ERROR (CC, 0)

END…86…1…02…  …02…  …02…  …02…   …02…   …02…   …02…               …02…                         
      
         PROCEDURE SET ̲SUBPROCESS ̲CAPABILITY                             (T.CAP:
                                                                         FCT
                                                                         ̲CAPABILITY,
                                                                            R:
                                                                            TERMINAL
                                                                            ̲PROFILE,

         CASE T.CAP OF                                                     S:
                                                                           USER
                                                                           ̲PROFILE)

             USER? R.ASSOCIATED ̲PRINTER EQ NUL?

                     SET CAPABILITY (T ̲SEND, T.SUBPROCESS ̲NO,FIRST
                     ̲PRIS ̲CMD ̲Q 1
                                                                           
                                                                           
                                                                           
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER
                                                                           -1,
                                                                           VUS
                                                                           ̲PRIS
                                                                           ̲CMDQ)

                     SET ̲CAPABILITY (T ̲SEND,T.SUBPROCESS ̲NO,FIRST
                     ̲PRIS ̲PRINT ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER-1,
                                                                           VUS
                                                                           ̲PRIS
                                                                           ̲PRINTQ)

                     T.CURRENT ̲USER ̲CAP LOGAND PREP EQ NUL?

                     SET ̲CAPABILITY (T.SEND,T.SUBPROCESS ̲NO,FIRST
                     ̲VUS ̲RELEASE ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           S.ASSOCIATED
                                                                           ̲RELEASE
                                                                           ̲POSITION-1,
                                                                           AS
                                                                           ̲VUS
                                                                           ̲VUS
                                                                           ̲         
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    RELQ

                     SET ̲CAPABILITY (T ̲SEND,T.SUBPROCESS ̲NO,FIRST
                     ̲VUS ̲COMMAND ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           S.ASSOCIATED
                                                                           ̲RELEASE
                                                                           ̲POSITION
                                                                           ̲1,AS
                                                                           ̲VUS
                                                                           ̲VUS
                                                                           ̲        
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   CMDQ)

             MDCO?   R.ASSOCIATED ̲PRINTER EQ NUL?

                     SET ̲CAPABILITY (T ̲SEND, T.SUBPROCESS ̲NO,FIRST
                     ̲PRIS ̲PRINT ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER-1,
                                                                           MDOS
                                                                           ̲PRIS
                                                                           ̲PRINT
                                                                           ̲Q)

                     SET ̲CAPABILITY (T ̲SEND,T.SUBPROCESS ̲NO,FIRST
                     ̲PRIS ̲CMD ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER-1,MDOS
                                                                           ̲PRIS
                                                                           ̲CMDQ)

                     SET ̲CAPABILITY(NUL,T.SUBPROCESS ̲NO,FIRST
                     ̲VUS ̲ANS ̲RES ̲RET ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           T.TNO,
                                                                           MDOS
                                                                           ̲VUS
                                                                           ̲ARR
                                                                           Q)

                     SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,FIRST
                     ̲VUS ̲RELEASE ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           T.TNO,MDOS
                                                                           ̲VUS
                                                                           ̲RELQ)

                     SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,FIRST
                     ̲VUS ̲RECEIVE ̲Q +
                                                                           
                                                                           
                                                                           
                                                                           T.TNO,
                                                                           MDOS
                                                                           ̲VUS
                                                                           ̲REC
                                                                           Q)
                                                                           …86…1…02…
                                                                           
                                                                           …02…
                                                                           
                                                                           …02…
                                                                           
                                                                           …02…
                                                                           
                                                                           
                                                                           …02…
                                                                           
                                                                           
                                                                           …02…
                                                                           
                                                                           
                                                                           …02…
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           …02…
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
         MSO?    R.ASSOCIATED ̲PRINTER EQ NUL?

                 SET ̲CAPABILITY (T ̲SEND,T.SUBPROCESS ̲NO,FIRST
                 ̲PRIS ̲PRINT ̲Q +
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER-1,MDOS
                                                                           ̲PRIS
                                                                           ̲PRINTQ)

                 SET ̲CAPABILITY (T ̲SEND,T.SUBPROCESS ̲NO,FIRST
                 ̲PRIS ̲CMDQ +
                                                                           R.ASSOCIATED
                                                                           ̲PRINTER-1,MSOS
                                                                           ̲PRIS
                                                                           ̲CMDQ)

                 SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,FIRST ̲VUS
                 ̲ANS ̲RES ̲RET ̲Q +
                                                                           T.TNO,MSOS
                                                                           ̲VUS
                                                                           ̲ARRQ)

                 SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,FIRST ̲VUS
                 ̲RELEASE ̲Q +
                                                                           T.TNO,MSOS
                                                                           ̲VUS
                                                                           ̲RELQ)

                 SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,FIRST ̲VUS
                 ̲RECEIVE ̲Q +
                                                                           T.TNO,MSOS
                                                                           ̲VUS
                                                                           ̲RECQ)

         END CASE

         END SET ̲SUBPROCESS ̲CAPABILITY


4.2.5.6.27 R̲E̲A̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲L̲I̲N̲E̲



4.2.5.6.27.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure reads the input entered in the system
         line.

         The types of input are:

         -   ID CODE, PASSWORD
         -   WARNING CODE
         -   SION
         -   SIOF
         -   SUPV
         -   MDCO
         -   MSOS
         -   USER
         -   ASSG

         The first three are not displayed and subsequent to
         the input of these the VDU-memory containing the entered
         data is cleared..



4.2.5.6.27.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  READ ̲SYSTEM ̲LINE (NUMBER ̲OF ̲INPUT:1..2,
                               SIZE ̲ONE : 1..10,
                               SIZE ̲TWO : 0..10,
                               (BUF ̲ONE, BUF ̲TWO :
                               ARRAY (1..10) OF CHAR

         b)  READ ̲SYSTEM ̲LINE (R0, R1, R2, R3, R4, R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R 0  NUMBER ̲OF ̲INPUT
         R 1  SIZE ̲ONE


         R 2  SIZE ̲TWO
         R 4  BUF ̲ONE       (kept)
         R 5  BUF ̲TWO       (kept)
         R 6  LINK

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

         None


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

         a 1)T̲y̲p̲e̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

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

             NUMBER ̲OF ̲INPUT,
             SIZE ̲ONE,
             SIZE ̲TWO,
             BUF ̲ONE
             BUF ̲TWO : I/F data
             BYTE ̲SIZE    DBD.IOC

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

             T.BLE        (m)
             T.CLEAR ̲TEXT
             T.T ̲SYSTEM

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

             T ̲COUNT
             COUNT


PROCEDURE  READ ̲SYSTEM ̲LINE (NUMBER ̲OF ̲INPUT : 1..2
                           SIZE ̲ONE  :  1..10
                           SIZE ̲TWO  :  0..10
                          (BUF ̲ONE,
                           BUF ̲TWO : ARRAY(1..10) OF CHAR)

T.BLE.ADDRESS = T.IN ̲BUF
CASE  FIELDS ̲INPUT (T.SYSTEM ̲SPLIT, T.BLE, T.SYSTEM ̲FIELD(1),
 1)
                 (BYTES ̲TRANSFERRED, T.EMT ̲SYS ̲FIELD,CC):ERROR
                 ̲OK
   ERROR ?   ANALYZE ̲ERROR (CC, 0)
END CASE
T.SUPPRESSION EQ FALSE ?
BYTE ̲SIZE = T.CLEAR ̲TEXT (2)
T.BLE BYTE ̲SIZE = BYTE ̲SIZE
T.BLE.ADDRESS = T.CLEAR ̲TEXT
CASE  FIELDS ̲OUT (T.SYSTEM ̲SPLIT, T.SYSTEM ̲FIELD (1), T.BLE,
 1,
                                          BYTE ̲SIZE)(CC):ERROR
                 ̲OK
   ERROR ?   ANALYZE ̲ERROR (CC, 0)
END CASE
CASE CAHNGE ̲FIELD ̲ATTR (T.SYSTEM ̲SPLIT,T.SYSTEM ̲DIELD (1),
                     VDU ̲NON ̲ATTR)(CC):ERROR ̲OK
   ERROR? CASE ANALYZE ̲ERROR (CC,1,VDU ̲SPLIT ̲FAILED)
         VDU ̲SPLIT ̲FAILED? - REPORT ̲ERROR
         END CASE
END CASE
COUNT = T.OFFSET + SIZE ̲ONE
T ̲COUNT = COUNT
LOOP
   T ̲COUNT = T.COUNT-1
   BUF ̲ONE (SIZE ̲ONE) = T.IN ̲BUF (T.COUNT)
   SIZE ̲ONE = SIZE ̲ONE - 1
   SIZE ̲ONE EQ 0 ?   EXIT
LOOP
NUMBER ̲OF ̲INPUTS EQ 1 ?
COUNT = COUNT + SIZE ̲TWO
LOOP
   COUNT = COUNT -1
   BUF ̲TWO (SIZE ̲TWO) = T.IN ̲BUF (COUNT)
   SIZE ̲TWO = SIZE ̲TWO-1
   SIZE ̲TWO EQ 0 ?   EXIT
END LOOP

END READ ̲SYSTEM ̲LINE



4.2.5.6.28   S̲E̲T̲ ̲U̲S̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲S̲I̲G̲N̲ ̲T̲O̲



4.2.5.6.28.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure changes the SIGN field in a user profile.



4.2.5.6.28.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  SET ̲USER ̲PROFILE ̲SIGN ̲TO (T.SIGN: SWITCH ̲TYPE,
                        T.ID ̲CODE: USER ̲ID)(T.BLOCKED: BOOLEAN)

         b)  SET ̲USER ̲PROFILE ̲SIGN ̲TO (R4, R5, R6)(R5)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6  link

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

         R5  Value of BLOCKED field



4.2.5.6.28.3 D̲a̲t̲a̲

         VAR T.SIGN: SWITCH ̲TYPE
             T.ID ̲CODE: USER ̲ID
             T.BLOCKED: BOOLEAN
             T.KEY ̲BUF: TMS ̲PARAMS
             T.USER ̲PROFILE: USER ̲PROFILE





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

         PROCEDURE SET ̲USER ̲PROFILE ̲SIGN ̲TO (T.SIGN:SWITCH ̲TYPE,
                                            T.ID ̲CODE: USER
         ̲ID
                                            (T.BLOCKED: BOOLEAN
         BEGIN

         T.BLOCKED = TRUE

         LOOP

             LOCK ̲TABLE (USER ̲TABLE)(CC)

             CC EQ OK?   EXIT

         END LOOP

         T.KEY ̲BUF.KEY = T.ID ̲CODE

         S̲E̲A̲R̲C̲H̲ ̲E̲N̲T̲R̲Y̲ (USER ̲TABLE, T.KEY ̲BUF, ALL, T.SEND ̲BUF)
                      (T.USER ̲PROFILE)

         T.USER ̲PROFILE.LOCK EQ TRUE?

         T.USER ̲PROFILE.SIGN = T.SIGN

         T.KEY ̲BUF.KEY = T.ID ̲CODE

         U̲P̲D̲A̲T̲E̲ ̲E̲N̲T̲R̲Y̲ (USER ̲TABLE,T.SEND ̲BUF, T.KEY ̲BUF,
                      SIGNMASK, T.SIGN)

         UNLOCK ̲TABLE (USER ̲TABLE (CC))

         T.BLOCKED = FALSE

         END PROCEDURE



4.2.5.6.29   C̲R̲E̲A̲T̲E̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲



4.2.5.6.29.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure creates the connections to a VDU.



4.2.5.6.29.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  CREATE ̲CONNECTION

         b)  CREATE ̲CONNECTION (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 Link

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

         None



4.2.5.6.29.3 D̲A̲T̲A̲

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

         S̲S̲C̲ ̲C̲O̲M̲M̲O̲N̲

         LTUX ̲CON = ARRAY (1..MAX ̲LTUX) OF FDCB ̲INDEX

         T̲E̲M̲C̲O̲ ̲C̲o̲m̲m̲o̲n̲

         VAR T.KEY ̲BUF: SINGLE ̲PARAMS
             T.TERMINAL ̲PROF: TERMINAL ̲PROFILE
             T.VDU ̲CONNECTION: FDCB ̲INDEX
             T.SYSTEM ̲CTR ̲FDCB: FDCB ̲INDEX
             T.SYSTEM ̲DATA ̲FDCE: FDCB ̲INDEX
             T.FORMT ̲CTR ̲FDCB: FDCB ̲INDEX
             T.FORMAT ̲DATA ̲FDCB: FDCB ̲INDEX
             T.CMD ̲CTR ̲FDCB: FDCB ̲INDEX
             T.CMD ̲DATA ̲FDCB: FDCB ̲INDEX
             T.LTUX ̲LINE ̲RECORD : LTUX ̲LINE ̲REC

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

         VAR T.LINE ̲REC: NEW ̲TMS ̲DEVICE (TMS)
             T.I: INTEGER…86…1…02…  …02…  …02…  …02…   …02…   …02…   …02…               …02…   
                                        
         PROCEDURE CREATE ̲CONNECTIONS

         T.REPLY = EXECUTION ̲OK

         SDA = T.LTUX ̲LINE ̲REC.NO - ((T.LTUX ̲LINE ̲REC.LTUX ̲NO
         - 1)SHIFTLL 2)

         T.DEVICE ̲REC.SDA = SDA - 1

         T.DEVICE ̲REC.V ̲SDID.PROFILE = TERMINAL ̲P

         T.DEVICE ̲REC.U ̲SDID.LOGI CAL ̲NO = T.TNO

         T.DEVICE ̲REC.PROTOCOL ̲ID = LTUX ̲VDU ̲PROTOCOL

         T.DEVICE ̲REC.SD ̲TYPE = CONTROLLER

         T.DEVICE ̲REC.ACCESS ̲LEVEL = NIL

         T.DEVICE ̲REC.SELECT ̲BY ̲TMS = NIL

         T.DEVICE ̲REC.PARAMS = VDU ̲LTUX ̲PARAMS ̲D
         S̲E̲T̲ ̲D̲A̲M̲O̲S̲ ̲L̲I̲N̲E̲ ̲P̲R̲O̲F̲I̲L̲E̲
         CASE CREATE ̲SUBDEVICE (LTUX ̲CON (T.LTUX ̲LINE ̲RECORD,
                 T.DEVICE ̲REC,DEVICE ̲SE)(T.VDU ̲CONNECTION,cc)

             ERROR? CASE ANALYZE ̲ERROR (CC,1,HW)

                     HW? - REPORT ̲ERROR (LTUX ̲VDU ̲CC,T.DEVICE
                     ̲REC)

                                                                 
                                                                 
                                                                 T.REPLY
                                                                 =
                                                                 EXECUTION
                                                                 ̲NOT
                                                                 ̲OK

             OK? - C̲R̲E̲A̲T̲E̲ ̲V̲D̲U̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲S̲ (T.VDU ̲CONNECTION,T.LINE
             ̲REC,
                                                                 T.TNO,TERMINAL
                                                                 ̲P)(T.SYS
                                                                 ̲DATA
                                                                 ̲FDCB,
                                                                 T.REPLY)

         END CASE

         T.REPLY NE EXECUTION ̲OK?

         O̲F̲F̲E̲R̲ ̲V̲D̲U̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲S̲ (T.CMD ̲CTR ̲FDCB,USER ̲OFFERS,
                 TEMCO ̲USER ̲ACC) (T:CMD ̲SPLIT ̲CTR ̲CONNECTION,T.REPLY)

         T.REPLY NE EXECUTION ̲OK?

         FORMAT ̲INIT ̲TERMINAL (T.SYS ̲SPLIT,TMS ̲ID,T.SYS ̲CTR
         ̲FDCB,
                                                                   T.SYS
                                                                   ̲DATA
                                                                   ̲FDCB)(CC):
                                                                   ERROR
                                                                   ̲OK

         FORMAT ̲INIT ̲TERMINAL (T.FORMAT ̲SPLIT,TMS ̲ID,T.FORMAT
         ̲CTR.FDCB,
                                                                   T.FORMAT
                                                                   ̲DATA
                                                                   ̲FDCB)(CC):
                                                                   ERROR
                                                                   ̲OK

         END CREATE ̲CONNECTION



4.2.5.6.30   S̲T̲O̲P̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲



4.2.5.6.30.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             The procedure sends a stop command to
             the subprocess running the VDU and resets
             the:

             -   subprocess acpability array ref fig
             -   subprocess-table used by the END
             -   subprocess accessprofile



4.2.5.6.30.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

             a)  STOP ̲TERMINAL ̲SUBPROCESS (COMMAND:USER
                                          ̲CMDS
                                                                     (T.CAP:FCT
                                                                     ̲CAPABILITY,
                                                                     R:TERMINAL
                                                                     ̲PROFILE
                                                                     S:USER
                                                                     ̲PROFILE)

             b)  STOP ̲TERMINAL ̲SUBPROCESS                            (R5,
                                                                     R6

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R5      COMMAND
             R6      LINK

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

             None



4.2.5.6.30.3 D̲a̲t̲a̲

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

             SUBPROCESS ̲ATTRIBUTES: CSF GENERAL
             MDOS ̲SUBPROCESS ̲SINGLE ̲CAP,
             MSOS ̲SUBPROCESS ̲SINGLE ̲CAP,
             VUS ̲SUBPROCESS ̲SINGLE ̲CAP   : SSC ̲APP
             ̲CONF
             PROCESS ̲TYPE            : SSC ̲GENERAL…86…1…02…
                                      …02…  …02…  …02…   …02…   …02…  
                                     …02…             
                                      …02…    …02…        
                                                  
                                        
             S̲S̲C̲ ̲C̲O̲M̲M̲O̲N̲

             SUBPROCESS ̲TABLE

             T̲E̲M̲C̲O̲ ̲C̲O̲M̲M̲O̲N̲

             VAR
                 T.CAP : FCT ̲CAPABILITY ̲TYPE

                 The present subprocess type running
                 the VDU is identified hereby

                 T.SUBPROCESS ̲NO : PROCESS ̲TYPE

                 The number of the subprocess running
                 the VDU.



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

             The procedure is implemented in a main
             procedure using the subprocedure RESET
             ̲SUBPROCEDURE ̲CAPABILITY

             The common procedure SEND ̲COMMAND is used
             for sending the stop command to the teminal
             subprocess.

             a)  S̲T̲O̲P̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲

                 Sendsa stop command to the terminal
                 subprocess and restes the:

                 -   subprocess capability (b)
                 -   subprocess access profile
                 -   subprocess table

             b)  R̲E̲S̲E̲T̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲Y̲

                 Reset the capability array of the
                 subprocess according to fig.







   PROCEDURE STOP ̲TERMINAL ̲SUBPROCESS (COMMAND)

   S̲E̲N̲D̲ ̲C̲O̲M̲M̲A̲N̲D̲ (COMMAND)


   R̲E̲S̲E̲T̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲Y̲ (T.CAP)

   SUBPROCESS ̲TABLE (T.SUBPROCESS ̲NO) = NIL

   EQUIVALENCE (WRH2, SUB: SUBPROCESS ̲ATTRIBUTES)

   SUB.PROFILE.FLAG = TRUE

   SUB.PROFILE.LEAST = NUL

   SUB.PROFILE.MOST = NUL

   CHANGE ̲SUBPROCESS ̲ATTRIBUTE (T.SUBPROCESS ̲NO,SUB)

   END STOP TERMINAL ̲SUBPROCESS



   PROCEDURE RESET ̲SUBPROCESS ̲CAPABILITY (T.CAP.FCT
   ̲CAPABILITY ̲TYPE)

   CASE T.CAP OF

      USER?  SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,VUS
             ̲PRIS ̲CMDQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,VUS
             ̲PRIS ̲PRINTQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,AS
             ̲VUS ̲VUS ̲RELQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,AS
             ̲VUS ̲VUS ̲CMDQ)

      MDCO? SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MDOS
      ̲PRIS ̲PRINTQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MDOS
             ̲PRIS ̲CMDQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MDOS
             ̲VUS ̲ARRQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MDOS
             ̲VUS ̲RELQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MDOS
             ̲VUS ̲RECQ)

      MSO?   SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MSOS
             ̲PRIS ̲PRINTQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MSOS
             ̲PRIS ̲CMDQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MSOS
             ̲VUS ̲ARRQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL,MSOS
             ̲VUS ̲RELQ)

             SET ̲CAPABILITY (NUL,T.SUBPROCESS ̲NO,NUL.MSOS
             ̲VUS ̲RECQ)

   END CASE

   END RESET ̲SUBPROCESS ̲CAPABILITY


4.2.5.6.31   B̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲



4.2.5.6.21.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 user profile and terminal profile
             are updated.



4.2.5.6.31.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

             a)  BLOCK ̲PASSIVE ̲TERMINAL

             b)  BLOCK ̲PASSIVE ̲TERMINAL (R6)

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R6      LINK

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

             None



4.2.5.6.31.3 D̲a̲t̲a̲

             T.TERMINAL ̲PROFILE.KEY ̲STATUS,
             T.TERMINAL ̲PROFILE.CURRENT ̲CAP
             T.TERMINAL ̲PROFILE.BLOCKED,

             T.TERMINAL ̲PROFILE.SIGN,
             T.SEND ̲BUF
             T.KEY ̲BUF :                  TEMCO COMMON

             TERMINAL ̲TABLE          DBD.TMP ̲CONF


   PROCEDURE BLOCK ̲PASSIVE ̲TERMINAL

   C̲U̲T̲ ̲C̲O̲N̲N̲E̲C̲T̲I̲O̲N̲

   T.TERMINAL ̲PROFILE.KEY ̲STATUS = OFF

   T.TERMINAL ̲PROFILE.BLOCKED = TRUE

   T.TERMINAL ̲PROFILE.CURRENT ̲CAP = NUL

   T.TERMINAL ̲PROFILE.SIGN = OFF

   T.KEY ̲BUF.KEY = T.TNO

   U̲P̲D̲A̲T̲E̲ ̲E̲N̲T̲R̲Y̲ (TERMINAL ̲TABLE,T.SEND ̲BUF,T.KEY ̲BUF,

                 TEM ̲TERM ̲MASK,T.TERMINAL ̲PROFILE.CURRENT
                 ̲CAP)

   END BLOCK ̲PASSIVE ̲TERMINAL



4.2.5.6.32   S̲T̲O̲P̲ ̲A̲C̲T̲I̲V̲E̲ ̲S̲U̲P̲V̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲



4.2.5.6.32.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

             As the supervisor terminal never is blocked
             only a "stop user" or "block term" are
             sent to the subprocess running the supervisor
             terminal. Hereafter the terminal profile
             and user profile is updated a the K2 format
             is displayed.



4.2.5.6.32.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

             a)  STOP ̲ACTIVE ̲TERMINAL

             b)  STOP ̲ACTIVE ̲TERMINAL (R6)

             C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

             R6      LINK

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

             None



4.2.5.6.32.3 D̲a̲t̲a̲

             T.SIGN,
             T.KEY ̲BUF,
             T.TERMINAL ̲PROFILE.CURRENT ̲CAP,
             T.TERMINAL ̲PROFILE.SIGN
             TEM ̲TERM ̲MASK
             COMMAND:                     TEMCO ̲COMMON



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



   PROCEDURE STOP ̲ACTIVE ̲SUPV ̲TERMINAL

   T.ACTUAL ̲CAP EQ SUPV? COMMAND = STOP ̲USER

   COMMAND = BOLOCK ̲TERM

   S̲T̲O̲P̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ (COMMAND)

   T.TERMINAL ̲PROFILE.CURRENT ̲CAP = NUL

   T.TERMINAL ̲PROFILE.SIGN = OFF

   T.KEY ̲BUF.KEY = T.TNO

   UPDATE ̲ENTRY (TERMINAL ̲TABLE,T.SEND ̲BUF,T.KEY ̲BUF,

                 TEM ̲TERM ̲MASK,T.TERMINAL ̲PROFILE.CURRENT
                 ̲CAP)

   T.SIGN = OFF

   S̲E̲T̲ ̲U̲S̲E̲R̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲S̲I̲G̲N̲ ̲T̲O̲ (T.SIGN,T.USER ̲PROFILE.USER
   ̲ID)

   D̲I̲S̲P̲L̲A̲Y̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲F̲O̲R̲M̲A̲T̲ ̲(K2)

   END STOP ̲ACTIVE ̲SUPV ̲TERMINAL




     T.I = -1

     LOOP

         T.I = T.I+1

         T.LINE ̲REC.SDA = I

         T.I EQ 0,2,4? - T.LINE ̲REC.PROTOCOL ̲ID=VDU ̲CONTROL
         ̲SPLIT

         T.LINE ̲REC, PROTOCOL ̲ID = VDU ̲DATA ̲SPLIT ̲PLIT


         CREATE ̲SUBDEVICE (T.CFH ̲CON, T.LINE ̲REC, DEVICE
         ̲SE)
                            ((T.CONN, I.CC): ERROR ̲OK

         ERROR?  ANALYSE ̲ERROR (T.CC,0)

         CASE T.I OF

             0? T.SYSTEM ̲CONTR ̲FDCB = T.CONN

             1? T.SYSTEM ̲DATA ̲FDCB =  T.CONN

             2? T.CMD ̲CONTR ̲FDCB = T. CONN

             3? T.CMD ̲DATA ̲FDCB = T.CONN

             4? T.FORMAT ̲CONTR ̲FDCB = T.CONN

             5? T.FORMAT ̲DATA ̲FDCB = T.CONN

         END CASE

         T.I EQ %   EXIT

     END LOOP

     END PROCEDURE



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



4.2.5.7.1    C̲F̲H̲ ̲-̲ ̲T̲E̲M̲C̲O̲

         TEMCO receives the following commands from CFH:

         -   SET ̲ACCESS ̲PROFILES
         -   START ̲COR
         -   CLOSE ̲INITIAL
         -   CLOSE ̲FINAL
         -   LINE ̲ERROR
         -   START ̲SUPV
         -   STOP ̲SUPV

         S̲E̲T̲ ̲A̲C̲C̲E̲S̲S̲ ̲P̲R̲O̲F̲I̲L̲E̲S̲

         TEMCO sets the access profiles of the terminal subprocess
         queues and terminal subprocess.

         S̲T̲A̲R̲T̲ ̲C̲O̲R̲

         The execution of the TEMCO program starts.

         C̲L̲O̲S̲E̲ ̲I̲N̲I̲T̲I̲A̲L̲

         Specifies that an ordered close-down will take place.

         C̲L̲O̲S̲E̲ ̲F̲I̲N̲A̲L̲

         The execution of an ordered close-down has begun.

         L̲I̲N̲E̲ ̲E̲R̲R̲O̲R̲

         Indicates a hardware errror.

         S̲T̲A̲R̲T̲ ̲S̲U̲P̲V̲

         Specifies that only the supervisor is allowed to sign
         on.

         S̲T̲O̲P̲ ̲S̲U̲P̲V̲

         Cancels the previous START ̲SUPV command.


4.2.5.7.2    E̲H̲D̲-̲T̲E̲M̲C̲O̲

         TEMCO receives the following commands from EHD:

         -   UNBLOCK
         -   BLOCK
         -   TERMINAL ̲PROFILE ̲CHANGE
         -   S.INTERROGATION
         -   S.WARNING
         -   S.BOTH
         -   SYSTEM ̲KEY
         -   KEY ̲OFF
         -   KEY ̲ON

         U̲N̲B̲L̲O̲C̲K̲

         Corresponds to the supervisor command UNBLOCK ̲TERMINAL.

         B̲L̲O̲C̲K̲

         Corresponds to the supervisor command BLOCK ̲TERMINAL.

         T̲E̲R̲M̲I̲N̲A̲L̲ ̲P̲R̲O̲F̲I̲L̲E̲ ̲C̲H̲A̲N̲G̲E̲

         Corresponds to the supervisor command TERMINAL ̲PROFILE
         ̲CHANGE.

         S̲.̲W̲A̲R̲N̲I̲N̲G̲

         Corresponds to the MMON command S.WARNING.

         S̲.̲I̲N̲T̲E̲R̲R̲O̲G̲A̲T̲I̲O̲N̲

         Corresponds to the MMON command S.INTERROGATION.


         S̲.̲B̲O̲T̲H̲

         Corresponds to the MMON command S.INTERROGATION.

         S̲Y̲S̲T̲E̲M̲ ̲K̲E̲Y̲

         Indicates that the system key has been depressed.

         K̲E̲Y̲ ̲O̲F̲F̲

         Indicates that the security key has been turned to
         the off position.

         K̲E̲Y̲ ̲O̲N̲

         Indicates that the security key has been turned to
         the on position.