Nesting purge protection calls
Note that the START_ and STOP_PURGE_PROTECTION functions can be nested.
You should ensure that, if multiple START_PURGE_PROTECTION calls are issued
for a task, that the correct number of STOP_PURGE_PROTECTION calls are
issued to cancel the purge protection. If you issue two starts and only one stop,
purge protection is left on for the current task.
For example, for any current task, more than one global user exit program may be
driven. You must design your exit programs to ensure that purge protection is
correctly cancelled. An example of nesting is shown as follows:
XEIIN:
EXIT_PROG1: Calls START_PURGE_PROTECTION
XFCREQ:
EXIT_PROG2: Calls START_PURGE_PROTECTION
XFCREQC:
EXIT_PROG3: Calls STOP_PURGE_PROTECTION
XEIOUT:
EXIT_PROG4: Calls STOP_PURGE_PROTECTION
Loader functions
There are four XPI loader functions. These are the DFHLDLDX calls
ACQUIRE_PROGRAM, RELEASE_PROGRAM, DEFINE_PROGRAM, and
DELETE_PROGRAM.
DFHLDLDX calls cannot be used in any exit program invoked from any global
user exit point in the:
v Statistics domain
v Monitor domain
v Dump domain
v Dispatcher domain
v Transient data program.
The DEFINE_PROGRAM call
DEFINE_PROGRAM allows you to define new programs to the loader domain, or to
change the details of programs that have already been defined. The details that you
provide are recorded on the local catalog, and become immediately available. They
are used on all subsequent ACQUIRE requests for the named program. However,
note that program definitions made in this way are not retained over an XRF
takeover.
kernel domain functions
Chapter 3. The user exit programming interface (XPI) 321