| Current File : //usr/man/man3proc/ps_lgetregs.3proc |
'\" te
.\" Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
.TH ps_lgetregs 3PROC "21 May 2012" "SunOS 5.11" "Process Control Library Functions"
.SH NAME
ps_lgetregs, ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs, ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs, ps_lgetcxregsize, ps_lgetcxregs, ps_lsetcxregs \- routines that access the target process register in libthread_db
.SH SYNOPSIS
.LP
.nf
#include <proc_service.h>
\fBps_err_e\fR \fBps_lgetregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBprgregset_t\fR \fIgregset\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lsetregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBstatic prgregset_t\fR \fIgregset\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lgetfpregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBprfpregset_t *\fR\fIfpregs\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lsetfpregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBstatic prfpregset_t *\fR\fIfpregs\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lgetxregsize\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBint *\fR\fIxregsize\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lgetxregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBcaddr_t\fR \fIxregset\fR);
.fi
.LP
.nf
\fBps_err_e\fR \fBps_lsetxregs\fR(\fBstruct ps_prochandle *\fR\fIph\fR, \fBlwpid_t\fR \fIlid\fR,
\fBcaddr_t\fR \fIxregset\fR);
.fi
.LP
.nf
ps_err_e ps_lgetcxregsize(struct ps_prochandle *\fIph\fR, lwpid_t \fIlid\fR,
int *\fIcxregsize\fR);
.fi
.LP
.nf
ps_err_e ps_lgetcxregs(struct ps_prochandle *\fIph\fR, lwpid_t \fIlid\fR,
caddr_t \fIcxregset\fR);
.fi
.LP
.nf
ps_err_e ps_lsetcxregs(struct ps_prochandle *\fIph\fR, lwpid_t \fIlid\fR,
caddr_t \fIcxregset\fR);
.fi
.SH DESCRIPTION
.sp
.LP
\fBps_lgetregs()\fR, \fBps_lsetregs()\fR, \fBps_lgetfpregs()\fR, \fBps_lsetfpregs()\fR, \fBps_lgetxregsize()\fR, \fBps_lgetxregs()\fR, \fBps_lsetxregs()\fR, \fBps_lgetcxregsize()\fR, \fBps_lgetcxregs()\fR, and \fBps_lsetcxregs()\fR read and write register sets from lightweight processes (\fBLWP\fRs) within the target process identified by \fIph\fR. \fBps_lgetregs()\fR gets the general registers of the \fBLWP\fR identified by \fIlid\fR, and \fBps_lsetregs()\fR sets them. \fBps_lgetfpregs()\fR gets the \fBLWP\fR's floating point register set, while \fBps_lsetfpregs()\fR sets it.
.sp
.LP
\fBps_lgetxregsize()\fR, \fBps_lgetxregs()\fR, and \fBps_lsetxregs()\fR are system-dependent. \fBps_lgetxregsize()\fR returns in *\fIxregsize\fR the size of the architecture-dependent extra state registers. \fBps_lgetxregs()\fR gets the extra state registers, and \fBps_lsetxregs()\fR sets them. On systems that do not support extra state registers, these functions will return \fBPS_NOXREGS\fR.
.sp
.LP
\fBps_lgetcxregsize()\fR, \fBps_lgetcxregs()\fR, and \fBps_lsetcxregs()\fR are system-dependent functions that handle CPU-specific extended registers. \fIps_lgetcxregsize\fR returns in *\fIcxregsize\fR the size of CPU-specific extended registers. \fBps_lgetxregs()\fR gets CPU extended registers, and \fBps_lsetxregs()\fR sets them. On systems that do not support extended registers, these functions will return \fBPS_NOCXREGS\fR.
.SH RETURN VALUES
.sp
.ne 2
.mk
.na
\fB\fBPS_OK\fR\fR
.ad
.RS 15n
.rt
The call returned successfully.
.RE
.sp
.ne 2
.mk
.na
\fB\fBPS_NOFPREGS\fR\fR
.ad
.RS 15n
.rt
Floating point registers are neither available for this architecture nor for this process.
.RE
.sp
.ne 2
.mk
.na
\fB\fBPS_NOXREGS\fR\fR
.ad
.RS 15n
.rt
Extra state registers are not available on this system.
.RE
.sp
.ne 2
.mk
.na
\fB\fBPS_NOCXREGS\fR\fR
.ad
.RS 15n
.rt
Extended registers are not available on this system.
.RE
.sp
.ne 2
.mk
.na
\fB\fBPS_ERR\fR\fR
.ad
.RS 15n
.rt
The function did not return successfully.
.RE
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for description of the following attributes:
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
MT LevelSafe
.TE
.SH SEE ALSO
.sp
.LP
\fBlibc_db\fR(3LIB), \fBproc_service\fR(3PROC), \fBattributes\fR(5), \fBthreads\fR(5)