PC_ADDR0
is the address of a 7-byte area called the EXEC interface descriptor (EID),
which is made up as follows:
PC_GROUP
PC_FUNCT
PC_BITS1
PC_BITS2
PC_EIDOPT5
PC_EIDOPT6
PC_GROUP
Always X'0E', indicating that this is a program control request.
PC_FUNCT
One byte which defines the type of request, which for XPCREQ and
XPCREQC is always X'02', indicating a LINK request.
PC_BITS1
Existence bits that define which keywords that contain values were
specified. To obtain the value associated with a keyword, you need to
use the appropriate address from the command-level parameter list.
Before using this address you must check the associated existence bit
to ensure that the address is valid. If the existence bit is set off, the
keyword was not specified in the request and the address should not be
used. The symbolic and hexadecimal values of the existence bits are as
follows:
PC_EXIST1 (X'80')
Set if the request contains the keyword PROGRAM. If set,
PC_ADDR1 is meaningful. (This bit should always be set for a
LINK request.)
PC_EXIST2 (X'40')
Set if the request specifies the COMMAREA parameter. If set,
PC_ADDR2 is meaningful.
PC_EXIST3 (X'20')
Set if the request specifies the LENGTH parameter. If set,
PC_ADDR3 is meaningful.
PC_EXIST4 (X'10')
Set if the request specifies the INPUTMSG parameter. If set,
PC_ADDR4 is meaningful.
PC_EXIST5 (X'08')
Set if the request specifies the INPUTMSGLEN parameter. If
set, PC_ADDR5 is meaningful.
PC_EXIST6 (X'04')
Set if the request specifies the DATALENGTH parameter. If set,
PC_ADDR6 is meaningful.
PC_EXIST7 (X'02')
Set if the request specifies the SYSID parameter. If set,
PC_ADDR7 is meaningful.
PC_EXIST8 (X'01')
Set if the request specifies the TRANSID parameter. If set,
PC_ADDR8 is meaningful.
program control program exits
Chapter 1. Global user exit programs 161