PS_PREAD(3PROC) Process Control Library Functions PS_PREAD(3PROC)
ps_pread, ps_pwrite, ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite -
interfaces in libthread_db that target process memory access
#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);
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.
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.
See attributes(7) for description of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT Level | Safe |
+---------------+-----------------+
rtld_db(3EXT), libc_db(3LIB), librtld_db(3LIB), proc_service(3PROC),
attributes(7), threads(7)
October 12, 2007 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)