Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (H-K)
Guardian Procedure Calls Reference Manual—522629-013
7-34
HIST_INIT_ Procedure
HF_Offset, or HF_CodeSpace. These are all selected by default. The user can
assign a subset. See HIST_FORMAT_ for a description of
workspace.FormatSelect options.
•
Protected contexts
When a run-time event that requires immediate attention, such as a hardware trap,
causes a signal to be generated, the uContext structure presented to the signal
handler contains either one or two contexts. The primary context is a complete
record of the procedure context at the site of the event. If that site was in protected
code, a secondary context contains part of the state at the site of transition into
protected code.
For example, if a user program invokes a CALLABLE procedure (switching into
privileged mode) and an attempt to access an invalid address occurs within the
privileged code, the primary context is that of the invalid operation and the
secondary context is that of the user procedure at the site of the call to the
CALLABLE procedure.
The secondary context is limited to those registers that, by convention, are saved
and restored by all subsequent callers. Registers used as temporary values
(including procedure parameters and return values) are not available.
See the HIST_FORMAT_ procedure description for a sample display of primary
and secondary context.
•
TNS process support
The HIST_INIT_ procedure can be called from a TNS process. However,
HO_Init_Here and HO_Init_Address are the only supported context option for TNS
callers. For native callers, the trace begins with the caller of HIST_INIT_, because
the activation records for HIST_INIT_ and its shell ($HIST_INIT_) are suppressed,
regardless of the setting of the HO_NoSuppress option.
TNS stack frames can also be encountered if a trace is begun within native
procedures and proceeds through TNS frames in a TNS process.
Example
error := HIST_INIT_ ( hws, vers, options, context );