PLWP_GETXREGS(3PROC) Process Control Library Functions PLWP_GETXREGS(3PROC) NNAAMMEE PPllwwpp__ggeettxxrreeggss, PPllwwpp__sseettxxrreeggss - get and set extended register state LLIIBBRRAARRYY Process Control Library (libproc, -lproc) SSYYNNOOPPSSIISS ##iinncclluuddee <> _i_n_t PPllwwpp__ggeettxxrreeggss(_s_t_r_u_c_t _p_s___p_r_o_c_h_a_n_d_l_e _*_P, _l_w_p_i_d___t _l_w_p_i_d, _p_r_x_r_e_g_s_e_t___t _*_x_r_e_g_s); _i_n_t PPllwwpp__sseettxxrreeggss(_s_t_r_u_c_t _p_s___p_r_o_c_h_a_n_d_l_e _*_P, _l_w_p_i_d___t _l_w_p_i_d, _c_o_n_s_t _p_r_x_r_e_g_s_e_t___t _*_x_r_e_g_s); DDEESSCCRRIIPPTTIIOONN The PPllwwpp__ggeettxxrreeggss() and PPllwwpp__sseettxxrreeggss() functions get and set the extended register state of the thread _l_w_p_i_d in the process handle _P. The extended register state is defined by the architecture. These registers may refer to optional registers that have become common on the platform, but are not part of the standard ABI and thus not covered by functions such as Plwp_getregs(3PROC) and Plwp_getfpregs(3PROC). The PPllwwpp__ggeettxxrreeggss() function gets the extended register state information and places it into _x_r_e_g_s. Where as the PPllwwpp__sseettxxrreeggss() function sets the extended register state information in _x_r_e_g_s for the process handle _P. Processes must be stopped prior to obtaining the register state of individual threads. Processes may be stopped with Pstop(3PROC). The pprrxxrreeggsseett__tt structure is described in proc(4). 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. RREETTUURRNN VVAALLUUEESS Upon successful completion, the PPllwwpp__ggeettxxrreeggss() and PPllwwpp__sseettxxrreeggss() functions return 00 and get or set the register state. Otherwise, --11 is returned and eerrrrnnoo is set to indicate the error. EERRRROORRSS For a full list of possible errors see the DDIIAAGGNNOOSSTTIICCSS section in proc(4). The PPllwwpp__ggeettxxrreeggss() and PPllwwpp__sseettxxrreeggss() function will fail if: ENODATA The process handle _P does not have any extended register state information. EBUSY The process handle _P refers to a live process and it is not stopped. ENOENT The process handle _P refers to a live process and there is no thread with id _l_w_p_i_d. EINVAL The process handle _P refers to a core file and there is no thread with id _l_w_p_i_d. AARRCCHHIITTEECCTTUURREE The PPllwwpp__ggeettxxrreeggss() and PPllwwpp__sseettxxrreeggss() functions are only available on SSPPAARRCC platforms. IINNTTEERRFFAACCEE SSTTAABBIILLIITTYY UUnnccoommmmiitttteedd MMTT--LLEEVVEELL See LLOOCCKKIINNGG in libproc(3LIB). SSEEEE AALLSSOO libproc(3LIB), Plwp_getfpregs(3PROC), Plwp_getregs(3PROC), Plwp_setfpregs(3PROC), Plwp_setregs(3PROC), Pstop(3PROC), proc(4) illumos May 11, 2016 illumos