CEEYDSAF is used to identify the DSA prior to the passed DSA. It
requires that the DSA used as input be a valid OS stackframe or an XPLINK stack
frame. It also requires that the stack format be passed so it uses
the proper unwind technique.
Recommendation: For performance reasons, whenever possible,
the DSA format should be passed to this service instead of determining
it dynamically.
Syntax
void
CEEYDSAF (
dsa_in,
dsa_prev,
dsa_format,(
physical),
(
ph_callee), (
ph_callee_dsa_format),
(
fc))
POINTER *dsa_in;
POINTER *dsa_prev;
INT4 *dsa_format;
INT4 *physical;
POINTER *ph_callee;
INT4 *ph_callee_dsa_format;
FEED_BACK *fc;
- CEEYDSAF
- From a non-XPLINK routine,
call this CWI interface as follows:
L R15,CEECAALEOV-CEECAA(,R12) Address of CAA in R12
L R15,0(,R15)
BALR R14,R15
- dsa_in (input)
- Address of an OS or XPLINK format
DSA.
- dsa_prev (output)
- Address of the OS or XPLINK format
DSA behind dsa_in.
- dsa_format (input/output)
- Format of DSA:
- 0
- OS
- 1
- XPLINK
- -1
- The CWI determines the dsa_format .
On input, it pertains to the format of the DSA of the dsa_in parameter.
On output, it pertains to the format of the returned DSA in the dsa_prev parameter.
The -1 indicates the CWI will attempt to determine the format of the
passed DSA first. In all cases, the DSA format returned will be for
the DSA returned by the service in dsa_prev.
- physical (input/optional)
- When physical = 1, physical unwinding requested. This means library-injected
and XPLINK transitional
stack frames are to be skipped over.
- ph_callee (output/optional)
- This parameter is designed to be used with logical unwinding.
It provides a pointer to the stack frame physically located "in
front" of the DSA returned as the previous logical. If no transitionals
or library-injected DSAs are present, this is simply the DSA passed
as input. If a transitional or an injected DSA is present, this is
a pointer to it.
- ph_callee_dsa_format (output)
- Format of DSA of Physical Callee : 0 = OS 1 = XPLINK Used
with the ph_callee parameter, this is the
DSA format of the returned callee.
- fc (output/optional)
- The parameter in which the callable service feedback code is placed.
The following conditions can result from this service.
Condition |
|
CEE000 |
Severity |
0 |
Msg_No |
n/a |
Message |
The service completed successfully |
CEE3EQ |
Severity |
2 |
Msg_No |
3546 |
Message |
An error occurred while attempting
to find the previous DSA. |
CEE3ER |
Severity |
2 |
Msg_No |
3547 |
Message |
The physical callee DSA was requested
and the physical callee format was not. |
CEE3ES |
Severity |
2 |
Msg_No |
3548 |
Message |
The callable service was passed a
DSA format of -1 and was unable to determine the format of the passed
DSA. |