| PS_LGETREGS(3PROC) | Process Control Library Functions | PS_LGETREGS(3PROC) | 
ps_lgetregs, ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs, ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs - routines that access the target process register in libthread_db
#include <proc_service.h> ps_err_e ps_lgetregs(struct ps_prochandle *ph, lwpid_t lid,
prgregset_t gregset);
ps_err_e ps_lsetregs(struct ps_prochandle *ph, lwpid_t lid,
static prgregset_t gregset);
ps_err_e ps_lgetfpregs(struct ps_prochandle *ph, lwpid_t lid,
prfpregset_t *fpregs);
ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lid,
static prfpregset_t *fpregs);
ps_err_e ps_lgetxregsize(struct ps_prochandle *ph, lwpid_t lid,
int *xregsize);
ps_err_e ps_lgetxregs(struct ps_prochandle *ph, lwpid_t lid,
caddr_t xregset);
ps_err_e ps_lsetxregs(struct ps_prochandle *ph, lwpid_t lid,
caddr_t xregset);
ps_lgetregs(), ps_lsetregs(), ps_lgetfpregs(), ps_lsetfpregs(), ps_lgetxregsize(), ps_lgetxregs(), ps_lsetxregs() read and write register sets from lightweight processes (LWPs) within the target process identified by ph. ps_lgetregs() gets the general registers of the LWP identified by lid, and ps_lsetregs() sets them. ps_lgetfpregs() gets the LWP's floating point register set, while ps_lsetfpregs() sets it.
ps_lgetxregsize(), ps_lgetxregs(), and ps_lsetxregs() are used to get and set the extended register set. Support for an extended register set depends on the instruction-set archicture. On platforms without support for these, controlling processes wlil still need to define them; however, they are allowed to simply return errors.
ps_lgetxregsize() returns in *xregsize the size of the architecture-dependent extra state registers. ps_lgetxregs() gets the extra state registers, and ps_lsetxregs() sets them. When getting the registers, the size of xregset must be at least the size returned by ps_lgetxregsize().
PS_OK
PS_NOFREGS
PS_NOXREGS
PS_ERR
See attributes(7) for description of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE | 
| MT Level | Safe | 
libc_db(3LIB), proc_service(3PROC), attributes(7), threads(7)
| January 23, 2023 |