C* DSMTUI - TOTAL UP UIC'S ALLOCATIONS C SUBROUTINE DSMTUI (KTBU, LNONEX) C C KTBU - TOTAL BLOCKS USED FOR SPECIFIED UIC(S) C LNONEX - .FALSE. IF NONE OF THE REQUIRED UIC'S ARE LOCATED C IN DSMNOT.DAT. C - .TRUE. IF ANY OF THE REQUIRED UIC'S ARE LOCATED. C INCLUDE 'DSMCM.COM/NOLIST' C DIMENSION ITST(7), IDVUN(2) EQUIVALENCE (ITST(5),KALLO), (ITST(2),IFLGW) C D DIMENSION BUIC(2) D EQUIVALENCE (BUIC,NUIC) C LBITON(IBIT) = IAND(IBIT,IFLAGS) .NE. 0 C LOCATE THE PROPER DEVICE AND UNIT # IN DSMNOT.DAT. C START AT WORD 11 IN FILE. FIRST 9 WORDS ARE DATE/TIME, WORD 10 C POINTS TO START OF MESSAGES AT END OF DSMNOT.DAT C NR = 11 100 CONTINUE CALL X1DR (FIDTB, NR, 1, ITNFO) IF (ITNFO .EQ. 0) GO TO 900 ! NO MORE TO CHECK CALL X1DR (FIDTB, NR, 2, IDVUN) ! DEVICE/UNIT # IF (IDVUN(1).EQ.IUDEV .AND. IDVUN(2).EQ.IUNIT) GO TO 200 ! MATCH ! C C NO MATCH ON DEVICE - SKIP TO NEXT ONE C NR = NR + ITNFO*NWSTAT GO TO 100 C C DEVICE FOUND - LOOK UP THE UIC'S AND BLOCKS ALLOCATED TO THEM C 200 CONTINUE LEXIT = .FALSE. LEOW = .FALSE. C DO 250 I=1, ITNFO CALL X1DR (FIDTB, NR, NWSTAT, ITST) IF (LBITON(IDSWOW)) GO TO 210 ! WILD OWNER C C NOT WILD OWNER - MUST BE EXACT MATCH C IF (ITST(1) .NE. IUIC) GO TO 250 LEXIT = .TRUE. GO TO 240 C 210 CONTINUE IF ((ITST(1).AND."177400) .NE. (IUIC.AND."177400)) GO TO 220 LEOW = .TRUE. GO TO 240 C 220 CONTINUE IF (LEOW) GO TO 900 GO TO 250 C C ENTER THE UIC INTO A SORTED LIST VIA DSMBS AND SET LNONEX TO .TRUE. C NFO WILL BE # OF UIC'S AND ISTAT CONTAINS THEM C 240 CONTINUE NUIC = ITST(1) ! UIC MUST BE IN NUIC FOR DSMBS D WRITE (6, 9000) IUDEV,IUNIT,BUIC(2),BUIC(1) D9000 FORMAT (' DSMTUI ',A2,':',O2,'[',O3,',',O3,']') KTBU = KTBU + KALLO ! UPDATE # OF BLOCKS ALLOCATED LNONEX = .TRUE. CALL DSMBS (1, NFO, IPOS, NER) C C SET BIT ON TO INDICATE THIS UIC WAS PART OF AN ALLOCATION SPECIFICATION C FORMULA AND WAS CHECKED. C IFLGW = IFLGW .OR. "400 NR = NR - NWSTAT CALL X1DW (FIDTB, NR, NWSTAT, ITST) IF (LEXIT) GO TO 900 ! DONE 250 CONTINUE C C DONE C 900 CONTINUE RETURN END