Go to main content

man pages section 3: Extended Library Functions, Volume 3

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ps_ptwrite(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 target process's address space 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+size1 is not part of the target process's address space.

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)