1 PLWP_GETXREGS(3PROC)   Process Control Library Functions  PLWP_GETXREGS(3PROC)
   2 
   3 NAME
   4      Plwp_getxregs, Plwp_setxregs - get and set extended register state
   5 
   6 LIBRARY
   7      Process Control Library (libproc, -lproc)
   8 
   9 SYNOPSIS
  10      #include <libproc.h>
  11 
  12      int
  13      Plwp_getxregs(struct ps_prochandle *P, lwpid_t lwpid,
  14          prxregset_t *xregs);
  15 
  16      int
  17      Plwp_setxregs(struct ps_prochandle *P, lwpid_t lwpid,
  18          const prxregset_t *xregs);
  19 
  20 DESCRIPTION
  21      The Plwp_getxregs() and Plwp_setxregs() functions get and set the
  22      extended register state of the thread lwpid in the process handle P.
  23 
  24      The extended register state is defined by the architecture.  These
  25      registers may refer to optional registers that have become common on the
  26      platform, but are not part of the standard ABI and thus not covered by
  27      functions such as Plwp_getregs(3PROC) and Plwp_getfpregs(3PROC).
  28 
  29      The Plwp_getxregs() function gets the extended register state information
  30      and places it into xregs.  Where as the Plwp_setxregs() function sets the
  31      extended register state information in xregs for the process handle P.
  32 
  33      Processes must be stopped prior to obtaining the register state of
  34      individual threads.  Processes may be stopped with Pstop(3PROC).
  35 
  36      The prxregset_t structure is described in proc(4).
  37 
  38      One may not set the register values of a process that is not an active
  39      process, e.g. a process handle that refers to a file or a core file.
  40 
  41 RETURN VALUES
  42      Upon successful completion, the Plwp_getxregs() and Plwp_setxregs()
  43      functions return 0 and get or set the register state.  Otherwise, -1 is
  44      returned and errno is set to indicate the error.
  45 
  46 ERRORS
  47      For a full list of possible errors see the DIAGNOSTICS section in
  48      proc(4).
  49 
  50      The Plwp_getxregs() and Plwp_setxregs() function will fail if:
  51 
  52      ENODATA            The process handle P does not have any extended
  53                         register state information.
  54 
  55      EBUSY              The process handle P refers to a live process and it
  56                         is not stopped.
  57 
  58      ENOENT             The process handle P refers to a live process and
  59                         there is no thread with id lwpid.
  60 
  61      EINVAL             The process handle P refers to a core file and there
  62                         is no thread with id lwpid.
  63 
  64 ARCHITECTURE
  65      The Plwp_getxregs() and Plwp_setxregs() functions are only available on
  66      SPARC platforms.
  67 
  68 INTERFACE STABILITY
  69      Uncommitted
  70 
  71 MT-LEVEL
  72      See LOCKING in libproc(3LIB).
  73 
  74 SEE ALSO
  75      libproc(3LIB), Plwp_getfpregs(3PROC), Plwp_getregs(3PROC),
  76      Plwp_setfpregs(3PROC), Plwp_setregs(3PROC), Pstop(3PROC), proc(4)
  77 
  78 illumos                          May 11, 2016                          illumos