UNW_GETCONTEXT(3libunwind) Programming Library UNW_GETCONTEXT(3libunwind) NAME unw_getcontext -- get initial machine-state SYNOPSIS #include 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 ucontext_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 handler. 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)