After a scan exit routine has completed, it supplies a return code
that indicates how successful the routine was in producing a usable
scan result:
- Code
- Meaning
- 00
- Successful completion - a usable scan result of the AREA or STRUCTURE
has been returned in BLSRSASY.
- 04
- Attention conditions detected - but a usable scan result of the
AREA or STRUCTURE has been returned in BLSRSASY.
- 08
- Error conditions detected - but a usable scan result of the AREA
or STRUCTURE has been returned in BLSRSASY.
- 12
- Symbol not resolved, possibly due to path to block not available,
block failed validation, or IPCS user requested early termination
of processing - NO usable scan result of the AREA or STRUCTURE
has been returned in BLSRSASY.
- 16
- Find exit unable to function, for example, GETMAIN failure - NO usable
scan result of the AREA or STRUCTURE has been returned in BLSRSASY.
The most important output from a scan exit routine is a description
of the results of scan processing. The description is provided by
filling in fields in the BLSRSASY data area.
The scan exit routine fills in the fields of BLSRSASY as follows:
- Attributes of the AREA or STRUCTURE are placed in the D field
of BLSRSASY. The D field is, itself, a structure that is described
by the IPCS mapping macro BLSRDATC.
- Scan flags are placed in the SF field within BLSRSASY.
- The GMT field within BLSRSASY is altered or set to zero (even
if it was already zero) to indicate that new scan results were produced.
- One of the following codes is placed in the SASYSRC field within
BLSRSASY. The code in the SASYSRC field summarizes the results of
the scan processing and indicates the validity of the scanned area
or structure.
- Code
- Meaning
- 00
- Normal block
- 04
- Attention condition(s) detected
Note: Scan routines provided by IBM® use this code when no problem
with the block can be identified on the basis of its address, and
the image of the block cannot be retrieved from the dump.
- 08
- Error condition(s) detected
Note: Scan routines provided by IBM use this code when pointers
in the block scanned address a block in which serious conditions are
detected.
- 12
- Serious condition(s) detected
Note: A scan exit routine must produce
this code the first time that it is called to scan a block. The process
of following pointers to add addressed blocks to the IPCS storage
map and determine whether they, in turn, are usable may require multiple
calls to the scan exit routine.
Code 00, 04, or 08 indicate that the block is usable.
Code 12 indicates that it is not.
- The C field within BLSRSASY may be used to save data between invocations
of a scan exit routine for one AREA or STRUCTURE. The data can include
information from the scanning of an unusable block or information
that is incomplete. Saving data in the C field can cause subsequent
calls to the scan exit routine to bypass the processing related to
the saved data.
The C field is, itself, a structure that consists
of a halfword binary field and 2816 bytes of space for data. The
halfword should be set to indicate the number of bytes of data supplied.