The following is a high-level example of a CTRACE buffer find exit
routine:
- Locate the work area (field CTXIUSWA in the CTXI data area) and
determine if this routine has been called before.
- For the first call to this routine, do the following:
- Initialize CTXIUSWA.
- Use IPCS exit services or CTXI USERDATA, or both, to locate control
information in the dump needed to identify the trace buffers. Save
the anchor address in the work area.
- Locate the next trace buffer defined by the CTRACE control structure.
Save the buffer identified in the work area.
- Fill in the ES record to identify the trace buffer.
The
first time the exit is called, BLSRESSY is in 31-bit format. The storage
is large enough to hold the 64-bit format. When working with 64-bit
data, the buffer find exit converts BLSRESSY to the 64-bit format
by invoking BLSRES02.
BLSRES02 is an IPCS service that receives
the symbol table record (31 or 64 bits) and formats it into a 64-bit
output symbol table record. From then on the 64-bit format of BLSRESSY
is used every time the exit is invoked.
BLSRES02 is invoked
using CALL with standard register conventions. For example:
CALL BLSRES02(ZZ2,ESPA,ESP2)
where:
INPUT= ZZ2 - IPCS task variable
ESPA - EQUATE Symbol Record Parameter
OUTPUT= ESP2 - 64 Bit Symbol Table Parameter
- Set the return code.
- Return to the caller.