The volume not in library installation exit must reside in load
module CBRUXVNL. It is invoked by way of the MVS LINK macro and must
reside in a library in the LNKLST concatenation.
Since the volume not in library installation exit (CBRUXVNL) receives
control through an MVS LINK macro, the addressing mode on entry to
the exit may be either 24-bit or 31-bit addressing mode. Also, the
installation exit can be executed above or below the 16-megabyte line.
The addressing mode and the residency mode are determined by whatever
AMODE (for addressing mode) or RMODE (for residency mode) characteristics
are assigned to the load module when it is created by the MVS Linkage
Editor and Loader or the MVS Program Binder.
Because the exit may be invoked in a key other than the job key:
- All storage dynamically acquired by the exit must be obtained
from subpool 227, 228, 229, 230, 231, or 241.
- The exit must be written as a reentrant program and the resulting
load module must be link-edited on the system as REENTRANT.
The following characteristics describe the execution environment
in which the volume not in library installation exit is invoked:
- Task mode (not SRB mode)
- Unlocked
- Noncross memory mode (HASN = PASN = SASN)
- The 24-bit or 31-bit addressing mode depending on AMODE characteristics
assigned when load module was created
- APF-authorized load module or in an APF-authorized library
- Primary ASC mode (not AR mode)
- Enabled for I/O external interrupts
- PSW key of the caller might not match the job key
- State of the caller
Note: Because of the environment in which this exit can be given control,
invoking dynamic allocation from within this exit is not supported
and can lead to an abend.
Mapping macro CBRUXNPL must be included by the installation exit.