The UEPCLPS exit-specific parameter
The UEPCLPS exit-specific parameter is included in both exit XNQEREQ and exit XNQEREQC, and contains the address of the command-level parameter structure. The command-level parameter structure contains four addresses, NQ_ADDR0 through NQ_ADDR3. It is defined in the DSECT NQ_ADDR_LIST, which you should copy into your exit program by including the statement COPY DFHNQUED.
The command-level parameter list is made up as
follows.
- NQ_ADDR0
- is the address of a 9-byte area called the EID, which is made
up as follows:
- NQ_GROUP
- NQ_FUNCT
- NQ_BITS1
- NQ_BITS2
- NQ_EIDOPT5
- NQ_EIDOPT6
- NQ_EIDOPT7
- NQ_EIDOPT8
- NQ_GROUP
- Always X'12', indicating that this is a task control request.
- NQ_FUNCT
- One byte that defines the type of request:
- X'04'
- ENQ
- X'06'
- DEQ
- NQ_BITS1
- Existence bits that define which arguments were specified. To
obtain the argument associated with a keyword, you need to use the
appropriate address from the command-level parameter structure. Before
using this address, you must check the associated existence bit. If
the existence bit is set off, the argument was not specified in the
request and the address should not be used.
- X'80'
- Set if the request contains an argument for the RESOURCE keyword. If set, NQ_ADDR1 is meaningful.
- X'40'
- Set if the request contains an argument for the LENGTH keyword. If set, NQ_ADDR2 is meaningful.
- X'20'
- Set if the request contains an argument for the MAXLIFETIME keyword. If set, NQ_ADDR3 is meaningful.
- NQ_BITS2
- Two bytes not used by the enqueue domain.
- NQ_EIDOPT5
- One byte not used by the enqueue domain.
- NQ_EIDOPT6
- One byte not used by the enqueue domain.
- NQ_EIDOPT7
- One byte not used by the enqueue domain.
- NQ_EIDOPT8
- Indicates whether certain keywords were specified on the request.
- X'04'
- NOSUSPEND was specified.
- X'02'
- DEQ was specified.
- X'01'
- ENQ was specified.
- NQ_ADDR1
- is the address of an area containing the value from RESOURCE.
- NQ_ADDR2
- is the address of the halfword value of LENGTH.
- NQ_ADDR3
- is the address of the fullword value of MAXLIFETIME.
The relationship between arguments, keywords, data types, and input/output types is summarized for the enqueue commands in Table 1.