I L
parameter
List (PLlST)
filename
filetype
filemode
options of
control
statement
file I Lr Processing
Set up base registers and pointers. 2 Set up to read input control
statements.
3 Read control statements. If first
control statement is not DIRECTORY, issue message and
repeat read.
Process control statements.
(See Diagrams 4-2, 4-3, and 4-4 for
details.) If more statements to process,
return to read.
4 If last statement already processed,
perform final functions. (See
Diagram 4-5 for details.) I •••• CMSor\Nalt Notes Module Label Ref Notes
1 DMKDIR sets up registers 12, 13, and DMKDIR DMKDIRCT EOJ DIRECTORY NOT UPDATED
9 as base registers and sets up
pointers to the first UDEVBLOK and
the allocation record buffer.
are displayed and control returns to
CMS.
2 If running standalone, the headp.r line DMKDIR MSGRET
3 Control statements are read via SVC 202 when the Directory program is DMKDIR762E DIRECTORY CARD I MISSING B Directory Module Label Ref
TERM
DMKDIR READ
is printed: I I VM/370 USER DIRECTORY CREATION PROGRAM
RELEASE n I ,uo uod,,, tho "'''''0' of CMS. Whoo I I I the Directory program runs standalone,
the read function is performed either by I the GRAPHID routine (if the console is GRAPHID ENTER CARD READER DEVICE ADDRESS AND OPTIONS The program then reads a response
from the console. A read is issued to
the card reader indicated (if any). If the operator enters a null line in
response to the message, the IPL device
is used as the input card reader. If the EDIT option is specified, DIRFLAG is set to X'20'. If running under CMS, set the P-list
containing the filename, filetype and
filemode of the file containing the
directory control cards. If EDIT is
specified, the DIRFLAG is set to X'20. The STATE macro is issued to see if
the control statement file exists. If the file is not found, the messages, DMKDIR763E INVALID FILE­ NAME OR FILE NOT FOUND
a display device) or by the ST ARTIO STARTIO routine in all other cases. The READ
routine scans the control statement
PEFAUL13
and branches to the appropriate
processing routine. After processing
each control statement and executing
the associated routine, control to READ to process the next control
statement. 4 When the last statement is read and EXIT processed, the READ routine branches
and links to the EXIT routine.
CMS1 iEDITTEST Diagram 4-1. Overview of the Directory Program Chapter 4. t!KDIR--The Directcry Progras 83
Input Control Statement
Processing Identify the control statement
and perform the appropriate
processing.
2 If a USE R control statement, build a UMACBLOK and create
the UDIRBLOK. 3 If an ACCOUNT control
statement, update the UMACB LOK with the account number and
distribution code.
Output
First
Record UDIRBLOK UDIRBLOK UDIRBLOK 4 If an OPTION control statement,
update the UMACBLOK with the
machine options. ======> 5 If an MDISK control statement, build a UDEVBlOK and chain
it. L--J rL. Second
Record UMACBLOK UDEVBLOK
UDEVBLOK UMACBLOK UDEVBLOK
UDEVBLOK
Notes Module Label Ref Notes Module Label Ref
1 The READ routine branches and links DMKDIR REAI3 to the SCANNAME routine wit'l register 4 pointing to TABlE1. i&'AN
NAME
TABLE1 is searched for a keyword
4 If the OPTION control statement DMKDIR SCANOPTI does not follow a USER or IPl control statement, ERROR52 DMKDIR752E STATEMENT matching the control statement name
and control is passed to the routine SEQUENCE ERROR FOLLOW- ING USER user
indicated in the corresponding ADCON. appears on the console followed by ,2 If the USER control statement follows DMKDIR jsCANUSER a USER, ACCOUNT, OPTION, or IPl control statement, ERROR52 the statement that was out of
sequence. Directory processing is
terminated after scanning the
remaining statements for syntax. DMKDIR752E STATEMENT SEQUENCE ERROR FOlLOW- ING USER user
The SCANOPTI routine sets fields in
the UMACBlOK to indicate the
appears on the console followed by
machine options.
the statement that was out of sequence_
Directory processing is terminated after
5 The SCANMDIS routine branches DMKDIR SCANMDIS and links to the SCANNAME routine
scanning the remaining statements
for syntax.
with register 4 pointing to TABlE4. SCANNAME
TABlE4 is scanned by device type to
The last UDIRBlOK and UMACBlOK are masked off. Update the pointers
to the buffers and write out the
buffers that are fulL The SCANUSER routine locates a UDIRBlOK and
initializes it. Then the UMACBlOK is located and initialized.
get the corresponding device class_
The SCANMDIS routine then updates
the device type (UDEVTYPE) and class (UDEVTYPC) fields in the UDEVBlOK. The UDEVSTAT field is updated to indicate aT-disk
or long block, if either is present,
and the number of cylinders is updated.
3 If the ACCOUNT control card does DMKDIR not follow a USER, OPTION, or IPl control statement, ERROR52 For all disks other than T-disk, the
volume serial number, mode, and
password field of the UDEVBlOK are initialized. The mode is updated
DMKDIR752E STATEMENT (except for aT-disk). SEQUENCE ERROR FOllOW- ING USER user label Value Comments appears on the console followed by the UDEVR 00 R link-mode
statement that was out of sequence. UDEVRR 04 RR link-mode
Directory processing is terminated UDEVW 08 W link-mode
after scanning the remaining state-UDEVWR 12 WR link-mode
ments for syntax. UDEVM 16 M link-mode
UDEVMR 20 MR link-mode The SCANACCO routine updates the UDEVMW 24 MWlink-mode account number (UMACACCT) and
distribution code (UMACDIST) fields The SCANMDI S routine then branches CHAINDEV of the UMACBlOK. to the CHAINDEV routine to chain
the UDEVBlOK to the UMACBlOK. Diagram 4-2. DftKDIR Control statement Processinq
84 IBM VM/370 Service Routines Prograa Logic
Previous Page Next Page