'\" 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\\_GET\\_PROC\\_INFO\\_BY\\_IP" "3" "16 August 2007" "Programming Library " "Programming Library "
.SH NAME
unw_get_proc_info_by_ip
\-\- get procedure info by IP 
.PP
.SH SYNOPSIS

.PP
#include <libunwind.h>
.br
.PP
int
unw_get_proc_info_by_ip(unw_addr_space_t as,
unw_word_t ip,
unw_proc_info_t *pip,
void *arg);
.br
.PP
.SH DESCRIPTION

.PP
The unw_get_proc_info_by_ip()
routine returns the same 
kind of auxiliary information about a procedure as 
unw_get_proc_info(),
except that the info is looked up by 
instruction\-pointer (IP) instead of a cursor. This is more flexible 
because it is possible to look up the info for an arbitrary procedure, 
even if it is not part of the current call\-chain. However, since it 
is more flexible, it also tends to run slower (and often much slower) 
than unw_get_proc_info().
.PP
The routine expects the followins arguments: as
is the 
address\-space in which the instruction\-pointer should be looked up. 
For a look\-up in the local address\-space, 
unw_local_addr_space
can be passed for this argument. 
Argument ip
is the instruction\-pointer for which the procedure 
info should be looked up and pip
is a pointer to a structure of 
type unw_proc_info_t
which is used to return the info. 
Lastly, arg
is the address\-space argument that should be used 
when accessing the address\-space. It has the same purpose as the 
argument of the same name for unw_init_remote().
When 
accessing the local address\-space (first argument is 
unw_local_addr_space),
NULL
must be passed for this 
argument. 
.PP
Note that for the purposes of libunwind,
the code of a 
procedure is assumed to occupy a single, contiguous range of 
addresses. For this reason, it is alwas possible to describe the 
extent of a procedure with the start_ip
and end_ip
members. If a single function/routine is split into multiple, 
discontiguous pieces, libunwind
will treat each piece as a 
separate procedure. 
.PP
.SH RETURN VALUE

.PP
On successful completion, unw_get_proc_info_by_ip()
returns 0. Otherwise the negative value of one of the error\-codes 
below is returned. 
.PP
.SH THREAD AND SIGNAL SAFETY

.PP
unw_get_proc_info()
is thread\-safe. If the local 
address\-space is passed in argument as,
this routine is also 
safe to use from a signal handler. 
.PP
.SH ERRORS

.PP
.TP
UNW_EUNSPEC
 An unspecified error occurred. 
.TP
UNW_ENOINFO
 Libunwind
was unable to locate 
unwind\-info for the procedure. 
.TP
UNW_EBADVERSION
 The unwind\-info for the procedure has 
version or format that is not understood by libunwind\&.
.PP
In addition, unw_get_proc_info()
may return any error 
returned by the access_mem()
call\-back (see 
unw_create_addr_space(3)).
.PP
.SH SEE ALSO

.PP
libunwind(3),
unw_create_addr_space(3),
unw_get_proc_name(3),
unw_get_proc_info(3),
unw_init_remote(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.