PROGRAM DALLOC C ============== C C COMPONENT: DALLOC C --------- C C DATE: 27-NOV-79 C ---- C C AUTHOR: GR JOHNSON C ------ BATTELLE NORTHWEST C P O BOX 999 C RICHLAND WA 99352 C C SOURCE: FORTRAN IV-PLUS C ------ C C REVISIONS: 08-FEB-80 GR JOHNSON LOCK & UNLOCK QUALIFIERS C --------- AUDIT UPDATED VAF ENTRIES C C C C DESCRIPTION: C ----------- C C THE "DALLOC" DISK ALLOCATION UTILITY ALLOWS THE SYSTEM MANAGER TO C CREATE, UPDATE AND REMOVE USER FILE DIRECTORIES (UFD'S) AND ANY ASSOCIATED C ENTRIES IN THE VOLUME ALLOCATION FILE (VAF). THE UTILITY ALSO PROVIDES C VAF INITIALIZATION, VERIFICATION AND AUDITING OPERATIONS. C C C PDS> DALLOC [operation] C C C WHERE operation IS; C C NEW CREATE A NEW USER FILE DIRECTORY (UFD) AND C AN ASSOCIATED ENTRY IN THE VOLUME ALLOCATION C FILE. C C UPDATE UPDATE EXISTING VOLUME ALLOCATION ENTRIES. C THE VOLUME DEFAULT ALLOCATION MAY OPTIONALLY C BE UPDATED. C C REMOVE REMOVE AN EXISTING UFD AND ANY ASSOCIATED C ENTRY IN THE VOLUME ALLOCATION FILE. C C VERIFY VERIFY AND UPDATE THE VOLUME ALLOCATION FILE. C THE VOLUME ALLOCATION FILE IS UPDATED TO C INCLUDE ONE ENTRY FOR EACH DIRECTORY INCLUDED C IN THE MASTER DIRECTORY FILE. THE VERIFY C OPERATION MAY BE USED TO INITIALIZE AN EXISTING C VOLUME FOR DIRECTORY ALLOCATION. C C AUDIT REPORT DIRECTORY ALLOCATION FOR EACH ENTRY IN C THE VOLUME ALLOCATION FILE. LOCK ACCOUNTS C WITH EXCESSIVE STORAGE. C C C DESCRIPTION -- CNTD C C C C FORMAT 1 C -------- C C PDS> DALLOC NEW dev:uic/qual C C WHERE; C C dev: IS THE DEVICE ON WHICH THE DIRECTORY IS C TO BE CREATED. C C uic IS THE UIC OF THE UFD TO BE CREATED. C C /qual ONE OF THE FOLLOWING QUALIFIERS: C C /DALLOC[:n] C C DIRECTORY ALLOCATION LIMIT (BLOCKS). IF C "n" IS OMITTED VOLUME DEFAULT IS ASSUMED. C C /NODALLOC C C NO ALLOCATION LIMIT (IE: "UNLIMITED" STORAGE). C C C EXAMPLES: C C C A. PDS> DALLOC NEW DR0:[311,200]/DALLOC:1000 C ------------------------------------ C C B. PDS> DALLOC NEW DR0:[1,130]/NODALLOC C ------------------------------- C C C. PDS> DALLOC C ------ C Operation? NEW C --- C Device and UFD? DR0:[311,200] C ------------- C Allocation limit? 1000 C ---- C C C DESCRIPTION -- CNTD C C C C FORMAT 2 C -------- C C PDS> DALLOC UPDATE[/qual] dev:uic/limit C C WHERE; C C /qual ONE OR MORE OF THE FOLLOWING QUALIFIERS: C C /DEFAULT C C THE VOLUME DEFAULT IS TO BE UPDATED. C C /LOCK C C LOCK THE SPECIFIED ACCOUNT(S). C C /UNLOCK C C UNLOCK THE SPECIFIED ACCOUNT(S). C C /OUTPUT:filespec C C COMMAND OUTPUT IS TO BE WRITTEN TO THE C SPECIFIED FILE. C C /PRINT C C COMMAND OUTPUT IS TO BE PRINTED (EQUIVALENT C TO /OUTPUT:CL:DALLOC.LST) C C dev: IS THE DEVICE ON WHICH THE ENTRY TO BE C UPDATED RESIDES. C C uic IS THE UIC OF THE UFD(S) TO BE UPDATED. C C /limit ONE OF THE FOLLOWING QUALIFIERS: C C /DALLOC[:n] C C DIRECTORY ALLOCATION LIMIT (BLOCKS). IF C "n" IS OMITTED VOLUME DEFAULT IS ASSUMED. C C /NODALLOC C C NO ALLOCATION LIMIT (IE: "UNLIMITED" STORAGE). C C C DESCRIPTION -- CNTD C C C C FORMAT 2 C -------- C C C EXAMPLES: C C C A. PDS> DALLOC UPDATE DR0:[311,200]/DALLOC:1000 C --------------------------------------- C C B. PDS> DALLOC UPDATE DR0:[1,130]/NODALLOC C ---------------------------------- C C C. PDS> DALLOC UPDATE/PRINT DR0:[*,*]/DALLOC:1000 C ----------------------------------------- C C D. PDS> DALLOC UPDATE/DEFAULT DR0:/DALLOC:1000 C -------------------------------------- C C E. PDS> DALLOC C ------ C Operation? UPDATE C ------ C Device and UFD? DR0:[311,200] C ------------- C Allocation limit? 1000 C ---- C C F. PDS> DALLOC UPDATE/UNLOCK DR0:[311,200] C ---------------------------------- C C G. PDS> DALLOC C ------ C Operation? UPDATE/LOCK C ----------- C Device and UFD? DR0:[311,200] C ------------- C C C DESCRIPTION -- CNTD C C C C FORMAT 3 C -------- C C PDS> DALLOC REMOVE dev:uic C C WHERE; C C dev: IS THE DEVICE ON WHICH THE ENTRY TO BE C REMOVED RESIDES. C C uic IS THE UIC OF THE UFD TO BE REMOVED. C C C EXAMPLE: C C C A. PDS> DALLOC REMOVE DR0:[311,200] C --------------------------- C C C DESCRIPTION -- CNTD C C C C FORMAT 4 C -------- C C PDS> DALLOC VERIFY[/qual] dev: C C WHERE; C C /qual ONE OF THE FOLLOWING QUALIFIERS: C C /OUTPUT:filespec C C COMMAND OUTPUT IS TO BE WRITTEN TO THE C SPECIFIED FILE. C C /PRINT C C COMMAND OUTPUT IS TO BE PRINTED (EQUIVALENT C TO /OUTPUT:CL:DALLOC.LST) C C dev: IS THE DEVICE ON WHICH THE ALLOCATION MAP C TO BE VERIFIED RESIDES. C C C EXAMPLES: C C C A. PDS> DALLOC VERIFY DR0: C ------------------ C C B. PDS> DALLOC VERIFY/OUTPUT:VERIFY.LST DR0: C ------------------------------------- C C C DESCRIPTION -- CNTD C C C C FORMAT 5 C -------- C C PDS> DALLOC AUDIT[/quals] dev:[uic] C C WHERE; C C /quals ONE OR MORE OF THE FOLLOWING QUALIFIERS: C C /BRIEF C C LIST ONLY LOCKED UFD'S C C /OUTPUT:filespec C C COMMAND OUTPUT IS TO BE WRITTEN TO THE C SPECIFIED FILE. C C /PRINT C C COMMAND OUTPUT IS TO BE PRINTED (EQUIVALENT C TO /OUTPUT:CL:DALLOC.LST) C C dev: IS THE DEVICE ON WHICH THE ENTRY(S) TO BE C EXAMINED RESIDE. C C uic IS THE UIC OF THE UFD(S) TO BE AUDITED. IF C OMITTED, ALL ENTRIES FOR THE SPECIFIED VOLUME C ARE CONSIDERED. C C C EXAMPLE: C C C A. PDS> DALLOC AUDIT/PRINT DR0: C ----------------------- C C C I N S T A L L A T I O N C ======================= C C BUILD THE DISK ALLOCATION UTILITY C --------------------------------- C C PDS> @DAL.BLD C C REMOVE THE "...UFD" SYSTEM TASK C ------------------------------- C C PDS> REMOVE ...UFD C C INSTALL THE DISK ALLOCATION UTILITIES C ------------------------------------- C C PDS> INSTALL/TASK:$$$DAL [11,1]DAL C PDS> INSTALL/TASK:...UFD [11,1]DALUFD C C C G L O B A L P A R A M E T E R S A N D V A R I A B L E S C ============================================================= C C C INCLUDE 'VAFILE.COM/LIST' INCLUDE 'MDFILE.COM/LIST' INCLUDE 'PDSUPF.COM/LIST' INCLUDE 'PDSUPX.COM/LIST' INCLUDE 'USNPAR.COM/LIST' C C C I N I T I A L I Z A T I O N C =========================== C C C INITIALIZE GLOBAL PARAMETERS AN VARIABLES C INCLUDE 'USNPAR.DAT/NOLIST' C C C C INITIALIZE FCS ERROR PROCESSING C CALL IOERRS C C C C VERIFY COMMAND PRIVILEGE C CALL CHKPRV('[1,1]') C C C P R O C E S S D A L L O C C O M M A N D C =========================================== C C C C PARSE COMMAND LINE C 10 CALL DALCMD(IOPCOD) C C C C C COMMAND PROCESSING -- ROUTE TO OPERATION SUBROUTINES C GO TO (1001,1002,1003,1004,1005,1006,1007,1008,1009), IOPCOD C C C 1001 CALL DALNEW ! NEW CALL EXIT C 1002 CALL DALUPD ! UPDATE CALL EXIT C 1003 CALL UPDDEF ! UPDATE/DEFAULT CALL EXIT C 1004 CALL UPDLOK ! UPDATE/LOCK CALL EXIT C 1005 CALL UPDUNL ! UPDATE/UNLOCK CALL EXIT C 1006 CALL DALREM ! REMOVE CALL EXIT C 1007 CALL DALVFY ! VERIFY CALL EXIT C 1008 CALL DALADT ! AUDIT CALL EXIT C 1009 CALL ADTBRF ! AUDIT/BRIEF CALL EXIT C C END