COMPFAT 
COMMON
          CTEXT  COMPFAT - SEARCH FOR FAST ATTACH FILE. 
 FAT      SPACE  4
          IF     -DEF,QUAL$,1 
          QUAL   COMPFAT
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 FAT      SPACE  4
***       FAT - SEARCH FOR FAST ATTACH FILE.
*         V.A. WALSH.  73/01/10.
 FAT      SPACE  4
***       FAT SEARCHES THE FNT TABLE FOR A FILE OF FAST ATTACH FILE 
*         TYPE AND COMPARES ENTRIES ON FILE NAME AND FAMILY NAME. 
* 
*         ENTRY  (CM - CM+3) = FILE NAME. 
*                (CN - CN+3) = FAMILY NAME. 
* 
*         EXIT   (A) = 0 IF FAST ATTACH ENTRY FOUND.
*                (A) = 1 IF ENTRY NOT FOUND.
*                (T1) = FNT ORDINAL.
* 
*         USES   T1 - T7. 
* 
*         MACROS CFI, SFA.
  
  
 FAT4     LDN    1           FILE NOT FOUND 
  
 FAT      SUBR               ENTRY/EXIT 
          LDN    FNTP        SET FNT POINTER
          CRD    T1 
          LDD    T1          SET FWA FNT
          ADC    ADCI 
          STM    FATB 
          LDD    T1+1 
          STM    FATB+1 
          LDD    T1+2        SET MAXIMUM NUMBER OF ENTRIES
          STM    FATA 
          LDN    0           INITIALIZE ORDINAL 
          STD    T1 
 FAT1     AOD    T1          ADVANCE ORDINAL
          LMC    ** 
 FATA     EQU    *-1
          ZJN    FAT4        IF END OF FNT
          CFI    FNT,T1      CALCULATE FILE INDEX 
 FATB     ADC    **          GET ABSOLUTE FNT ENTRY ADDRESS 
          ADN    FSTG 
          CRD    T2          READ FST ENTRY 
          SBN    FSTG 
          CRD    T3          READ FNT ENTRY 
  
*         COMPARE FILE NAMES. 
  
          LDD    T3 
          ZJN    FAT1        IF EMPTY ENTRY 
          LMD    CM 
          NJN    FAT1        IF WRONG FILE NAME 
          LDD    T3+4        CHECK FILE TYPE
          SHN    -6 
 FATC     LMN    FAFT 
          NJN    FAT1        IF NOT CORRECT FILE TYPE 
          LDD    CM+1 
          LMD    T3+1 
          NJN    FAT1        IF WRONG NAME
          LDD    CM+2 
          LMD    T3+2 
          NJN    FAT1        IF WRONG NAME
          LDD    CM+3 
          LMD    T3+3 
          SCN    77 
 FAT2     NJN    FAT1        IF WRONG NAME
  
*         IF CORRECT FAST ATTACH FILE FOUND, CHECK FAMILY NAME. 
  
 FAT3     SFA    EST,T2      GET EST OF FAST ATTACH FILE
          ADK    EQDE 
          CRD    T3          READ EST ENTRY 
          LDD    T3+4 
          SHN    3
          ADN    PFGL 
          CRD    T3          READ FAMILY NAME 
  
*         CHECK FAMILY NAME.
  
          LDD    T3 
          LMD    CN 
          NJN    FAT2        IF WRONG FAMILY
          LDD    T3+1 
          LMD    CN+1 
          NJN    FAT2        IF WRONG FAMILY
          LDD    T3+2 
          LMD    CN+2 
          NJN    FAT2        IF WRONG FAMILY
          LDD    T3+3 
          LMD    CN+3 
          SCN    77 
          NJN    FAT2        IF INCORRECT FAMILY
  
*         CORRECT FAST ATTACH FILE FOUND. 
  
*         LDN    0           SET FILE FOUND 
          LJM    FATX        RETURN 
 FAT      SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 FAT      EQU    /COMPFAT/FAT 
 FATB     EQU    /COMPFAT/FATB
 FATC     EQU    /COMPFAT/FATC
 QUAL$    ENDIF 
          ENDX
