PLWP_GETASRS(3PROC) | Process Control Library Functions | PLWP_GETASRS(3PROC) |
Plwp_getasrs
,
Plwp_setasrs
— get and set
SPARCv9 ancillary state registers
Process Control Library (libproc, -lproc)
#include
<libproc.h>
int
Plwp_getasrs
(struct ps_prochandle
*P, lwpid_t lwpid, asrset_t
asrs);
int
Plwp_setasrs
(struct ps_prochandle
*P, lwpid_t lwpid, const
asrset_t asrs);
The
Plwp_getasrs
()
and
Plwp_setasrs
()
functions get and set the ancillary thread-specific register set of the
thread lwpid in the process handle
P.
The ancillary state registers are only present on 64-bit SPARCv9 processes. They contain information that is specific to the platform and are not included in the information obtained through functions such as Plwp_getregs(3PROC), Plwp_getfpregs(3PROC), and Plwp_getxregs(3PROC).
The
Plwp_getasrs
()
function reads the ancillary registers into asrs,
while the
Plwp_setasrs
()
sets the thread's ancillary registers to the values provided by
asrs.
Processes should be stopped prior to obtaining the register state of individual threads. Processes may be stopped with Pstop(3PROC).
The asrset_t structure is described in proc(5).
One may not set the register values of a process that is not an active process, e.g. a process handle that refers to a file or a core file.
Upon successful completion, the
Plwp_getasrs
() and
Plwp_setasrs
() functions return
0 and get or set
the register state. Otherwise,
-1 is returned
and
errno is
set to indicate the error.
For a full list of possible errors see the DIAGNOSTICS section in proc(5).
The Plwp_getasrs
() and
Plwp_setasrs
() function will fail if:
ENODATA
EBUSY
ENOENT
EINVAL
The
Plwp_getasrs
()
and
Plwp_setasrs
()
functions are only available on 64-bit SPARCv9
platforms.
See LOCKING in libproc(3LIB).
libproc(3LIB), Plwp_getfpregs(3PROC), Plwp_getregs(3PROC), Plwp_setregs(3PROC), Pstop(3PROC), proc(5)
February 21, 2023 | OmniOS |