Type ASSEMBLE
Source Lines : 1,042
Fixes Applied : 7
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC321DS]
Module
DMSLST (LISTFILE)
Function
LISTFILE COMMAND. INFORMATION ABOUT THE SPECIFIED FILE(S) IS OUTPUT FOR THE USER.
Attributes
DISK RESIDENT, TRANSIENT
Operation
THE DISK(S) SEARCHED FOR THE GIVEN FILE(S) ARE DETERMINED BY DMSLSTA AS FOLLOWS: 1. IF FILEMODE IS GIVEN, DMSLAD IS CALLED TO REFERENCE THE GIVEN DISK; IF FOUND, DMSLSTA SEARCHES THE DIRECTORY TO FIND THE GIVEN FILE(S). IF NOT FOUND BY DMSLAD, I.E., THE DISK IS NOT LOGGED IN, AN ERROR IS RETURNED. 2. IF THE FILEMODE IS OMITTED, DMSLADN IS CALLED (REPEATEDLY IF NECESSARY), AND DMSLSTA SEARCHES THE PRIMARY DISK AND ALL ITS EXTENSIONS, TO FIND THE GIVEN FILE(S). 3. IF THE FILEMODE WAS GIVEN AS ASTERISK (*), THEN DMSLADN IS CALLED AS ABOVE, AND ALL DISKS, READ-WRITE AND READ-ONLY, ARE SEARCHED BY DMSLSTA FOR THE GIVEN FILE(S). WHEN DMSLSTA, IN SCANNING A PARTICULAR FST TABLE AS OBTAINED FROM DMSLAD OR DMSLADN, FINDS AN FST ENTRY WHOSE FILENAME AND FILETYPE SATISFY THE PARAMETER LIST, IT MOVES THE FILENAME, FILETYPE, FILEMODE, AND ANY OTHER REQUESTED INFORMATION FROM THAT FILE STATUS TABLE TO THE BUFFER. IF THE EXEC OPTION IS NOT REQUESTED, IT THEN CALLS DMSCWR TO TYPE THE CONTENTS OF THE BUFFER AT THE TERMINAL. (THE OUTPUT LINES MAY BE PRECEDED BY AN APPROPRIATE HEADING.) DMSLSTA REPEATS THIS PROCEDURE FOR EACH FILE STATUS TABLE SATISFYING THE FILENAME AND FILETYPE LISTING REQUIREMENTS. WHEN SCAN OF ALL PARTICIPATING FILE STATUS TABLES IS COMPLETED, DMSLSTA RETURNS TO THE CALLER. If the STACK option is specified, the output is HRC321DS placed in the stack in FIFO order. The STACK option HRC321DS implies the NOHEADER option. HRC321DS HRC321DS If the FIFO option is specified, the output is placed HRC321DS in the stack in FIFO order. The FIFO option implies HRC321DS the NOHEADER option. HRC321DS HRC321DS If the LIFO option is specified, the output is placed HRC321DS in the stack in LIFO order. The LIFO option implies HRC321DS the NOHEADER option. HRC321DS HRC321DS IF THE EXEC OPTION IS REQUESTED, THE CONTENTS OF THE BUFFER ARE NOT WRITTEN TO THE TERMINAL. INSTEAD, A CMS EXEC FILE, CONTAINING THE DUMMY ARGUMENTS "&1 &2" FOLLOWED BY THE BUFFER CONTENTS IS CREATED. THIS FILE MAY LATER BE ACCESSED BY THE EXEC PROGRAM, WHICH WILL REPLACE THE DUMMY ARGUMENTS. THE APPEND OPTION IS PRINCIPALLY THE SAME AS THE EXEC OPTION IN ITS MANNER OF EXECUTION, BUT WHEREAS THE EXEC OPTION WILL ERASE AN EXTANT CMS EXEC FILE, APPEND CAUSES NEW INFORMATION TO BE PLACED INTO SUCH A FILE. IF A 'CMS EXEC FILE DOES NOT EXIST WHEN THE APPEND OPTION IS SPECIFIED, ONE WILL BE CREATED -- IN A MANNER IDENTICAL TO HAVING SPECIFIED THE EXEC OPTION. THERE IS A VARIED AMOUNT OF INFORMATION THAT THE USER MAY REQUEST BE TYPED OR PLACED INTO CMS EXEC FILE. THE INFORMATION IS SERIALLY PRODUCED; I.E., IF THE DATA FROM THE RIGHTMOST COLUMNS ARE WANTED, THE DATA UP TO THOSE COLUMNS WILL BE PROVIDED. THE DEFAULT AMOUNT OF INFORMATION IS FILENAME, FILETYPE, FILEMODE, WITH NOHEADER. IF MORE INFORMATION IS REQUESTED, BY SPECIFYING FORMAT, ALLOC, DATE, OR LABEL, HEADER BECOMES THE DEFAULT OPTION. IF FORMAT IS ENTERED, THE RECORD FORMAT OF THE FILE, FIXED OR VARIABLE, AND THE LOGICAL RECORD LENGTH WILL BE PROVIDED. IF ALLOC IS ENTERED, THE AMOUNT OF DISK SPACE THAT CMS HAS ALLOCATED TO THE FILE IN TERMS OF BOTH THE NUMBER OF PHYSICAL BLOCKS USED, AND THE NUMBER OF LOGICAL RECORDS WITHIN THE FILE WILL BE PROVIDED. IF DATE IS ENTERED, THE CREATION DATE (MM/DD/YY) AND TIME (HH.MM) OF THE FILE WILL BE PROVIDED. IF LABEL IS ENTERED, THE VOLSER OF THE DISK UPON WHICH THE FILE RESIDES WILL BE INCLUDED AS THE FINAL ITEM. ALL OF THE ABOVE INFORMATION, EXCEPT DISK LABEL, COMES FROM THE FILE STATUS TABLE (FST) FOR THE RESPECTIVE FILE. THE DISK LABEL IS OBTAINED FROM THE ACTIVE DEVICE TABLE (ADT) FOR THAT DISK.
Calls to Other Routines
DMSLAD - FIND THE ACTIVE DISK TABLE BLOCK MATCHING THE MODE SPECIFIED DMSLADN - FIND THE NEXT ADT BLOCK IN THE ACTIVE DISK TABLE DMSCWR - TYPE A LINE OF FILE INFORMATION AT THE USER'S TERMINAL DMSERS - DELETE THE SPECIFIED FILE DMSFNSA - CLOSE THE SPECIFIED FILE DMSBWR - WRITE THE SPECIFIED FILE OUT ON DISK DMSERR - TYPE AN ERROR MESSAGE AT THE USER CONSOLE