Previous Topic: User Exit Requirements

Next Topic: Return Codes from a User Migration ID Exit

Input Parameters for User Exits

The migration ID exit is called with a parameter list.

Note: Although the exit is called in whatever AMODE it is linked with, all parameters are placed below 16 MB.

R1 points to a list of fullword addresses. These addresses in turn point to parameters. The format is as follows:

R1  ==> A(PARM1)
        A(PARM2)
        A(PARM3)
        A(PARM4)
        A(PARM5)
        A(PARM6+X'80000000')   (end of list)
PARM1

Function code. This is a fullword (DS F). The only value currently assigned is 0, meaning analyze the passed command.

PARM2

Four flag bytes. These are defined as follows:

Note: Only defined bits are shown here.

CMDFLAGS  DS   0XL4    FLAG BYTES
CMDFLAG1  DS   X       FLAG BYTE 1
CMD1RTPF  EQU  X'80'   1 - ROUTE CMD PREFIX DET'D
*                      (SKIPPED, REST EVALUATED)
CMD1MIGY  EQU  X'40'   1 - SOLVE SAYS NEED MIGID(0-NO)
CMDFLAG2  DS   X       FLAG BYTE 2
CMD2JES   EQU  X'80'   1 - APPARENT JES  CMD
CMD2SUBC  EQU  X'40'   1 - SUBSYS CMD (IN AOMSUBCM L)
CMD2MVSC  EQU  X'20'   1 - MVS CMD (IE FOUND IN TAB)
CMDFLAG3  DS   X       FLAG BYTE 3 (CMD INDS)
CMD3MDFY  EQU  X'80'   1 - MODIFY CMD
CMD3STOP  EQU  X'40'   1 - STOP   CMD
CMD3RPLY  EQU  X'20'   1 - REPLY  CMD (EXPL R ...)
CMD3SRPY  EQU  X'10'   1 - SHORT REPLY (#...)
CMDFLAG4  DS   X       FLAG BYTE 4
PARM3

Command buffer. This is a 128-byte buffer containing the command string, padded with blanks. There are no leading blanks, and at least one non-blank character. This is the complete command (uppercase).

PARM4

Length of the command. This is a fullword (DS F). It contains the non-blank length of the command text passed in PARM3. The value ranges from 1 to 126.

PARM5

Actual command buffer. This is the buffer (actually part of the buffer in PARM3) that contains the analyzed command.

Unless CMDFLAG1/CMD1RTPF is set, this is the same buffer (address) as PARM3.

If the route prefix flag is set, then this is the buffer (address) containing the routed command.

PARM6

Length of the actual command. This is a fullword (DS F). It contains the non-blank length of the command text passed in PARM5. The value ranges from 1 to 126.

Unless CMDFLAG1/CMD1RTPF is set, this is the same value as in PARM3.

If the route prefix flag (CMD1RTPF) is set, then this is the length of the routed command.

Note: Only one command buffer is used. If a ROUTE (RO) system command is detected, the second (actual) command buffer address is the address of the target command in the complete ROUTE command.