PADDR_TO_CTF(3PROC) Process Control Library Functions PADDR_TO_CTF(3PROC)
NAME
Paddr_to_ctf,
Plmid_to_ctf,
Pname_to_ctf - lookup CTF data
LIBRARY
Process Control Library (libproc, -lproc)
SYNOPSIS
#include <libproc.h> ctf_file_t * Paddr_to_ctf(
struct ps_prochandle *P,
uintptr_t addr);
ctf_file_t * Plmid_to_ctf(
struct ps_prochandle *P,
Lmid_t lmid,
const char *name);
ctf_file_t * Pname_to_ctf(
struct ps_prochandle *P,
const char *name);
DESCRIPTION
The
Paddr_to_ctf(),
Plmid_to_ctf(), and
Pname_to_ctf() functions lookup
CTF (Compact C Type Format) data, for use with
libctf, from the process
represented by the handle
P. In all cases, the CTF sections of both
the running executable and its shared libraries are searched.
The CTF container returned is valid as long as the process handle
P is
valid. That is, until a call to
Prelease(3PROC) is made. Further,
consumers must not close the CTF container.
The
Paddr_to_ctf() function attempts to find the CTF section, if any,
that exists for the address
addr. Note, not all addresses correspond
to memory regions that have CTF data. For example, if a user creates a
region of anonymous memory through the
mmap(2) function, then it will
not have any corresponding CTF information.
The
Pname_to_ctf() function looks up the object named
name and returns
the corresponding CTF section, if any exists. Two special values may
be used for name. The macro PR_OBJ_EXEC refers to the executable
object itself and the macro PR_OBJ_LDSO refers to the object ld.so.1.
The
Plmid_to_ctf() function is similar to
Pname_to_ctf(). It allows
the passing of a link-map identifier,
lmid, which constricts the search
of the object named with
name to that link-map. The special value of
PR_LMID_EVERY indicates that every link-map should be searched, which
is equivalent in behavior to the
Pname_to_ctf() function.
RETURN VALUES
Upon successful completion, the
Paddr_to_ctf(),
Plmid_to_ctf(), and
Pname_to_ctf() functions return a pointer to the corresponding CTF
container. Otherwise, if none exists then NULL is returned.
INTERFACE STABILITY
UncommittedMT-LEVEL See
LOCKING in
libproc(3LIB).
SEE ALSO
libproc(3LIB),
ctf(5)illumos May 11, 2016 illumos