COMBHFC 
COMMON
  
#     COMBHFC - M860 HARDWARE FUNCTION CODES.                         # 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
      BEGIN  # COMBHFC #
  
# 
***   COMBHFC - M860 HARDWARE FUNCTION CODES. 
* 
*     COMBHFC DEFINES ALL THE FUNCTION CODES AND SUB-CODES
*     NECESSARY TO INTERFACE WITH THE M860 HARDWARE.
# 
  
# 
*     DRIVER-INITIATED HARDWARE FUNCTION CODE DEFINITIONS.
# 
  
      DEF HFC$ACCR   #X"0100"#;      # ACQUIRE CARTRIDGE #
      DEF HFC$STCROV #X"0200"#;      # STORE CARTRIDGE IN OLD CELL
                                       AND VERIFY CSN # 
      DEF HFC$STCRNV #X"0201"#;      # STORE CARTRIDGE IN NEW CELL
                                       AND VERIFY CSN # 
      DEF HFC$STCRNN #X"0202"#;      # STORE CARTRIDGE IN NEW CELL
                                       WITH NO VERIFY OF CSN #
      DEF HFC$STCRNF #X"0204"#;      # STORE CARTRIDGE IN NEW CELL
                                       AND VERIFY CSN AND UNIT #
      DEF HFC$RCSNS0 #X"0300"#;      # READ CSN FROM STRIPE 0 # 
      DEF HFC$RCSNS9 #X"0309"#;      # READ CSN FROM STRIPE 9 # 
                                     # LAST SINGLE STRIPE READ #
      DEF HFC$RCSNF0 #X"0310"#;      # READ CSN FROM STRIPE 0 
                                       AND RETURN FULL STRIPE # 
      DEF HFC$RCSNF9 #X"0319"#;      # READ CSN FROM STRIPE 9 
                                       AND RETURN FULL STRIPE # 
                                     # LAST DOUBLE STRIPE READ #
      DEF HFC$RCLBP0 #X"0400"#;      # READ CARTRIDGE LABEL 
                                       FROM STRIPES 20 AND 21 # 
      DEF HFC$RCLBP9 #X"0409"#;      # READ CARTRIDGE LABEL 
                                       FROM STRIPES 38 AND 39 # 
                                     # LAST CARTRIDGE LABEL 
                                          STRIPE PAIR # 
      DEF HFC$WRTLBL #X"0500"#;      # WRITE CARTRIDGE LABEL #
  
      DEF HFC$MVLM   #X"06"#;        # MOUNT-VOLUME MESSAGE TYPES # 
      DEF HFC$MVLMVR #X"0600"#;      # MOUNT READ-ONLY VOLUME 
                                       AND VERIFY STRIPE HEADER # 
      DEF HFC$MVLMVW #X"060F"#;      # MOUNT WRT-ENABLED VOLUME 
                                       AND VERIFY STRIPE HEADER # 
      DEF HFC$MVLMNR #X"0610"#;      # MOUNT READ-ONLY VOLUME 
                                       WITH NO VERIFY OF HEADER # 
      DEF HFC$MVLMNW #X"061F"#;      # MOUNT WRT-ENABLED VOLUME 
                                       WITH NO VERIFY OF HEADER # 
  
      DEF HFC$WVLBLT #X"0700"#;      # WRITE VOLUME LABEL 
                                       TO LABELED TAPE #
      DEF HFC$WVLBUT #X"0701"#;      # WRITE VOLUME LABEL 
                                       TO UNLABELED TAPE #
      DEF HFC$ENCRDR #X"0800"#;      # ENTER CARTRIDGE INTO DRD # 
      DEF HFC$ENCRCL #X"0801"#;      # ENTER CARTRIDGE INTO CELL #
      DEF HFC$EJCRDR #X"0900"#;      # EJECT CARTRIDGE IN DRD # 
      DEF HFC$EJCRCL #X"0901"#;      # EJECT CARTRIDGE IN CELL #
      DEF HFC$RQSCIF #X"0A00"#;      # REQUEST CIF STATUS # 
      DEF HFC$RQSDRD #X"0A01"#;      # REQUEST DRD STATUS # 
      DEF HFC$RQSDRC #X"0A02"#;      # REQUEST DRC STATUS # 
      DEF HFC$RQSSMA #X"0A03"#;      # REQUEST SMA STATUS # 
      DEF HFC$RQSDIF #X"0A04"#;      # REQUEST DIF STATUS # 
      DEF HFC$RQSDIO #X"0A05"#;      # REQUEST DTI/DTO STATUS # 
      DEF HFC$RQSAIF #X"0A06"#;      # REQUEST AIF STATUS # 
      DEF HFC$RQSCEL #X"0A07"#;      # REQUEST CELL STATUS #
      DEF HFC$CHSCIF #X"0B00"#;      # CHANGE CIF STATUS #
      DEF HFC$CHSDRD #X"0B01"#;      # CHANGE DRD STATUS #
      DEF HFC$CHSDRC #X"0B02"#;      # CHANGE DRC STATUS #
      DEF HFC$CHSSMA #X"0B03"#;      # CHANGE SMA STATUS #
      DEF HFC$CHSDIF #X"0B04"#;      # CHANGE DIF STATUS #
      DEF HFC$CHSDIO #X"0B05"#;      # CHANGE DTI/DTO STATUS #
      DEF HFC$CHSAIF #X"0B06"#;      # CHANGE AIF STATUS #
      DEF HFC$DBL    #X"0C00"#;      # DUMP BUFFERED LOG #
      DEF HFC$DBLALL #X"0C01"#;      # DUMP BUFFERED LOG AND
                                       CLEAR ALL COUNTERS # 
      DEF HFC$DBLD0  #X"0C10"#;      # DUMP BUFFERED LOG AND
                                       CLEAR DRD 0 COUNTERS # 
      DEF HFC$DBLD7  #X"0C17"#;      # DUMP BUFFERED LOG AND
                                       CLEAR DRD 7 COUNTERS # 
      DEF HFC$DMPMEM #X"0D00"#;      # DUMP MEMORY #
      DEF HFC$STDATM #X"0E00"#;      # SET DATE/TIME #
      DEF HFC$RDDATM #X"0F00"#;      # READ DATE/TIME # 
      DEF HFC$SETMAS #X"1000"#;      # SET MASTER CHANNEL # 
      DEF HFC$RDRAW  #X"1100"#;      # READ RAW STRIPE #
      DEF HFC$STERLG #X"1300"#;      # START/STOP ERROR LOG 
                                       CHANNEL #
      DEF HFC$STERDR #X"1301"#;      # DRD #
      DEF HFC$STERSH #X"1302"#;      # STRIPE HANDLER # 
      DEF HFC$STERST #X"1303"#;      # SMT HANDLER #
      DEF HFC$RDERLG #X"1400"#;      # READ ERROR LOG # 
      DEF HFC$WRERLG #X"1500"#;      # WRITE TO ERROR LOG # 
      DEF HFC$STERLN #X"1600"#;      # SET ERROR LOG LENGTH # 
                                     # 0 TO 16 ERROR MESSAGES # 
      DEF HFC$CPYVOL #X"1700"#;      # COPY VOLUME #
      DEF HFC$SMTRES #X"1B00"#;      # SMT RESTART #
      DEF HFC$RESCON #X"1C00"#;      # RESTART CONTROLLER # 
  
