A DESERV exit gets control once prior to any DESERV GET, PUT, RENAME,
UPDATE or DELETE function processing, and once immediately prior to
DESERV's return to the caller. A DESERV exit receives control in key
0 and supervisor state. Register 13 points to an 18-word key 0 register
save area.
The DESX DSECT maps the input to the exit routines and is defined
in the IGWDES macro. Register 1 points to the DESX on entry to the
exit routine. The DESX structure is shown in Table 1.
Table 1. DESX
Structure Mapping DESERV Exit Parameter ListOffset |
Length or Bit Pattern |
Name |
Description |
---|
0 (X'0') |
36 |
DESX |
(structure) |
0 (X'0') |
16 |
DESX_HEADER |
(character) |
0 (X'0') |
8 |
DESX_ID |
Eyecatcher - IGWDESX (character) |
08 (X'08') |
4 |
DESX_LEN |
Length of DESX (signed) |
X'24' |
DESX_LEN_IV |
Constant to be used with DESX_LEN |
12 (X'0C') |
1 |
DESX_LEV |
Control block level (character) |
X'01' |
DESX_LEV_IV |
Constant to be used with DESX_LEV |
13 (X'0D') |
3 |
- |
Reserved |
16 (X'10') |
4 |
DESX_DESP_PTR |
Address of caller's DESP (address) |
20 (X'14') |
4 |
DESX_DST |
Address of DESERV screen table (address) |
24 (X'18') |
1 |
DESX_CALLER_KEY |
Key of DESERV caller in bits 0-3 (unsigned) |
25 (X'19') |
1 |
DESX_FLAGS |
(bitstring) |
1... .... |
DESX_BLDL_BIT |
DESERV issues BLDL to process this GET request |
.1.. .... |
DESX_PREV_BIT |
EXIT called before DESERV PUT or GET function |
..1. .... |
DESX_POST_BIT |
EXIT called after DESERV PUT or GET function |
26 (X'1A') |
2 |
- |
Reserved |
28 (X'1C') |
4 |
DESX_RETURN_CODE |
Return code to be returned to DESERV caller (unsigned) |
32 (X'20') |
4 |
DESX_REASON_CODE |
Reason code to be returned to DESERV caller (unsigned) |
Note that the DESERV return and reason codes, with the exception
of the PUT codes, can be found in z/OS DFSMS Using Data Sets.
See Figure 1 for the PUT return
and reason codes.