'\" t
.\" Manual page created with latex2man on Thu Aug 16 09:44:45 MDT 2007
.\" NOTE: This file is generated, DO NOT EDIT. 
.de Vb
.ft CW
.nf
..
.de Ve
.ft R

.fi
..
.TH "UNW\\_GETCONTEXT" "3" "16 August 2007" "Programming Library " "Programming Library "
.SH NAME
unw_getcontext
\-\- get initial machine\-state 
.PP
.SH SYNOPSIS

.PP
#include <libunwind.h>
.br
.PP
int
unw_getcontext(unw_context_t *ucp);
.br
.PP
.SH DESCRIPTION

.PP
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.  
.PP
This routine is normally implemented as a macro and applications 
should not attempt to take its address.  
.PP
.SH PLATFORM\-SPECIFIC NOTES

.PP
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 \fInot\fP
true and it is \fInot\fP
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.  
.PP
.SH RETURN VALUE

.PP
On successful completion, unw_getcontext()
returns 0.  
Otherwise, a value of \-1 is returned.  
.PP
.SH THREAD AND SIGNAL SAFETY

.PP
unw_getcontext()
is thread\-safe as well as safe to use 
from a signal handler.  
.PP
.SH SEE ALSO

.PP
libunwind(3),
unw_init_local(3)
.PP
.SH AUTHOR

.PP
David Mosberger\-Tang
.br
Email: \fBdmosberger@gmail.com\fP
.br
WWW: \fBhttp://www.nongnu.org/libunwind/\fP\&. 
.\" NOTE: This file is generated, DO NOT EDIT.