z/OS DFSMS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


IGGPRE00_EXIT and IGGPOST0_EXIT dynamic exits, exit routine Parameter List

z/OS DFSMS Installation Exits
SC23-6850-01

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:

Table 1. IGGPRE00, IGGPOST0 Parameter List. Mapped by IECIEXPL.
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:
  • JFCB or a copy of the JFCB (create, extend, partial release)
  • Data set name (PARTREL partial release)
  • Scratch or rename parameter list (See z/OS DFSMSdfp Advanced Services for a description of the scratch or rename parameter list.)

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:
  • DEB (extend on old volume)
  • DCB (partial release entered by CLOSE).
  • Partial DCB (PARTREL partial release, caller is VSAM). DCBFDAD and DCBDEBA are defined, the associated DEB has been constructed; DEBDSCBA, DEBNMEXT, and the DEBDASD segments are defined. DEBDVMOD is not defined.
  • Current volume list entry (scratch, rename)
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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014