Using CICS API commands in an early verification routine
An early verification routine can use CICS® application programming interface (API)
commands, provided it obeys the following interface rules:
- The routine must be written in assembler.
- Entry to the routine must be via the DFHEIENT macro, which saves the caller’s registers and establishes a CICS early verification API environment.
- Exit from the routine must be via the DFHEIRET macro, which releases the CICS early verification API environment and restores the caller’s registers.
- The routine must be link-edited with the special
security domain API stub, DFHXSEAI, instead of the
normal CICS API stub, DFHEAI0. The CICS early verification stub causes linkage
to a special interface routine that is aware of the SAF interface linkage
requirements, and saves the current CICS command environment. In addition, the
standard EXEC interface stub DFHEAI should also be included, immediately before
the early verification routine, with an ORDER statement:
INCLUDE SYSLIB(DFHXSEAI) INCLUDE SYSLIB(DFHEAI) ORDER DFHEAI,verify-program,DFHEAI0 ENTRY verify-program
The DFHEIENT and DFHEIRET macros are inserted by the CICS translator
unless you specify
*ASM XOPTS(NOPROLOG,NOEPILOG) as the first statement
of the program. The DFHEIENT macro assumes that register 15 points to its
first executable instruction.Upon return from the DFHEIENT macro, a CICS storage area mapped by the DFHEISTG macro has been established. The pointer DFHEIBP (and the register specified in the EIBREG parameter of DFHEIENT) contains the address of an EXEC interface block (EIB). DFHEICAP contains the pointer to the original parameter list supplied by the SAF interface.