The linkage is created as follows:
- For non-IBM modules, or modules written in languages other than
PL/X, the CALL statement must generate a V-type constant (VCON) with
the module name of a stub routine for the requested service. The
module names are defined as part of the callable services interface
described in Callable services descriptions. The VCON can
be resolved by link-editing the control section (CSECT) with the stub
routines provided as part of MVS™'s
system authorization facility (SAF). There is a stub for each service.
- The linkage loads a function code indicating the service requested
and calls the callable services router. The function codes that can
be used are described in z/OS Security Server RACF Data Areas.
- The callable services router calls an installation exit (IRRSXT00
for 31 bit callers or IRRSXT0X for 64 bit callers).
- The RACF® router invokes
the requested service routine based on the function code.
- The service routine provides the requested function and returns
to the SAF callable services router.
- The SAF callable services router calls the installation exit IRRSXT00
or IRRSXT0X a second time, sets the SAF return code, and returns to
the caller.