SPL,L,O 
!     NAME:   FID.
!     SOURCE: 92067-18150 
!     RELOC:  92067-16125 
!     PGMR:   G.A.A.
! 
!  ***************************************************************
!  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
!  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
!  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
!  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
!  ***************************************************************
! 
      NAME FID.(8) "92067-16125 REV.1903 780515"
      LET DR.RD    BE SUBROUTINE,EXTERNAL 
      LET READI    BE CONSTANT(1) 
      LET PK.DR,D.LT    BE INTEGER,EXTERNAL 
! 
FID.: FUNCTION (DS)GLOBAL              !RETURNS FALSE IF A FILE SYSTEM
                                       !EXIST ON DISC WITH ID 
                                       !DS
      LET NAM..              BE SUBROUTINE,EXTERNAL 
      DR.RD(READI,DS,0)?[GO TO RETF]   !READ THE DIRECTORY
! 
      PDIR8_[PDIR7_[PDIR6_[PDIR5_[PDIR3_[PDIR_@PK.DR]\
         +3]+2]+1]+1]+1 
      DO[TX_$PDIR;$PDIR_TX AND 77777K]
      DO[NAM..(PK.DR);AREG_$0;$PDIR_TX]!CHECK ASC LABEL 
        IF AREG THEN GOTO RETF         !IF ILLEGAL OR FLAG
      IF TX>0 THEN GOTO RETF           !NOT SET THEN NO FILE
        IF $(PDIR3 )<0 THEN GOTO RETF  !IF LABEL WORD LESS THAN ZERO
        IF $(PDIR7 )-$(PDIR8 )-1 #$D.LT THEN GOTO RETF !LTR MAKE
        IF $(PDIR6 )<($(PDIR5) AND 377K) THEN GO TO RETF
      DO[FID.V_0; RETURN] 
RETF: DO[FID.V_1;RETURN]
      END 
! 
      END 
      END$
                                                                                                                                                                                                        