IBM SC33-1683-02 Server User Manual


 
Router exit return codes
Your exit routine must return a return code in register 15. The hexadecimal values
of the return code are shown in Table 35.
Table 35. MVS router exit return codes
Code Meaning
0 The exit has completed successfully. Control proceeds to the RACF front-end
routine for further security processing and an invocation of RACF.
C8 The exit has completed successfully. The MVS router translates this return
code to a router return code of ‘0’ and returns control to the issuer of the
RACROUTE macro (CICS), bypassing RACF processing. (See the next
section.)
CC The exit has completed successfully. The MVS router translates this return
code to a router return code of ‘4’ and returns control to CICS, bypassing
RACF processing. (See the next section.)
D0 The exit has completed successfully. The MVS router translates this return
code to a router return code of ‘8’ and returns control to CICS, bypassing
RACF processing. (See the next section.)
Other If the exit routine sets any return code other than those described above, the
MVS router returns control directly to CICS and passes the untranslated code
as the router return code. Further RACF processing is bypassed.
Passing control to a user-supplied ESM
Normally, a caller (such as CICS) invokes the MVS router and passes it request
type, requester, and subsystem parameters via the RACROUTE exit parameter list.
Using these parameters, the MVS router calls the router exit which, on completing
its processing, passes a return code to the router. If the return code is ‘0’, as
defined above, the router invokes RACF. RACF reports the result of that invocation
to the router by entering return and reason codes in register 15 and register 0
respectively. The router converts the RACF return and reason codes to router return
and reason codes and passes them to the caller. The router provides additional
information to the caller by placing the unconverted RACF return and reason codes
in the first and second words of the router input parameter list.
If your installation does not use RACF, you can make the MVS router exit pass
control to an alternative ESM. However, if you do so you must still provide CICS
with the RACF return and reason codes that it expects to receive. You set the
router exit return code, as defined in Table 35, so that RACF is not invoked; and
you simulate the results of a RACF invocation by coding the exit so that it places
the RACF return and reason codes in the first and second fullwords of the router
input parameter list. RACF return and reason codes are documented in the
MVS
Authorized Assembler Programming Reference
manual.
Note: Remember that it is possible for a subsystem other than CICS to call the
MVS router by issuing a RACROUTE macro. (Application programs too, may
issue RACROUTE macros directly.) Your router exit program can establish
whether the caller is CICS by checking the “eyecatcher” fields (UXPARROW,
UXPDFHXS, and UXPBLKID) in the installation data parameter list—see
“The installation data parameter list” on page 725.
the MVS router
Chapter 28. Invoking a user-written external security manager 723