PS_PREAD(3PROC) Process Control Library Functions PS_PREAD(3PROC)
NAME
ps_pread, ps_pwrite, ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite -
interfaces in libthread_db that target process memory access
SYNOPSIS
#include <proc_service.h>
ps_err_e ps_pread(
struct ps_prochandle *ph,
psaddr_t addr,
void *buf,
size_t size);
ps_err_e ps_pwrite(
struct ps_prochandle *ph,
psaddr_t addr,
const void *buf,
size_t size);
ps_err_e ps_pdread(
struct ps_prochandle *ph,
psaddr_t addr,
void *buf,
size_t size);
ps_err_e ps_pdwrite(
struct ps_prochandle *ph,
psaddr_t addr,
const void *buf,
size_t size);
ps_err_e ps_ptread(
struct ps_prochandle *ph,
psaddr_t addr,
void *buf,
size_t size);
ps_err_e ps_ptwrite(
struct ps_prochandle *ph,
psaddr_t addr,
const void *buf,
size_t size);
DESCRIPTION
These routines copy data between the address space of the target
process and the controlling process.
ps_pread() copies
size bytes
from address
addr in the target process into
buf in the controlling
process.
pr_pwrite() is like
ps_pread() except that the direction of
the copy is reversed; data is copied from the controlling process to
the target process.
ps_pdread() and
ps_ptread() behave identically to
ps_pread().
ps_pdwrite() and
ps_ptwrite() behave identically to
ps_pwrite().
These functions can be implemented as simple aliases for the
corresponding primary functions. They are artifacts of history that
must be maintained.
RETURN VALUES
PS_OK The call returned successfully.
size bytes were copied.
PS_BADADDR Some part of the address range from
addr through
addr+
size-
1 is not part of the address space of the
target process.
PS_ERR The function did not return successfully.
ATTRIBUTES
See
attributes(7) for description of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT Level | Safe |
+---------------+-----------------+
SEE ALSO
rtld_db(3EXT),
libc_db(3LIB),
librtld_db(3LIB),
proc_service(3PROC),
attributes(7),
threads(7) October 12, 2007 PS_PREAD(3PROC)