*COMDECK,UCB$COM
#     CIO DEFS                                                         #
#                                                                      #
      DEF   CIOREAD      #O"010"#;
      DEF   CIOWRITE     #O"014"#;
      DEF   CIOWRITER    #O"024"#;
      DEF   CIOWRITEF    #O"034"#;
      DEF   CIOREWIND    #O"050"#;
      DEF   CIORETURN    #O"070"#;
      DEF   CIOPARERR    #O"02"#; 
      DEF   CIODSKFULL   #O"01"#; 
      DEF   CIOOTHERR    #O"11"#; 
#                                                                      #
#     GENERAL DEFINITIONS.                                             #
#                                                                      #
#                                                                      #
  
  
# 
      UCM STATE 
# 
      STATUS UCMSTATE NULL, 
                      UCM$IDLE,        # WAITING FOR JOB               #
                      UCM$WTVEJ,       # WAITING FOR VEJ TO COMPLETE   #
                      UCM$GO,          # JOB ACTIVE                    #
                      UCM$WTID,        # DEVICE NOTREADY,JOB NOT ACTIVE#
                      UCM$WTGO,        # DEVICE NOTREADY,JOB ACTIVE    #
                      UCM$STOP,        # DEVICE IS STOPPED             #
                      UCM$ABTBY,       # ABORT BY-PASS STATE           #
                      UCM$ABTIM,       # ABORT IMMEDIATE STATE         #
                      UCM$ERROR;       # UCM ERROR STATE               #
  
  
# 
      UCM INPUT 
# 
  
      STATUS UCMINPUT NULL, 
                      GOUCM,           # GO COMMAND FROM THE TERMINAL  #
                      STOPENDUCM,      # STOP,CR,END COMMAND           #
                      RESUMEUCM,       # RESUME COMMAND                #
                      ABORTUCM,        # ABORT COMMAND                 #
                      IFCJOBUCM,       # IFC/JOB SM                    #
                      EOSUCM,          # IFC/STPD/RC=END OF STREAM     #
                      CREMTUCM,        # IFC/STPD/RC=CR EMPTY          #
                      DSKERRUCM,       # IFC/STPD/RC=DISK ERROR        #
                      CRERRUCM,        # IFC/STPD/RC=CR ERROR          #
                      IFCENDUCM,       # IFC/END                       #
                      IFCEOJUCM,       # IFC/EOJ                       #
                      IFCABTUCM,       # IFC/ABORT                     #
                      BADJOBUCM,       # BAD JOB/USER CARD,INPUT Q FULL#
                      GOODJOBUCM,      # JOB CARD OK                   #
                      INTRPTUCM,       # BATCH INTERRUPT               #
                      ENDCONUCM,       # END COMMAND (200UT ONLY)      #
                      CONCBUCM,        # CONNECTION BROKEN             #
                      QFULLUCM,        # INPUT QUEUE FULL              #
                      IDLEDOWNUCM,               # IDLE DOWN           #
                      LASTUCM;
  
  
# 
      UPLINE CONTROL BLOCK - UCB
            USE - MAINTAINS INFORMATION ABOUT A REMOTE CARD READER
                  WHILE ACTIVE
  
                   JOB NOT ACTIVE = DEV$MINSIZE 
                   JOB ACTIVE = UCBSIZE 
                                                                       #
# 
      NOTE - THIS BASED ARRAY AND COMMON BLOCK IS USED BY SETACN COMPASS
             ROUTINE. ANY CHANGES HERE AFFECTS THE CODE IN SETACN 
# 
      COMMON UCB$COM; 
      BEGIN # UCB$COM # 
      BASED ARRAY UCB [1:1] S(1); 
      ITEM
        UCB$COMPLETE    B (0,0,1),               # EVENT COMPLET       #
        UCB$INPTYPE     U (0,6,6),               # INPUT TYPE          #
        UCB$TIME        U (0,12,12),             # UCM TIMMER          #
        UCB$EVENT       U (0,24,18),             # EVENT ADDRESS       #
        UCB$LINK        U (0,42,18),             # RETURN ADDRESS      #
        UCB$TERMNAME    C (1,0,7),               # TERMINAL NAME       #
        UCB$STPEND      B (1,42,1),              # STOP,END FLAG       #
        UCB$INTRPT      B (1,43,1),              # BATCH INTERRUPT FLAG#
        UCB$FILEACT     B (1,44,1),              # FILE ACTIVE         #
        UCB$AUTOGO      B (1,46,1),              # AUTO GO FLAG        #
        UCB$RIC         U (1,46,1), 
        UCB$BUFFER      U (1,48,12),             # UCM SUP MSG BUFFER  #
        UCB$WORD2       I (2,0,60),              # THIRD WORD OF UCB   #
        UCB$CURINPUT    U (2,0,6),               # CURRENT INPUT TYPE  #
        UCB$CURSTATE    U (2,6,6),               # CURRENT STATE       #
        UCB$CURACTN     U (2,12,6),              # CURRENT ACTION      #
        UCB$MESSAGE     U (2,18,6),              # CONSOLE MESSAGE TYPE#
        UCB$BUFSIZE     U (2,30,12),             # UCB SIZE            #
        UCB$DISKERR     U (2,48,12),             # DISK ERROR FIELD    #
        UCB$DSKCODE     U (2,57,3),              # DISK ERROR CODE     #
