Type ASSEMBLE
Source Lines : 445
Fixes Applied : 1
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC010DS]
Module
DMSACF (READFST)
Function
FOR A READ-WRITE DISK, TO READ ALL OF THE USER FILE DIRECTORY INTO STORAGE; FOR A READ-ONLY DISK, TO READ IN ALL OR PART OF THE USER FILE DIRECTORY, AT THE CALLER'S OPTION; FOR AN O/S DISK, CONTROL IS RETURNED TO THE CALLER AFTER SUCCESSFUL RETURN FROM DMSACM.
Attributes
TRANSIENT, REENTRANT
Operation
DMSACF, TOGETHER WITH DMSACM, BRINGS INTO STORAGE ALL OR PART OF THE USER FILE DIRECTORY FOR THE GIVEN DISK. IF THE DISK IS READ-WRITE, ALL OF THE UFD IS MADE RESIDENT; IF READ-ONLY, THE QMSK AND QQMSK TABLES ARE NOT BROUGHT IN BY DMSACM, AND DMSACF CAN BRING IN SELECTED PORTIONS OF THE FST ENTRIES, IF SPECIFIED. DMSACF DOES THE FOLLOWING: FIRST DMSACM IS CALLED TO READ IN ITS PART OF THE UFD. IF AN ERROR OTHER THAN 4 IS RETURNED BY READMFD, DMSACF PASSES BACK THIS ERROR CODE TO THE CALLER AND EXITS IMMEDIATELY. IF DMSACM WAS SUCCESSFUL, OR RETURNED AN ERROR-4 INDICATING THE DISK WAS READ-ONLY, DMSACF CONTINUES. IF THE DISK IS AN O/S DISK, DMSACF EXITS IMMEDIATELY. AN 816 - BYTE BUFFER FOR THE FIRST FST HYPERBLOCK IS OBTAINED FROM FREE STORAGE IF NEEDED, AND AN 800-BYTE WORK AREA IS OBTAINED. THE FST HYPERBLOCKS ON DISK ARE NOW READ INTO THE WORK AREA, ONE AT A TIME. ALL NULL FST ENTRIES ARE IGNORED; OTHER ENTRIES ARE MOVED FROM THE WORK AREA TO THE RESIDENT FST HYPERBLOCKS IF THE DISK IS READ-WRITE, THUS RESULTING IN COMPACTED DIRECTORY IN STORAGE OF ALL FILES. IF THE DISK IS READ-ONLY, EACH FST ENTRY IN THE WORK AREA IS CHECKED AGAINST THE PARAMETER LIST PROVIDED TO DMSACF. (IF ANY FIELD IN THE PARAMETER LIST IS '*' OR X'FF', THE FILENAME, FILETYPE, OR MODE NUMBER IS ACCEPTED WITHOUT CHECKING.) THUS, FOR A READ-ONLY DISK DMSACF CAN READ IN ALL FILES, OR ALL '2' FILES, (AS IT DOES FOR THE S-DISK WHEN CALLED BY INITSYS) OR ANY CONDITIONS THAT SATISFY THE PARAMETER LIST. DMSACF GETS MORE HYPERBLOCKS FROM FREE STORAGE WHEN NEEDED AND REFILLS THE WORK BUFFER FROM DISK WHEN NEEDED, UNTIL ALL FST ENTRIES HAVE BEEN CHECKED AND MOVED INTO THE FST HYPERBLOCKS IF ACCEPTABLE. ALL APPROPRIATE COUNTS IN THE ACTIVE DISK TABLE (NUMBER OF FILES, POINTER TO LAST FST ENTRY, ETC.) ARE INITIALIZED AS NEEDED.
Calls to Other Routines
DMSFREE, DMSFRET, DMSDIOR, DMSACM (READMFD),