COMPSFE 
COMMON
          CTEXT  COMPSFE - SET FAMILY EST ORDINAL.
          IF     -DEF,QUAL$,1 
          QUAL   COMPSFE
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 SFE      SPACE  4
***       SFE - SET FAMILY EST ORDINAL. 
*         S. L. KSANDER.     76/09/18.
          SPACE  4,10 
***       SFE SETS THE FAMILY EST ORDINAL FOR A GIVEN FAMILY. 
* 
*         ENTRY  (FN - FN+3) = FAMILY NAME. 
*                            = 0, IF CP DEFAULT FAMILY. 
*                            = *0*, IF SYSTEM DEFAULT FAMILY. 
* 
*         EXIT   (A) .EQ. 0, IF FAMILY FOUND. 
*                (A) = 1, IF FAMILY FOUND, BUT IDLED. 
*                (A) = 2, IF FAMILY NOT FOUND.
*                (T2) = FAMILY EST ORDINAL. 
*                (FN - FN+4) = 42/ FAMILY NAME, 6/, 12/ EST ORDINAL.
* 
*         USES   T1 - T3, CM - CM+4.
* 
*         MACROS SFA. 
  
  
 SFE      SUBR               ENTRY/EXIT 
          LDN    ESTP        SET EST LIMITS 
          CRD    CM 
          LDN    NOPE-1      INITIALIZE EST ORDINAL FOR SEARCH
          STD    T2 
          LDD    CM+3        SET LAST MASS STORAGE ORDINAL + 1
          STD    T1 
          LDD    FN          CHECK FAMILY NAME
          ZJN    SFE1        IF FAMILY NAME NOT SET 
          SHN    -6          CHECK EXPLICIT ZERO FAMILY NAME
          LMN    1R0
          NJN    SFE2        IF NOT EXPLICIT ZERO FAMILY NAME 
          LDC    PFNL 
          UJN    SFE1.1      SET SYSTEM DEFAULT FAMILY
  
 SFE0     LDN    2           SET FAMILY NOT FOUND STATUS
          UJN    SFEX        RETURN 
  
 SFE1     LDD    CP          SET CP DEFAULT FAMILY
          ADN    PFCW 
 SFE1.1   CRD    CM 
          LDD    CM+3 
          STD    T2 
          SFA    EST         READ EST ENTRY 
          ADK    EQDE 
          CRD    CM 
          LDD    CM+4 
          SHN    3
          ADN    PFGL 
          CRD    FN 
          SOD    T2          ADJUST FOR *AOD* AT *SFE2* 
  
*         SCAN EST FOR SPECIFIED FAMILY.
  
 SFE2     AOD    T2          ADVANCE EST ORDINAL
          LMD    T1 
          ZJN    SFE0        IF END OF EST
          SFA    EST,T2      READ EST ENTRY 
          ADK    EQDE 
          CRD    CM 
          LDD    CM          CHECK DEVICE EST 
          SHN    -6 
          LPN    41 
          LMN    40 
          NJN    SFE2        IF NOT MASS STORAGE
          LDD    CM+4        SET MST ADDRESS
          STD    T3 
          SHN    3
          ADN    STLL 
          CRD    CM 
          LDD    CM 
          SHN    21-3 
          MJN    SFE2        IF UNLOAD REQUESTED
          LDD    T3 
          SHN    3
          ADN    MDGL 
          CRD    CM 
          LDD    CM 
          SHN    21-12
          MJN    SFE2        IF AUXILIARY DEVICE
          LDD    T3 
          SHN    3
          ADN    PFGL 
          CRD    CM 
  
*         COMPARE FAMILY NAME.
  
          LDD    CM 
          LMD    FN 
          NJN    SFE3        IF NO MATCH
          LDD    CM+1 
          LMD    FN+1 
          NJN    SFE3        IF NO MATCH
          LDD    CM+2 
          LMD    FN+2 
          NJN    SFE3        IF NO MATCH
          LDD    CM+3 
          LMD    FN+3 
          SCN    77 
          NJN    SFE3        IF NOT MATCH 
          LDD    T3          CHECK DEVICE MASK
          SHN    3
          ADN    PUGL 
          CRD    CM 
          LDD    CM+4 
          SHN    21-7 
          PJN    SFE3        IF NOT FAMILY MASTER DEVICE
          LDD    T2          SET FAMILY EST ORDINAL 
          STD    FN+4 
          LDD    T3          CHECK IDLE DOWN STATUS 
          SHN    3
          ADN    DULL 
          CRD    CM 
          LDD    CM+4 
          SHN    0-13        SET FAMILY STATUS
          LJM    SFEX        RETURN 
  
 SFE3     LJM    SFE2        CHECK NEXT EST ENTRY 
          SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 SFE      EQU    /COMPSFE/SFE 
 QUAL$    ENDIF 
          ENDX