#  VEJ CALL PARAMETERS                       #
        UCB$VEJ0        I (3,0,60),              # VEJ FET WORD ZERO   #
        UCB$FETLFN      C (3,0,7),               # FILE NAME           #
        UCB$JOBNAME     C (3,0,7),
        UCB$FETJSN      C (3,0,04),   #  JOB SEQUENCE NUMBER IN FET    #
        UCB$JSN         C (3,0,04),   #    JOB SEQUENCE NUMBER         #
        UCB$ZERO        U (3,24,18),       # ZERO FIELD                #
        UCB$VEJERR      S:VEJERR (3,42,6),       # VEJ ERROR FIELD     #
        UCB$FETSTAT     U (3,42,18),
        UCB$FETCB       B (3,59,1),              # PP CALL COMPLETED #
        UCB$VEJ1        I (4,0,60),              # VEJ 2ND WORD        #
        UCB$SP          B (4,20,1) ,             # SECURITY PROCSSING  #
        UCB$VEJTID      I (4,36,24),             # TERMINAL ID FIELD   #
        UCB$VEJ2        I (5,0,60),              # VEJ 3RD WORD        #
        UCB$VEJLWA      U (5,42,18),             # LAST WORD ADDRESS   #
        UCB$VEJ3        I (6,0,60),              # VEJ 4TH WORD        #
        UCB$VEJFWA      U (6,42,18),             # FIRST WORD ADDRESS  #
        UCB$VEJ4        I (7,0,60),              # VEJ 5TH WORD        #
        UCB$FETFNT      U (7,0,12),              # FNT ORDINAL         #
        UCB$AL          U (7,21,3) ,             # ACCESS  LEVEL       #
        UCB$VEJ5        I (8,0,60),              #                     #
        UCB$VEJFAM      C (8,0,7),               # FAMILY NAME         #
        UCB$VEJ6        I (9,0,60),              #                     #
        UCB$VEJUSR      C (9,0,7),               # USER NAME           #
# DSP CALL PARAMETERS                                                  #
        UCB$DSP0        I (3,0,60),              # DSP WORD 0          #
        UCB$DSPERR      U (3,42,6),              # DSP ERROR FIELD     #
        UCB$DSP1        I (4,0,60),              # DSP WORD 1          #
        UCB$DSPTF            U (4,0,12),   # TERMINATION FLAG          #
        UCB$TFDISB           B (4,0,01),   # DISABLE VALIDATION        #
        UCB$DSPABT      B (4,15,1),              # DSP ABORT INPUT     #
        UCB$DSPINP      B (4,16,1),              # DISPOSE TO INPUT    #
        UCB$DSPMNE      C (4,24,2),              # DISPOSITION MNEMONIC#
        UCB$DSPACC      B (4,43,1),              # ACCOUNT FLAG        #
        UCB$DSPNDM      B (4,47,1),              # NO DAYFILE MSG      #
        UCB$DSPDC       B (4,55,1),              # DISPOSITION CODE FLG#
        UCB$DSPCS       B (4,58,1),              # DSP TO CENTRAL SITE #
        UCB$DSPFLAGS    U (4,42,18),             # DSP FLAG FIELD      #
        UCB$DSP2        I (5,0,60),              # DSP WORD 2          #
        UCB$DSP3        I (6,0,60),              # DSP WORD 3          #
        UCB$DSP4        I (7,0,60),              # DSP WORD 4          #
        UCB$DSPMSG     U (7,24,12),         # REASON FOR DSP ABORT# 
        UCB$DSPFNT      U (7,48,12),             # DSP FNT ORDINAL     #
        UCB$DSP5        I (8,0,60),              # DSP WORD 5          #
        UCB$DSPCARDS    U (8,36,24),             # CARD COUNT          #
        UCB$DSP6        I (9,0,60),              # DSP WORD 6          #
        UCB$DSPTNAME    C (9,0,7);               # TERMINAL NAME       #
      END   # UCB$COM # 
