SUBROUTINE GETUIC(IK,INDEV,INUICS,KINDEV) C.. BOHDEN K. CMAYLO, GETS ALL UIC'S FOR INPUT DEVICE DIMENSION INPUTW(8,32),INUICS(2,1000),KINDEV(21) DIMENSION KEY(2),IERR(2) BYTE NAMEA(12),IDIR(3),NAME(12),INPUTB(16,32) DOUBLE PRECISION INDEV(20),NAMER(2) EQUIVALENCE(NAME,NAMER),(INPUTB,INPUTW) DATA NAMER/'000000.D','IR;1 '/ DATA IDIR/'D','I','R'/ DATA KEY/1,2/ C.. C.. C.. OPEN SUCC, INPUTW(1)=0 C.. INPUTW C.. 1...0 C.. 2...EOF BLOCKS = MBLKS(1) C.. 3...ALLOCATED BLOCKS = MBLKS(2) C.. ...NUMBER OF FILES = MBLKS(3) C.. 4...FDB OFFSET (BYTES) C.. 5...HI BLOCK OFFSET (BYTES) C.. 6...EOF BLOCK OFFSET (BYTES) C.. KUIC1=KUIC KUIC=KINDEV(IK) C.. C.. OPEN [0,0]000000.DIR FILE FOR INFO C.. CALL OPENR1(INPUTB,INDEV(IK),5,'[000,000]',9,NAME,12) C.. CHECK FOR ERROR IF(INPUTW(1,1).NE.0) GO TO 199 C.. GET EOF BLOCK MBLOCK=INPUTW(2,1) DO 1 IBLOCK=1,MBLOCK JBLOCK=IBLOCK C.. READ INFO CALL READ1(IERR,JBLOCK) IF(IERR(1).NE.0) GO TO 99 DO 16 I=1,32 C.. C.. CHECK IF CAN ENTER UIC C.. IF(INPUTW(1,I).EQ.0) GO TO 16 C.. GET FILE NAME CALL R50ASC(12,INPUTW(4,I),NAMEA) C.. CHECK IF DIRECTORY ENTRY DO 160 I1=1,3 IF(NAMEA(I1+9).NE.IDIR(I1)) GO TO 16 160 CONTINUE C.. C.. DIRECTORY ENTRY, DECODE UIC C.. DECODE(6,6,NAMEA)INUICS(1,KUIC),INUICS(2,KUIC) 6 FORMAT(2O3) KUIC=KUIC+1 16 CONTINUE 1 CONTINUE 99 CONTINUE CALL CLOSR1(IERR) C.. C.. SORT UIC THEN END UP INFO C.. I1=KINDEV(IK) KUIC=KUIC-1 KINDEV(IK)=KUIC CALL GPSORT(KEY,I1,KUIC,2,INUICS,2000) RETURN 199 TYPE 299,INPUTW(1,1),INPUTW(2,1) 299 FORMAT(' *** GETUIC *** IERR=',2O7) GO TO 99 END