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)
|