28             int *xregsize);
  29 
  30 
  31        ps_err_e ps_lgetxregs(struct ps_prochandle *ph, lwpid_t lid,
  32             caddr_t xregset);
  33 
  34 
  35        ps_err_e ps_lsetxregs(struct ps_prochandle *ph, lwpid_t lid,
  36             caddr_t xregset);
  37 
  38 
  39 DESCRIPTION
  40        ps_lgetregs(), ps_lsetregs(), ps_lgetfpregs(), ps_lsetfpregs(),
  41        ps_lgetxregsize(), ps_lgetxregs(), ps_lsetxregs() read and write
  42        register sets from lightweight processes (LWPs) within the target
  43        process identified by ph.  ps_lgetregs() gets the general registers of
  44        the LWP identified by lid, and ps_lsetregs() sets them. ps_lgetfpregs()
  45        gets the LWP's floating point register set, while ps_lsetfpregs() sets
  46        it.
  47 
  48    SPARC Only
  49        ps_lgetxregsize(), ps_lgetxregs(), and ps_lsetxregs() are SPARC-
  50        specific. They do not need to be defined by a controlling process on
  51        non-SPARC architecture. ps_lgetxregsize() returns in *xregsize the size
  52        of the architecture-dependent extra state registers. ps_lgetxregs()
  53        gets the extra state registers, and ps_lsetxregs() sets them.
  54 
  55 RETURN VALUES
  56        PS_OK
  57                        The call returned successfully.
  58 
  59 
  60        PS_NOFPREGS
  61                        Floating point registers are neither available for this
  62                        architecture nor for this process.
  63 
  64 
  65        PS_NOXREGS
  66                        Extra state registers are not available on this
  67                        architecture.
  68 
  69 
  70        PS_ERR
  71                        The function did not return successfully.
  72 
  73 
  74 ATTRIBUTES
  75        See attributes(7) for description of the following attributes:
  76 
  77 
  78 
  79 
  80        +---------------+-----------------+
  81        |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
  82        +---------------+-----------------+
  83        |MT Level       | Safe            |
  84        +---------------+-----------------+
  85 
  86 SEE ALSO
  87        libc_db(3LIB), proc_service(3PROC), attributes(7), threads(7)
  88 
  89                               September 12, 2020            PS_LGETREGS(3PROC)
  | 
 
 
  28             int *xregsize);
  29 
  30 
  31        ps_err_e ps_lgetxregs(struct ps_prochandle *ph, lwpid_t lid,
  32             caddr_t xregset);
  33 
  34 
  35        ps_err_e ps_lsetxregs(struct ps_prochandle *ph, lwpid_t lid,
  36             caddr_t xregset);
  37 
  38 
  39 DESCRIPTION
  40        ps_lgetregs(), ps_lsetregs(), ps_lgetfpregs(), ps_lsetfpregs(),
  41        ps_lgetxregsize(), ps_lgetxregs(), ps_lsetxregs() read and write
  42        register sets from lightweight processes (LWPs) within the target
  43        process identified by ph.  ps_lgetregs() gets the general registers of
  44        the LWP identified by lid, and ps_lsetregs() sets them. ps_lgetfpregs()
  45        gets the LWP's floating point register set, while ps_lsetfpregs() sets
  46        it.
  47 
  48        ps_lgetxregsize(), ps_lgetxregs(), and ps_lsetxregs() are used to get
  49        and set the extended register set. Support for an extended register set
  50        depends on the instruction-set archicture. On platforms without support
  51        for these, controlling processes wlil still need to define them;
  52        however, they are allowed to simply return errors.
  53 
  54        ps_lgetxregsize() returns in *xregsize the size of the architecture-
  55        dependent extra state registers. ps_lgetxregs() gets the extra state
  56        registers, and ps_lsetxregs() sets them. When getting the registers,
  57        the size of xregset must be at least the size returned by
  58        ps_lgetxregsize().
  59 
  60 RETURN VALUES
  61        PS_OK
  62                        The call returned successfully.
  63 
  64 
  65        PS_NOFREGS
  66                        Floating point registers are neither available for this
  67                        architecture nor for this process.
  68 
  69 
  70        PS_NOXREGS
  71                        Extra state registers are not available on this
  72                        architecture.
  73 
  74 
  75        PS_ERR
  76                        The function did not return successfully.
  77 
  78 
  79 ATTRIBUTES
  80        See attributes(7) for description of the following attributes:
  81 
  82 
  83 
  84 
  85        +---------------+-----------------+
  86        |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
  87        +---------------+-----------------+
  88        |MT Level       | Safe            |
  89        +---------------+-----------------+
  90 
  91 SEE ALSO
  92        libc_db(3LIB), proc_service(3PROC), attributes(7), threads(7)
  93 
  94                                January 23, 2023             PS_LGETREGS(3PROC)
  |