Home | History | Annotate | Download | only in doc
 t
Manual page created with latex2man on Thu Aug 16 09:44:45 MDT 2007
NOTE: This file is generated, DO NOT EDIT.
..

..
"UNW\\_INIT\\_LOCAL" "3" "16 August 2007" "Programming Library " "Programming Library "
NAME
unw_init_local -- initialize cursor for local unwinding

SYNOPSIS

#include <libunwind.h>

int unw_init_local(unw_cursor_t *c, unw_context_t *ctxt);

DESCRIPTION

The unw_init_local() routine initializes the unwind cursor pointed to by c with the machine-state in the context structure pointed to by ctxt. As such, the machine-state pointed to by ctxt identifies the initial stack frame at which unwinding starts. The machine-state must remain valid for the duration for which the cursor c is in use.

The unw_init_local() routine can be used only for unwinding in the address space of the current process (i.e., for local unwinding). For all other cases, unw_init_remote() must be used instead. From a behavioral point of view, the call:

.Vb ret = unw_init_local(&cursor, &ucontext); .Ve is equivalent to:

.Vb ret = unw_init_remote(&cursor, unw_local_addr_space, &ucontext); .Ve However, unwind performance may be better when using unw_init_local(). Also, unw_init_local() is available even when UNW_LOCAL_ONLY has been defined before including <libunwind.h>, whereas unw_init_remote() is not.

RETURN VALUE

On successful completion, unw_init_local() returns 0. Otherwise the negative value of one of the error-codes below is returned.

THREAD AND SIGNAL SAFETY

unw_init_local() is thread-safe as well as safe to use from a signal handler.

ERRORS

UNW_EINVAL unw_init_local() was called in a version of libunwind which supports remote unwinding only (this normally happens when calling unw_init_local() for a cross-platform version of libunwind).

UNW_EUNSPEC An unspecified error occurred.

UNW_EBADREG A register needed by unw_init_local() wasn't accessible.

SEE ALSO

libunwind(3), unw_init_remote(3)

AUTHOR

David Mosberger-Tang Email: dmosberger (at] gmail.com WWW: http://www.nongnu.org/libunwind/. NOTE: This file is generated, DO NOT EDIT.