# 
*     M860-INITIATED HARDWARE FUNCTION CODE DEFINITIONS.
# 
  
      DEF HRF$R      #X"0080"#;      # MESSAGE RESPONSE CODE #
  
      DEF HRF$M860   #X"8100"#;      # M860-INITIATED MESSAGE # 
      DEF HRF$UNITRW #X"8100"#;      # NORMAL REWIND/UNLOAD # 
      DEF HRF$FORCRW #X"810E"#;      # FORCED REWIND/UNLOAD # 
      DEF HRF$BLGFUL #X"8200"#;      # BUFFERED LOG FULL #
      DEF HRF$ELGFUL #X"8300"#;      # ERROR LOG FULL # 
      DEF HRF$FATERR #X"8301"#;      # FATAL ERROR #
      DEF HRF$REQDMP #X"8302"#;      # REQUEST ERROR LOG DUMP # 
      DEF HRF$CONRES #X"8C00"#;      # CONTROLLER RESTARTING #
  
# 
*     M860 HARDWARE RETURN CODES. 
# 
  
      DEF HRC$CSNMIS #X"0001"#;      # CSN MISMATCH ON LOAD # 
      DEF HRC$NOLAB  #X"0002"#;      # NO LABEL READ #
                                     # NO DATA READ ON READ-RAW-DATA #
      DEF HRC$DRVNA  #X"0008"#;      # DEVICE DRIVER ERROR/NO ABORT # 
      DEF HRC$DRVHW  #X"0408"#;      # DEVICE DRIVER ERROR/HW PROBLEM # 
      DEF HRC$XSMNA  #X"0100"#;      # CHECKSUM ERROR/NO ABORT #
      DEF HRC$CRTEJC #X"1000"#;      # CARTRIDGE EJECTED #
      DEF HRC$CSNERR #X"8001"#;      # CSN MISMATCH # 
                                     # CSN IN USE ON LOAD # 
      DEF HRC$DLERR  #X"8002"#;      # DATA LENGTH ERROR #
      DEF HRC$DRVERR #X"8008"#;      # DEVICE DRIVER ERROR #
      DEF HRC$UNITAS #X"8020"#;      # UNIT ALREADY ASSIGNED #
      DEF HRC$XSMERR #X"8100"#;      # CHECKSUM ERROR # 
      DEF HRC$CELEMP #X"8200"#;      # CELL EMPTY # 
      DEF HRC$TRAYPR #X"8210"#;      # INPUT EMPTY/ OUTPUT FULL # 
      DEF HRC$THRERR#X"8400"#;       # CARTRIDGE THREADING ERROR #
      DEF HRC$DRVHO  #X"9008"#;      # DEVICE DRIVER ERROR/HW OFF # 
  
      END      # COMBHFC #
  
                                               CONTROL LIST;
