All user exits are passed an Exit-Specific Information block pointed to by the Exit Parameter List. It contains a list of character data items which describe the data for the exit, and the absolute and relative record numbers for the record passed to the exit.
On entry to the exit, the Member Name field contains spaces (unless the data set is a SYSLIB data set), the Data Set Name field contains the path name, and the Volume Serial field contains spaces.
The Exit-Specific Information block passed to all exits, except the LISTING exit, is shown in Figure 25. The Exit-Specific Information block passed to the LISTING exit has additional parameters as shown in Figure 24.
0 31
*-----------------------* *-----------------------------*
| Ptr to Exit Block *------------------>|Member Name (255 bytes) |
*-----------------------* *-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Member Type (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Data Set Name (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Volume Serial (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Relative Record (4 bytes) |
*-----------------------------*
|Absolute Record (4 bytes) |
*-----------------------------*
|Linecount Value (4 bytes) |
*-----------------------------*
|Current page number (4 bytes)|
*-----------------------------*
0 31
*-----------------------* *-----------------------------*
| Ptr to Exit Block *------------------>|Member Name (255 bytes) |
*-----------------------* *-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Member Type (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Data Set Name (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Volume Serial (255 bytes) |
*-----------------------------*
|Reserved (1 byte) |
*-----------------------------*
|Relative Record (4 bytes) |
*-----------------------------*
|Absolute Record (4 bytes) |
*-----------------------------*The Exit-Specific Information block consists of these fields:
The assembler also sets this field as a parameter for the FIND operation. It is left-justified and padded with spaces.
For output files, the information should not be updated after it has been set by the OPEN call.
The assembler uses this field to update the system variable symbols, as described in Table 14 (z/OS and CMS) and Table 15 (z/VSE).
Always blank. This field is present to maintain compatibility with High Level Assembler running on z/VSE.
The file type of the member. This field is also set by the assembler as a parameter for the FIND operation. It is left-justified and padded with spaces.
For library data sets, the name includes the library and sublibrary name.
For output files, the information should not be updated after it has been set by the OPEN call.
The assembler uses this field to update the system variable symbols, as described in Table 14 (z/OS and CMS) and Table 15 (z/VSE).
For output files, the information should not be updated after it has been set by the OPEN call.
The assembler uses this field to update the system variable symbols, as described in Table 14 (z/OS and CMS) and Table 15 (z/VSE).
| Data Set | Member Name | Data Set Name | Volume Serial |
|---|---|---|---|
| SYSIN | &SYSIN_MEMBER | &SYSIN_DSN | &SYSIN_VOLUME |
| SYSLIB | &SYSLIB_MEMBER | &SYSLIB_DSN | &SYSLIB_VOLUME |
| SYSPRINT | &SYSPRINT_MEMBER | &SYSPRINT_DSN | &SYSPRINT_VOLUME |
| SYSTERM | &SYSTERM_MEMBER | &SYSTERM_DSN | &SYSTERM_VOLUME |
| SYSPUNCH | &SYSPUNCH_MEMBER | &SYSPUNCH_DSN | &SYSPUNCH_VOLUME |
| SYSLIN | &SYSLIN_MEMBER | &SYSLIN_DSN | &SYSLIN_VOLUME |
| SYSADATA | &SYSADATA_MEMBER | &SYSADATA_DSN | &SYSADATA_VOLUME |
| Data Set | Member Name | Data Set Name | Volume Serial |
|---|---|---|---|
| SYSIPT (IJSYSIN) | &SYSIN_MEMBER | &SYSIN_DSN | &SYSIN_VOLUME |
| Library | &SYSLIB_MEMBER | &SYSLIB_DSN | &SYSLIB_VOLUME |
| SYSLST (IJSYSLS) | &SYSPRINT_MEMBER | &SYSPRINT_DSN | &SYSPRINT_VOLUME |
| SYSLOG | &SYSTERM_MEMBER | &SYSTERM_DSN | &SYSTERM_VOLUME |
| SYSPCH (IJSYSPH) | &SYSPUNCH_MEMBER | &SYSPUNCH_DSN | &SYSPUNCH_VOLUME |
| SYSADAT | &SYSADATA_MEMBER | &SYSADATA_DSN | &SYSADATA_VOLUME |
For READ calls and WRITE calls, the exit should maintain the absolute record number. The number provided after READ calls is written to the associated data file (ADATA) in the Source Analysis record.
The linecount value is set to the value of the LINECOUNT assembler option before the OPEN call to the LISTING exit. This option contains the number of lines per page in the assembler listing. The exit may change the linecount value only during the OPEN call.
For PROCESS calls, the linecount field contains the number of logical records written to the current listing page. A page eject occurs when the number exceeds the linecount value specified in the LINECOUNT assembler option or during the OPEN call.
This field is only provided for the LISTING exit and only for the PROCESS, WRITE and CLOSE call types.
[ Top of Page | Previous Page | Next Page | Contents | Index ]