Type ASSEMBLE
Source Lines : 459
Fixes Applied : 4
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC105DS]
Module
DMSSTT
Function
TO LOCATE THE FILE STATUS TABLE ENTRY FOR A GIVEN FILE, AND IF FOUND TO PROVIDE THE CALLER WITH A COPY THEREOF.
Attributes
NUCLEUS RESIDENT, REENTRANT
Operation
DMSSTT CHECKS THE FILE NAME AND FILE TYPE FOR ILLEGAL CHARACTERS AND RETURNS IF ONE IS FOUND. THEN CHECK FOR VALID MODE SPECIFICATION IF INVALID RETURN. IF A MODE LETTER WAS GIVEN CALL DMSLAD TO FIND ADT. RETURN IF DISK IS NOT ACCESSED. DMSSTTE CALLS DMSLAF TO SEE IF THE GIVEN FILE IS IN THE ACTIVE FILE TABLE. IF FOUND, THE ACTIVE 40-BYTE FST ENTRY IS MOVED FROM AFTFST IN THE AFT BLOCK TO THE COPY AT STATEFST TO BE PROVIDED TO THE CALLER, AND THE STATER0 AND STATER1 WORDS FOLLOWING STATEFST ARE SET TO THE ADDRESSES OF THE ADT BLOCK AND THE FST ENTRY RESPECTIVELY; THEN V(STATEFST) IS STORED IN THE CALLER'S P-LIST (IF NECESSARY) AS DESCRIBED BELOW. IF THE FILE WAS NOT FOUND BY DMSLAF, DMSSTTE THEN CALLS DMSLFS TO FIND THE GIVEN FILE. IF NOT FOUND BY DMSLFS, THE ERROR CODE FROM DMSLFS (28 FOR FILE NOT FOUND) IS RETURNED TO THE CALLER AS SHOWN IN THE EXIT CONDITIONS. IF THE FILE WAS FOUND BY DMSLFS, THEN THE 40-BYTE ENTRY IS MOVED TO STATEFST, AND THE R0 AND R1 VALUES OBTAINED FROM DMSLFS ARE STORED AT THE STATER0 AND STATER1 WORDS FOLLOWING STATEFST. (THESE WORDS ARE USED BY RDBUF TO AVOID AN EXTRA SEARCH OF THE FST TABLES UNDER THE CIRCUMSTANCES GIVEN IN THE DMSBRD DESCRIPTION). WHERE THE FILE WAS FOUND BY FSTLKP, THE MODE LETTER IS STORED IN THE STATEFST COPY USING THE SAME ALGORITHM AS DMSLAFFE, BEING CAREFULLY CHOSEN FROM THAT OF THE CALLER'S PARAMETER LIST, OR THE ADTM OR ADTMX MODE GIVEN BY THE ACTIVE DISK TABLE. THE RESULT OF THE CHOICE OF MODE-LETTER FACILITATES THE FEATURE OF A READ-ONLY EXTENSION OF A GIVEN DISK. FOR EXAMPLE, IF A B-DISK IS A READ-ONLY EXTENSION OF A A-DISK, IF THE CALLER'S PARAMETER LIST SPECIFIED THE B-MODE, THE MODE STORED IN STATEFST WILL BE B; BUT IF THE CALLER SPECIFIED A OR '*', THE MODE STORED IN STATEFST WILL BE A. AFTER SETTING UP STATEFST AND THE TWO WORDS THAT FOLLOW, AS DESCRIBED DMSSTT STORES THE ADDRESS OF STATEFST IN THE CALLER'S P-LIST (UNLESS IT IS ALREADY THERE), AND RETURNS TO THE CALLER AS SHOWN IN THE EXIT CONDITIONS. Also fill in various members in an extended STATEFST. HRC105DS This is done for compatibility with later software HRC105DS which targets VM/SP, however, it is not possible to HRC105DS use the greater capacity of some of these counters HRC105DS with 800 byte disk blocks which are limited to 40 HRC105DS byte FSTs and cannot accomodate the larger values. HRC105DS
Calls to Other Routines
DMSLAF,DMSLFS,DMSLAD,DMSERR