COMBFET 
COMMON
  
#     COMBFET - DEFINITION OF *FET* FIELDS.                           # 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
      BEGIN  # COMBFET #
  
# 
***   COMBFET - CONTAINS BASED ARRAYS WITH DEFINITIONS OF *FET* FIELDS. 
* 
*     *COMBFET* CONTAINS THE *FET* DESCRIPTION WHICH IS USED BY 
*     *ZSETFET* IN INITIALIZING A *FET* FOR A FILE. 
# 
  
# 
*     FET TYPE DEFINITIONS FOR USE IN LOGGING FSC ERRORS. 
# 
  
      DEF DFET       #0#;            # DATA FET # 
      DEF RFET       #1#;            # READ FET (MESSAGES FROM M860) #
      DEF WFET       #2#;            # WRITE FET (MESSAGES TO M860) # 
  
      COMMON BFETCOM; 
  
        BEGIN  # BFETCOM DESCRIPTION #
  
# 
*     BUFFER ADDRESSES. 
# 
  
        ITEM MRDBADR    U;           # MESSAGE READ BUFFERS FWA # 
        ITEM MWRBADR    U;           # MESSAGE WRITE BUFFERS FWA #
        ITEM SBTADR     U;           # STORAGE BUFFER TABLE FWA # 
  
        BASED 
        ARRAY FETSET S(RFETL);       # *FET* DEFINITION # 
          BEGIN 
          ITEM FET$LFN    C(00,00,07);  # LOGICAL FILE NAME # 
          ITEM FET$LN     U(00,42,04);  # LEVEL NUMBER #
          ITEM FET$AT     U(00,46,04);  # ABNORMAL TERMINATION CODES #
          ITEM FET$EOR    B(00,55,01);  # END-OF-RECORD BIT # 
          ITEM FET$CODE   U(00,50,10);  # REQUEST/RETURN CODE # 
          ITEM FET$EOI    B(00,50,01);  # END-OF-INFORMATION BIT #
          ITEM FET$LOCK   B(00,59,01);  # *FET* INTERLOCK BIT # 
          ITEM FET$DT     U(01,00,12);  # DEVICE TYPE # 
          ITEM FET$R      B(01,12,01);  # RANDOM ACCESS BIT # 
          ITEM FET$UP     B(01,14,01);  # USER PROCESSING BIT # 
          ITEM FET$EP     B(01,15,01);  # ERROR PROCESSING BIT #
          ITEM FET$SP     B(01,20,01);  # SECURITY PROCESSING BIT # 
          ITEM FET$L      U(01,36,06);  # *FET* LENGTH (OVER 5 WORDS) # 
          ITEM FET$FRST   U(01,42,18);  # *FWA* OF *CIO* BUFFER # 
          ITEM FET$IN     U(02,42,18);  # IN POINTER FOR *CIO* BUFFER # 
          ITEM FET$OUT    U(03,42,18);  # OUT POINTER FOR *CIO* BUFFER
                                        # 
          ITEM FET$FNTP   U(04,00,12);  # *FNT* POINTER # 
          ITEM FET$AL     U(04,12,12);  # ACCESS LEVEL #
          ITEM FET$PRU    U(04,24,18);  # PHYSICAL RECORD UNIT SIZE # 
          ITEM FET$LIM    U(04,42,18);  # *LWA*+1 OF *CIO* BUFFER # 
          ITEM FET$FWRK   U(05,12,18);  # *FWA* OF WORKING STORAGE #
          ITEM FET$LWRK   U(05,42,18);  # *LWA*+1 OF WORKING STORAGE #
          ITEM FET$LA     U(05,42,18);  # LIST ADDRESS #
          ITEM FET$CRI    U(06,00,30);  # CURRENT RANDOM INDEX #
          ITEM FET$W      B(06,30,01);  # RANDOM REWRITE INDEX #
          ITEM FET$RR     U(06,31,29);  # *RSA* FOR RANDOM *I/O*
                                          REQUEST # 
          ITEM FET$DEC    U(06,31,29);  # DETAIL ERROR CODE # 
          ITEM FET$IL     U(07,24,18);  # INDEX LENGTH #
          ITEM FET$IF     U(07,42,18);  # *FWA* OF INDEX BUFFER # 
          END 
  
        BASED 
        ARRAY FETFHB   S(RFHBL);       # *DRIVER* LARGE BUFFER *FET* #
          BEGIN 
          ITEM FHB$AT     U(00,42,08);  # ABNORMAL TERMINATION CODES #
          ITEM FHB$CODE   U(00,50,10);  # REQUEST/RETURN CODE # 
          ITEM FHB$EOI    B(00,50,01);  # END-OF-INFORMATION BIT #
          ITEM FHB$LOCK   B(00,59,01);  # *FET* INTERLOCK BIT # 
          ITEM FHB$ESTO   U(01,00,12);  # EST ORDINAL # 
          ITEM FHB$RBADDR U(01,12,18);  # READ BUFFER ADDRESS # 
          ITEM FHB$FRST   U(01,42,18);  # *FWA* OF *CIO* BUFFER # 
          ITEM FHB$IN     U(02,42,18);  # IN POINTER FOR *CIO* BUFFER 
                                        # 
          ITEM FHB$OUT    U(03,42,18);  # OUT POINTER FOR *CIO* BUFFER
                                        # 
          ITEM FHB$UNIT   U(04,00,12);  # DRD UNIT NUMBER # 
          ITEM FHB$SMUN   U(04,00,11);  # SM UNIT NUMBER #
          ITEM FHB$ST$SS  B(04,41,01);  # STOP *1SS* FLAG # 
          ITEM FHB$LIM    U(04,42,18);  # *LWA*+1 OF *CIO* BUFFER # 
          ITEM FHB$FSC    C(05,00,50);  # FSC STATUS WORDS #
          ITEM FHB$STST   U(05,00,60);  # START OF STATUS - 5 WORDS # 
          ITEM FHB$GST    U(05,00,36);  # GENERAL STATUS #
          ITEM FHB$ALERT  U(05,00,01);  # ALERT STATUS #
          ITEM FHB$CONNT  U(05,02,01);  # UNIT CONNECTED TO CONTROLLER
                                        # 
          ITEM FHB$WTRNG  U(05,04,01);  # WRITE PIN IN CARTRIDGE #
          ITEM FHB$FMARK  U(05,07,01);  # FILE MARK # 
          ITEM FHB$EOT    U(05,08,01);  # END OF TAPE # 
          ITEM FHB$BOT    U(05,09,01);  # BEGINNING OF TAPE # 
          ITEM FHB$UTBY   U(05,10,01);  # UNIT BUSY # 
          ITEM FHB$UTRY   U(05,11,01);  # UNIT READY #
          ITEM FHB$LDATA  U(05,24,01);  # LOST DATA # 
          ITEM FHB$UTCK   U(05,25,01);  # UNIT CHECK #
          ITEM FHB$PYERR  U(05,26,01);  # TAPE PARITY ERROR # 
          ITEM FHB$CPYER  U(05,27,01);  # CHANNEL PARITY ERROR #
          ITEM FHB$APYER  U(05,28,01);  # A DAPTER PARITY ERROR # 
          ITEM FHB$ERRCD  U(05,29,07);  # ERROR CODE #
          ITEM FHB$MSB0   U(05,36,08);  # M860 SENSE BYTE 0 # 
          ITEM FHB$MSB00  U(05,36,01);  # COMMAND REJECT #
          ITEM FHB$MSB01  U(05,37,01);  # INTERVENTION REQUIRED # 
          ITEM FHB$MSB02  U(05,38,01);  # BUFOUT CHECK #
          ITEM FHB$MSB04  U(05,40,01);  # DATA CHECK #
          ITEM FHB$MSB1   U(05,44,08);  # M860 SENSE BYTE 1 # 
          ITEM FHB$MSB11  U(05,45,02);  # DRD STATUS #
          ITEM FHB$MSB14  U(05,47,01);  # LOAD POINT #
          ITEM FHB$MSB15  U(05,48,01);  # WRITE STATUS #
          ITEM FHB$MSB16  U(05,49,01);  # FILE PROTECT #
          ITEM FHB$MSB2   U(05,52,08);  # M860 SENSE BYTE 2 # 
          ITEM FHB$MSB3   U(06,00,08);  # M860 SENSE BYTE 3 # 
          ITEM FHB$MSB33  U(06,03,01);  # CRC ERROR # 
          ITEM FHB$MSB36  U(06,06,01);  # BACKWARD TAPE MOVEMENT #
          ITEM FHB$MSB37  U(06,07,01);  # PARITY ERROR #
          ITEM FHB$MSB4   U(06,08,08);  # M860 SENSE BYTE 4 # 
          ITEM FHB$MSB41  U(06,09,01);  # REJECT TAPE UNIT #
          ITEM FHB$MSB42  U(06,10,01);  # TAPE INDICATER #
          ITEM FHB$MSB46  U(06,14,01);  # DRD UNIT CHECK #
          ITEM FHB$MSB5   U(06,16,08);  # M860 SENSE BYTE 5 # 
          ITEM FHB$MSB6   U(06,24,08);  # M860 SENSE BYTE 6 # 
          ITEM FHB$MSBMOD U(06,28,04);  # MODEL INDENIFICATION *D* #
          ITEM FHB$MSB7   U(06,32,08);  # M860 SENSE BYTE 7 # 
          ITEM FHB$MSB72  U(06,34,01);  # READ BEYOND VALID DATA #
          ITEM FHB$MSB8   U(06,40,08);  # M860 SENSE BYTE 8 # 
          ITEM FHB$MSB9   U(06,48,08);  # M860 SENSE BYTE 9 # 
          ITEM FHB$MSB10A U(06,56,04);  # M860 SENSE BYTE 10 #
          ITEM FHB$MSB10B U(07,00,04);  # M860 SENSE BYTE 10 #
          ITEM FHB$MSBA1  U(07,04,08);  # M860 SENSE BYTE 11 #
          ITEM FHB$MSBA2  U(07,12,08);  # M860 SENSE BYTE 12 #
          ITEM FHB$MSBA3  U(07,20,08);  # M860 SENSE BYTE 13 #
          ITEM FHB$MSBA4  U(07,28,08);  # M860 SENSE BYTE 14 #
          ITEM FHB$MSBA5  U(07,36,08);  # M860 SENSE BYTE 15 #
          ITEM FHB$MSBA6  U(07,44,08);  # SENSE BYTE 16 # 
          ITEM FHB$MSBA7  U(07,52,08);  # SENSE BYTE 17 # 
          ITEM FHB$MSBA8  U(08,00,08);  # SENSE BYTE 18 # 
          ITEM FHB$MSBA9  U(08,08,08);  # SENSE BYTE 19 # 
          ITEM FHB$MSB20  U(08,16,08);  # SENSE BYTE 20 # 
          ITEM FHB$MSB21  U(08,24,08);  # SENSE BYTE 21 # 
          ITEM FHB$MSB22  U(08,32,08);  # SENSE BYTE 22 # 
          ITEM FHB$MSB23  U(08,40,08);  # SENSE BYTE 23 # 
          ITEM FHB$REV$FN U(08,48,12);  # REV NUMBER/FUNCTION # 
          ITEM FHB$170$ST U(09,00,12);  # C170 DI STATUS #
          ITEM FHB$FSCST  U(09,12,12);  # FSC DI STATUS # 
          ITEM FHB$ADAP   U(09,24,12);  # ADAPTER NUMBER #
          ITEM FHB$CHAN   U(09,36,12);  # CHANNEL USED #
          ITEM FHB$DSTS   U(09,48,12);  # DIAGNOSTIC STATUS # 
          ITEM FHB$SHDWD  U(10,00,60);  # START OF STRIPE LABEL # 
          ITEM FHB$E      U(10,01,01);  # EOT ON TRAILER LABEL #
          ITEM FHB$PVLN   U(10,02,10);  # PREVIOUS VOLUME LENGTH #
          ITEM FHB$PVSN   U(10,12,12);  # PREVIOUS VOLUME NUMBER #
          ITEM FHB$CVSN   U(10,24,12);  # VOLUME NUMBER # 
          ITEM FHB$RSIF   U(10,36,24);  # RELATIVE STRIPE NUMBER #
          ITEM FHB$RSIV   U(11,48,12);  # VOLUME RELATIVE STRIPE #
          ITEM FHB$SMIF   U(12,00,09);  # FULL SMA INTERFACE WORD # 
          ITEM FHB$SM     U(12,00,06);  # SM-IF # 
          ITEM FHB$D$SM   U(12,06,06);  # DRD AND SM ORDINALS # 
          ITEM FHB$CIF    U(12,12,03);  # CHANNEL INTERFACE # 
          ITEM FHB$TIME   U(12,24,36);  # PACKED DATE/TIME #
          ITEM FHB$CCSN   C(13,00,10);  # CURRENT CSN # 
          ITEM FHB$PCSN   C(14,00,10);  # CSN OF PREVIOUS VOLUME #
          ITEM FHB$PFC    C(15,00,160); # COPY OF FILE *PFC* #
          ITEM FHB$PFC$FN C(15,00,07);  # FILE NAME # 
          ITEM FHB$PFC$UI U(15,42,18);  # USER INDEX #
          ITEM FHB$PFC$DT U(17,24,36);  # CREATION DATE AND TIME #
          END 
  
  
        BASED 
        ARRAY FETRDB [0:0] S(RWDATA); ;  # RAW DATA BUFFER #
  
        BASED 
        ARRAY FETMRA [0:0] S(1);     # MESSAGE READ BUFFER ADDRESS #
          BEGIN 
          ITEM FRA$MRBADR U(00,42,18);
          END 
  
        BASED 
        ARRAY FETMWB [0:0] S(SFMWL);  # MESSAGE WRITE BUFFER FET #
          BEGIN 
          ITEM FMW$AT     U(00,42,08);  # ABNORMAL TERMINATION CODE # 
          ITEM FMW$CMPL   B(00,59,01);  # COMPLETE FLAG # 
          ITEM FMW$RTIME  U(01,00,24);  # ERROR RETRY TIME #
          ITEM FMW$RCNT   U(01,24,06);  # ERROR RETRY COUNT # 
          ITEM FMW$FIRST  U(01,42,18);  # FWA OF CIRCULAR BUFFER #
          ITEM FMW$IN     U(02,42,18);  # IN POINTER #
          ITEM FMW$OUT    U(03,42,18);  # OUT POINTER # 
          ITEM FMW$CHAN   U(04,00,12);  # CHANNEL NUMBER #
          ITEM FMW$ERROR  B(04,13,01);  # CHANNEL (NOT DRD) ERROR # 
          ITEM FMW$CHON   B(04,14,01);  # CHANNEL ON/OFF BIT #
          ITEM FMW$LIMIT  U(04,42,18);  # LWA+1 OF CIRCULAR BUFFER #
          ITEM FMW$FSC    C(05,00,50);  # *FSC* STATUS WORDS #
          END 
  
        BASED 
        ARRAY FETMRB [0:0] S(SFMRL);  # MESSAGE READ BUFFER FET # 
          BEGIN 
          ITEM FMR$AT     U(00,42,08);  # ABNORMAL TERMINATION CODE # 
          ITEM FMR$CU     U(01,00,12);  # CONTROLLER ORDINAL #
          ITEM FMR$ELCNT  U(01,12,12);  # ERROR LOG MSG COUNT # 
          ITEM FMR$FIRST  U(01,42,18);  # FWA OF CIRCULAR BUFFER #
          ITEM FMR$IN     U(02,42,18);  # IN POINTER #
          ITEM FMR$OUT    U(03,42,18);  # OUT POINTER # 
          ITEM FMR$CHAN   U(04,00,12);  # CHANNEL NUMBER #
          ITEM FMR$CIF    U(04,12,03);  # CU CHANNEL INTERFACE #
          ITEM FMR$RDBA   U(04,18,18);  # RAW DATA BUFFER ADDRESS # 
          ITEM FMR$LIMIT  U(04,42,18);  # LWA+1 OF CIRCULAR BUFFER #
          ITEM FMR$FSC    C(05,00,50);  # *FSC* STATUS WORDS #
          ITEM FMR$KWORDS C(10,00,20);  # K-DISPLAY WORDS # 
          END 
  
        END  # BFETCOM DESCRIPTION #
  
      END  # COMBFET #
  
                                               CONTROL LIST;
