auxiliary directory. By using the GENDIRT command, the file entries for
a given module are loaded only when the module is invoked. The format
of the GENDIRT command is:
GENDIRT directoryname [targetmode]
directoryname is the entry point of the auxiliary directory.
target mode is the mode letter of the disk containing the modules
referenced in the auxiliary directory. The letter is the
mode of the disk containing the modules at execution
time, not the mode of the disk at the initialization of
the directory_ At directory creation, all modules named
in the directory being generated must be on either the
A-disk or a read-only extension (that is, not all disks
are searched) The default value for targetmode is S, the system disk. It is your responsibility to determine
the usefulness of this operand at your installation and
to inform users of programs utilizing auxiliary
directories of the proper methodes) of access. ESTABLISHING THE PROPER LINKAGE
The CMS module, DMSLAD, entry point DMSLADAD, must be called by a user
program or interface to initialize the directory search order. The
subroutine, DMSLADAD, must be called via an SVC 202 with register 1
pointing to the appropriate PLIST. The disk containing the modules
listed in the auxiliary directory must be accessed as the mode
specified, or implied, by the GENDIRT command before the call is issued.
If the GENDIRT command has not been used, the user will receive the
messages: "File not found" or "Error reading file." Th-e coding necessary for the call is: LA R1,PLIST SVC 202 DC AL4(error return)
This call must be executed before the call to any module that is to
be located via an auxiliary directory.
The PLIST should be: PLIST DS DC
DC
DC OF CL8'DMSLADAD' V (d irectoryname) F'O' The auxiliary directory is copied into nucleus free storage. The
Active Disk Table (ADT) for the targetmode expressed or implied by the
GENDIRT command is found and its file directory address chain (ADTFDA)
is modified to include the nucleus copy of the auxiliary directory. A
flag, ADTPSTM, in ADTFLG2 is set to indicate that the directory chain
has been modified. 320 IBM VM/370 System Programmer's Guide
Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829
The address of the nucleus copy of the auxiliary directory is saved
in the third word of the input parameter list and the high order byte of
the third word is set to X'80' to indicate that the directory search
chain modified and that the next call to DMSLADAD is a clear
request.
To reset the directory search chain, a second call is made to DMSLADAD using the modified PLIST. DMSLADAD removes the nucleus copy of
the auxiliary directory from the chain and frees it. DMSLADAD does not,
however, restore the caller's PLIST to its initial state. An error handling routine should be ceded to handle nonzero return codes
in register 15. When register 15 contains 1 and the condition code is
set to 2, the disk specified by the targetmode operand of the GENDIRT
command was not accessed as that mode. When register 15 contains 2 and the condition code is set to 2, the
disk specified by the targetmode operand of the GENDIRT command has not
previously had its file directory chains modified; therefore, a call to DMSLADAD to restore the chain is invalid.
An Example of Creating an Auxiliary Directory consider an application called PAYROLL consisting of several modules.
It is possible to put these modules in an auxiliary directory rather
than in the resident directory. It is further possible to put the auxiliary directory on a disk other than the system disk. In this
example, the auxiliary directory will be placed on the Y disk.
First, generate the auxiliary directory TEXT deck for the payroll
application using the DMSFST macro: PAYDIRT DIRTBEG
DIRTEND START DC
DC RQU DMSFST DMSFS'I' DMSFST DMSFST DMSFST DMSFST DMSFST DMSFST DMSFST DM SF'ST DMSFST DC EQU END
o F'40' LENGTH OF FST ENTRY A (DIRTEND-DIRTBEG) SIZE OF DIRECTORY * PAYROLL1 PAYROLL2 PAYROLL3 PAYFICA PAYFEDTX PA YSTATE PAYCITY PAYCREDU PAYOVERT PAYSICK PAYSHIFT 2A(0) POINTER TO NEXT FST BLOCK *
In this example, the payroll control program (PAYROLL), the payroll auxiliary directory (PAYDIRT), and all the payroll modules reside on the
194 disk. Part 3. Conversational Monitor System (eMS) 321
Previous Page Next Page