HPlogo HP-UX Reference > U

uwx_init_context(3X)

Integrity Systems Only
HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

uwx_init_context() — initialize the unwind context

SYNOPSIS

#include <uwx.h> int uwx_init_context( struct uwx_env *env, uint64_t ip, uint64_t sp, uint64_t bsp, uint64_t cfm, );

DESCRIPTION

uwx_init_context() is part of the Unwind Express Library for Integrity systems; see uwx(3X). uwx_init_context() provides the basic initial context as a starting point for unwinding. This initial context consists of the values of ip (instruction pointer), sp (stack pointer), bsp (backing store pointer), and cfm (current frame marker). The frame described by these values becomes the current frame.

These values alone are not usually sufficient for a complete stack unwind, but the unwind engine will use the copy-in callback routine to obtain additional context information as needed.

For self-unwinding, this entry point should not be used directly. Instead, use uwx_self_init_context().

Parameters

env

A pointer to an unwind environment object.

ip

The current instruction pointer.

sp

The current stack pointer.

bsp

The backing store pointer: the address in the register stack backing store where GR32 of the current frame would be stored by the register stack engine.

cfm

The current frame marker and epilog counter. Because the unwind library tracks the epilog counter as part of the ar.pfs register, this parameter should combine the cfm and epilog counter in the same way they are combined in the ar.pfs register when a function call is made. In other words, the value of cfm | (ec << 52) should be used as the initial cfm.

RETURN VALUE

uwx_init_context() returns UWX_OK on success. See uwx(3X) for error codes.

AUTHOR

The Unwind Express Library was developed by Hewlett-Packard.