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
April 1, 1981
In the payroll control module (PAYROLL), the subroutine DMSLADAD must
be called to establish the linkage to auxiliary directory. This
call must be executed before any call is made to a payroll module that
is in the PAYDIRT auxiliary directory.
LA R1, PLIST SVC 202 DC AL4 (ERRTN) PLIST DS OF DC CL8' DMSLADAD' DC V(PAYDIRT) DC F'O' Next, all payroll modules must have their absolute core-image files
generated and the payroll auxiliary directory must be initialized. In
the example, the payroll control module (PAYROLL) is given a mode number
of 2 while the other payroll modules are given a mode number of 1. When the PAYROLL program is finally executed, only the files on the 194 disk
with a mode number of 2 will be accessed. This means only the PAYROLL control program (which includes the payroll auxiliary directory) will be
referenced from the resident directory. All the other payroll modules,
because they have mode numbers of 1, will be referenced via the payroll
auxiliary directory.
The following sequence of commands will
core-image files for the payroll modules and
auxiliary directory. ACCESS 194 A
create the absolute
initialize the payroll LOAD PAYROLL PAYDIRT GENKOD PAYROLL (now the auxiliary directory is included in the
payroll control module, but it is not yet
ini tialized. ) LOADMOD PAYROLL INCLUDE PAYROLL1 GEN MOD PA YROLL 1 (this sequence of three commands is repeated fo
eacb payroll module called by PAYROLL.) LOADMOD PAYROLL INCLUDE PAYSHIFT GENMOD PAYSHIFT LOADMOD PAYROLL GENDIRT PAYDIRT Y GENMOD PAYROLL MODULE A2 When it is time to execute the PAYROLL program, the 194 disk must be
accessed as the Y disk (the same mode letter as specified on the GENDIRT
command). Also, the 194 disk is accessed in a way that includes the PAYROLL control program in the resident directory but not the other
payroll modules. This is done by specifying a mode number of 2 on the ACCESS command. ACCESS 194 Y/S * * Y2 NOW, a request for a payroll module, such
successfully fulfilled. The auxiliary directory PAYOVERT will be found on the Y disk.
as PAYOVERT, can be
will be searched and Ngte: A disk referred to by an auxiliary directory must be accessed as a
read-only disk.
322 IBM VM/370 System Programmer's Guide
Previous Page Next Page