GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  UNW_INIT_LOCAL (3)

NAME

unw_init_local -- initialize cursor for local unwinding

CONTENTS

Synopsis
Description
Return Value
Thread And Signal Safety
Errors
See Also
Author

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:

    ret = unw_init_local(&cursor, &ucontext);


is equivalent to:

    ret = unw_init_remote(&cursor, unw_local_addr_space,
                          &ucontext);


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@gmail.com
WWW: http://www.nongnu.org/libunwind/.

Search for    or go to Top of page |  Section 3 |  Main Index


Programming Library UNW\_INIT\_LOCAL (3) 16 August 2007

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.