Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UNW_GETCONTEXT(3libunwind)    Programming Library     UNW_GETCONTEXT(3libunwind)

NAME
     unw_getcontext -- get initial machine-state

SYNOPSIS
     #include <libunwind.h>

     int unw_getcontext(unw_context_t *ucp);

DESCRIPTION
     The  unw_getcontext()  routine initializes the context structure pointed to
     by ucp with the machine state of the call site. The exact set of  registers
     stored  by unw_getcontext() is platform-specific, but, in general, at least
     all preserved (``callee-saved'') and all frame-related registers,	such  as
     the stack pointer, will be stored.

     This routine is normally implemented as a macro and applications should not
     attempt to take its address.

PLATFORM-SPECIFIC NOTES
     On  IA-64, unw_context_t has a layout that is compatible with that of ucon-
     text_t and such structures can be initialized with getcontext() instead  of
     unw_getcontext().	 However,  the reverse is not true and it is not safe to
     use structures initialized by unw_getcontext() in places where a  structure
     initialized  by  getcontext() is expected. The reason for this asymmetry is
     that unw_getcontext() is optimized for maximum performance  and  does  not,
     for example, save the signal mask.

RETURN VALUE
     On  successful  completion, unw_getcontext() returns 0.  Otherwise, a value
     of -1 is returned.

THREAD AND SIGNAL SAFETY
     unw_getcontext() is thread safe as well as safe to use from a  signal  han-
     dler.

SEE ALSO
     libunwind(3libunwind), unw_init_local(3libunwind)

AUTHOR
     David Mosberger-Tang
     Email: dmosberger@gmail.com
     WWW: http://www.nongnu.org/libunwind/.

Programming Library		 29 August 2023       UNW_GETCONTEXT(3libunwind)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unw_getcontext&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help