The assembler calls the exit with a request type of 1 (OPEN) at the
start of the assembly. The exit type field indicates which exit is
being called. The OBJECT exit is type 5, and the PUNCH exit is type
4.
The exit sets the
return code in the Exit Parameter List to one of
these values:
- 0
- Instructs the assembler to open the object data set, and supply
the object records to the exit in later PROCESS calls.
Note: A
reason code of 16 indicates a REINIT call is required.
- 4
- Indicates that the exit writes the object records in later WRITE
calls. If you want to provide the assembler with the values for the
system variables &SYSLIN_DSN, &SYSLIN_MEMBER, and &SYSLIN_VOLUME,
then during the OPEN call for the OBJECT exit, the exit must set the reason code to
4 and place the values in the data set name, member name, and volume serial fields
of the exit-specific information block. If you want to provide the assembler with
the values for the system variables &SYSPUNCH_DSN, &SYSPUNCH_MEMBER,
and &SYSPUNCH_VOLUME, then during the OPEN call for the PUNCH
exit, the exit must set the reason code to 4 and place the values in
the data set name, member name, and volume serial fields of the exit-specific information block.
The assembler also shows the information for both object and punch
data sets in the Diagnostic Cross Reference and Assembler Summary
section of the listing, and includes it in the associated data file
Output File Information record.
Note: A reason code of 16
indicates a REINIT call is required.
- 16
- Instructs the assembler to open the object data set and make
no further calls to the exit.
If you provide a character string in the str4 suboption
of the EXIT assembler option, the buffer pointer field points to the character
string, and the buffer length contains the length of the character string.
The buffer length is set to zero if there is no character string.
Note: If both OBJECT and DECK are specified (so that the
exit is called twice), the optional character string specified in
the PARM string is passed each time.