Register 1 contains the address of the DADSM preprocessing or postprocessing exit parameter list, obtained from storage below the 16MB line. The IECIEXPL macro maps the parameter list shown in Table 1:
Offset | Length or Bit Pattern | Name | Description |
---|---|---|---|
00 (X'00') | 4 | IEXID | ID = 'IEPL' |
04 (X'04') | 1 | IEXLENG | Length of parameter list |
05 (X'05') | 1 | IEXFUNC | DADSM function code |
0000 0111 | IEXVEXT | Extend (VSAM caller without DEB parameter). If IEXVEXT is on, you must ensure that your exit routines do not attempt to use the IEXPTR2 field (DEB address is undefined for the extend function). | |
0000 0110 | IEXPREL | PARTREL partial release | |
0000 0101 | IEXREN | Rename | |
0000 0100 | IEXPR | Partial release | |
0000 0011 | IEXSCR | Scratch | |
0000 0010 | IEXEXT | Extend | |
0000 0001 | IEXALL | Create (allocate) | |
06 (X'06') | 1 | IEXEXTCD | Extend code |
1000 0001 | Extend VSAM data set on current volume | ||
0000 0100 | Extend non-VSAM data set on new volume | ||
0000 0001 | Extend non-VSAM data set on current volume | ||
07 (X'07') | 1 | IEXFLAG | Flag byte |
1... .... | IEXENQ | VTOC is enqueued upon entry | |
.1.. .... | IEXVIO | VIO data set | |
..1. .... | IEXMF1 | IEXFMT1 points to PD1FMTID of a partial format-1 DSCB (partial DSCB passed as input to allocate, and JFCB is not available) | |
...1 .... | IEXFDSCB | Full format-1 DSCB (ALLOC=ABS) | |
.... xxx. | IEXAVGR | Average record value. These bits apply only to the allocate function (IEXALL) with the JFCB specified (IEXPTR1). At most, one of these three bits might be on. If all are zero, this is not an average record space request. | |
.... 1... | IEXAVGRU | Average record space request. Multiply JFCBPQTY and JFCBDRLH to get requested primary space in bytes. Multiply JFCBSQTY and JFCBDRLH to get requested secondary space in bytes. | |
.... .1.. | IEXAVGRK | Average record space request. Multiply JFCBPQTY, JFCBDRLH, and 1024 to get requested primary space in bytes. Multiply JFCBSQTY, JFCBDRLH, and 1024 to get requested secondary space in bytes. | |
.... ..1. | IEXAVGRM | Average record space request. Multiply JFCBPQTY, JFCBDRLH, and 1,048,576 to get requested primary space in bytes. Multiply JFCBSQTY, JFCBDRLH, and 1,048,576 to get requested secondary space in bytes. | |
.... ...1 | IEXFEDT2 | Extent descriptor table 2 (pointed to by IEXEDT2) contains
valid extent information. This bit is always on for pre- and postexit
for scratch and partial release and postexit for create and extend.
If you want your exit also to run on earlier systems that do not
have an extent descriptor table 2, then IBM recommends this logic
for non-VIO data sets:
If IEXFEDT2 is on, then use IEXEDT2, otherwise use IEXEDT1. |
|
08 (X'08') | 2 | IEXREASN | Installation reject reason code |
10 (X'0A') | BIT(8) | IEXDSFLG | Data set indicators |
111. .... | * | RESERVED | |
...1 .... | IEXCOMPR | Compressable extended | |
.... 1... | IEXPDSE | PDSE data set | |
.... .1.. | IEXSTRP | Extended format data set | |
.... ..1. | IEXPDSEX | HFS data set | |
.... ...1 | IEXVSAM | VSAM data set | |
11 (X'0B') | 1 | IEXNUMF9 | Number of contiguous format 9 DSCBs at the IEXFMT9 storage address that is provided by the pre-exit for create. In z/OS V1R10, the values of zero and one are valid. |
12 (X'0C') | 4 | IEXUCB | Address of the UCB. It will be an actual 31–bit UCB address above or below the 16MB line. The UCB address is not available to the pre-exit for VIO allocation. |
16 (X'10') | 4 | IEXPTR1 | Address of one of the following:
When the scheduler work area (SWA) resides above the 16MB line, you might have to modify the exit routine references to the IEXPTR1 field. See Characteristics of the IGGPRE00_EXIT and IGGPOST0_EXIT Exit Dynamic Exits, Exit Routines for further information. |
20 (X'14') | 4 | IEXPTR2 | Address of one of the following:
|
24 (X'18') | 4 | IEXDSN | Address of the data set name |
28 (X'1C') | 4 | IEXFMT1 | Address of the 96-byte data portion of the format-1 DSCB (pre-exit for scratch; pre- and post-exit for partial release and rename; post-exit for create). Might be supplied by pre-exit of create, and extend on new volume, to serve as a model if IEXMF1 and IEXVIO are zero. The format-1 DSCB is mapped by the IECSDSL1 macro. You can find the fields in z/OS DFSMSdfp Advanced Services.For large format data sets, unique bit settings in fields DS1FLAG1 and DS1LSTAR may need to be examined. |
32 (X'20') | 4 | IEXFMT9 | Storage address of a format 9 DSCB model. Pre-exit and post-exit for create. Might be supplied by the pre-exit for create to serve as a model if IEXMF1 is zero. Allows the pre-exit to alter the contents of the following fields: DS9ATRI1, DS9ATRV1. DS9ATRI1 and DS9ATRI2 may contain reserved fields. The values in the remaining fields will have no effect. The exit should leave reserved fields as binary zeroes to prevent them from updating the real DSCB when IBM defines new fields in future releases. |
36 (X'24') | 4 | IEXFMT3 | Address of the format-3 DSCB (ALLOC=ABS) |
40 (X'28') | 4 | IEXEDT1, IEXEXTBL | Address of extent descriptor table 1 with 2-byte relative track
addresses (pre- and postexit for scratch and partial release; postexit
for create and extend). For the VIO create post-exit, this is the
address of DS1EXT1 in the virtual format-1 DSCB (IEXEDT1 is a synonym
for IEXEXTBL).
If the volume capacity is more than 65,535 tracks, then this table does not contain extent information. There is no mapping macro for this table. This extent descriptor table is provided for coexistence with previous releases of the system. See the descriptions of IEXFEDT2 and IEXEDT2. |
44 (X'2C') | 4 | IEXDCC | DADSM return code (post-exit only). The return code from the called DADSM function is put here. |
48 (X'30') | 4 | IEXRSVWD | Reserved word for use by exit routine |
52 (X'34') | 4 | IEXEDT2 | Address of extent descriptor table 2 with 4-byte relative track addresses (pre- and postexit for scratch and partial release; postexit for create and extend). Macro ICVEDT02 maps this table. The format of this table is described in z/OS DFSMSdfp Advanced Services. For VIO create postexit, IEXEDT2 is the address of DS1EXT1 in the virtual format-1 DSCB. Also see bit IEXFEDT2. |