Print this page
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/man/man3proc/proc_service.3proc.man.txt
+++ new/usr/src/man/man3proc/proc_service.3proc.man.txt
1 1 PROC_SERVICE(3PROC) Process Control Library Functions PROC_SERVICE(3PROC)
2 2
3 3 NAME
4 4 proc_service - process service interfaces
5 5
6 6 SYNOPSIS
7 7 #include <proc_service.h>
8 8
9 9 ps_err_e ps_pdmodel(struct ps_prochandle *ph,
10 10 int *data_model);
11 11
12 12
13 13 ps_err_e ps_pglobal_lookup(struct ps_prochandle *ph,
14 14 const char *object_name, const char *sym_name,
15 15 psaddr_t *sym_addr);
16 16
17 17
18 18 ps_err_e ps_pglobal_sym(struct ps_prochandle *ph,
19 19 const char *object_name, const char *sym_name,
20 20 ps_sym_t *sym);
21 21
22 22
23 23 ps_err_e ps_pread(struct ps_prochandle *ph, psaddr_t addr,
24 24 void *buf, size_t size);
25 25
26 26
27 27 ps_err_e ps_pwrite(struct ps_prochandle *ph, psaddr_t addr,
28 28 const void *buf, size_t size);
29 29
30 30
31 31 ps_err_e ps_pdread(struct ps_prochandle *ph, psaddr_t addr,
32 32 void *buf, size_t size);
33 33
34 34
35 35 ps_err_e ps_pdwrite(struct ps_prochandle *ph, psaddr_t addr,
36 36 const void *buf, size_t size);
37 37
38 38
39 39 ps_err_e ps_ptread(struct ps_prochandle *ph, psaddr_t addr,
40 40 void *buf, size_t size);
41 41
42 42
43 43 ps_err_e ps_ptwrite(struct ps_prochandle *ph, psaddr_t addr,
44 44 const void *buf, size_t size);
45 45
46 46
47 47 ps_err_e ps_pstop(struct ps_prochandle *ph);
48 48
49 49
50 50 ps_err_e ps_pcontinue(struct ps_prochandle *ph);
51 51
52 52
53 53 ps_err_e ps_lstop(struct ps_prochandle *ph, lwpid_t lwpid);
54 54
55 55
56 56 ps_err_e ps_lcontinue(struct ps_prochandle *ph, lwpid_t lwpid);
57 57
58 58
59 59 ps_err_e ps_lgetregs(struct ps_prochandle *ph, lwpid_t lwpid,
60 60 prgregset_t gregset);
61 61
62 62
63 63 ps_err_e ps_lsetregs(struct ps_prochandle *ph, lwpid_t lwpid,
64 64 const prgregset_t gregset);
65 65
66 66
67 67 ps_err_e ps_lgetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
68 68 prfpregset_t *fpregset);
69 69
70 70
71 71 ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lwpid,
72 72 const prfpregset_t *fpregset);
73 73
74 74
75 75 ps_err_e ps_pauxv(struct ps_prochandle *ph,
76 76 const auxv_t **auxp);
77 77
78 78
79 79 ps_err_e ps_kill(struct ps_prochandle *ph, int sig);
80 80
81 81
82 82 ps_err_e ps_lrolltoaddr(struct ps_prochandle *ph,
83 83 lwpid_t lwpid, psaddr_t go_addr, psaddr_t stop_addr);
84 84
85 85
86 86 void ps_plog(const char *fmt);
87 87
88 88
89 89 ps_err_e ps_lgetxregsize(struct ps_prochandle *ph,
90 90 lwpid_t lwpid, int *xregsize);
91 91
92 92
93 93 ps_err_e ps_lgetxregs(struct ps_prochandle *ph,
94 94 lwpid_t lwpid, caddr_t xregset);
95 95
96 96
97 97 ps_err_e ps_lsetxregs(struct ps_prochandle *ph,
98 98 lwpid_t lwpid, caddr_t xregset);
99 99
100 100
101 101 x86
102 102 ps_err_e ps_lgetLDT(struct ps_prochandle *ph, lwpid_t lwpid,
103 103 struct ssd *ldt);
104 104
105 105
106 106 DESCRIPTION
107 107 Every program that links libthread_db or librtld_db must provide a set
108 108 of process control primitives that allow libthread_db and librtld_db to
109 109 access memory and registers in the target process, to start and to stop
110 110 the target process, and to look up symbols in the target process. See
111 111 libc_db(3LIB). For information on librtld_db, refer to the Linker and
112 112 Libraries Guide.
113 113
114 114
115 115 Refer to the individual reference manual pages that describe these
116 116 routines for a functional specification that clients of libthread_db
117 117 and librtld_db can use to implement this required interface. The
118 118 <proc_service.h> header lists the C declarations of these routines.
119 119
120 120 FUNCTIONS
121 121 ps_pdmodel()
122 122 Returns the data model of the target process.
123 123
124 124
125 125 ps_pglobal_lookup()
126 126 Looks up the symbol in the symbol table of the
127 127 load object in the target process and returns
128 128 its address.
129 129
130 130
131 131 ps_pglobal_sym()
132 132 Looks up the symbol in the symbol table of the
133 133 load object in the target process and returns
134 134 its symbol table entry.
135 135
136 136
137 137 ps_pread()
138 138 Copies size bytes from the target process to the
139 139 controlling process.
140 140
141 141
142 142 ps_pwrite()
143 143 Copies size bytes from the controlling process
144 144 to the target process.
145 145
146 146
147 147 ps_pdread()
148 148 Identical to ps_pread().
149 149
150 150
151 151 ps_pdwrite()
152 152 Identical to ps_pwrite().
153 153
154 154
155 155 ps_ptread()
156 156 Identical to ps_pread().
157 157
158 158
159 159 ps_ptwrite()
160 160 Identical to ps_pwrite().
161 161
162 162
163 163 ps_pstop()
164 164 Stops the target process.
165 165
166 166
167 167 ps_pcontinue()
168 168 Resumes target process.
169 169
170 170
171 171 ps_lstop()
172 172 Stops a single lightweight process ( LWP )
173 173 within the target process.
174 174
175 175
176 176 ps_lcontinue()
177 177 Resumes a single LWP within the target process.
178 178
179 179
180 180 ps_lgetregs()
181 181 Gets the general registers of the LWP.
182 182
183 183
184 184 ps_lsetregs()
185 185 Sets the general registers of the LWP.
186 186
187 187
188 188 ps_lgetfpregs()
189 189 Gets the LWP`s floating point register set.
190 190
191 191
192 192 ps_lsetfpregs()
193 193 Sets the LWP`s floating point register set.
194 194
195 195
196 196 ps_pauxv()
197 197 Returns a pointer to a read-only copy of the
198 198 auxiliary vector of the target process.
199 199
200 200
201 201 ps_kill()
202 202 Sends signal to target process.
203 203
204 204
205 205 ps_lrolltoaddr()
206 206 Rolls the LWP out of a critical section when the
207 207 process is stopped.
208 208
209 209
210 210 ps_plog()
211 211 Logs a message.
212 212
213 213 ps_lgetxregsize()
214 214 Returns the size of the architecture-dependent
215 215 extra state registers.
216 216
217 217
218 218 ps_lgetxregs()
219 219 Gets the extra state registers of the LWP.
220 220
221 221
222 222 ps_lsetxregs()
223 223 Sets the extra state registers of the LWP.
224 224
225 225
226 226 x86
227 227 ps_lgetLDT()
228 228 Reads the local descriptor table of the LWP.
229 229
230 230
231 231 ATTRIBUTES
232 232 See attributes(7) for description of the following attributes:
233 233
234 234
235 235
236 236
237 237 +---------------+-----------------+
238 238 |ATTRIBUTE TYPE | ATTRIBUTE VALUE |
239 239 +---------------+-----------------+
240 240 |MT Level | Safe |
241 241 +---------------+-----------------+
242 242
243 243 SEE ALSO
244 244 rtld_db(3EXT), libc_db(3LIB), librtld_db(3LIB), ps_pread(3PROC),
245 245 attributes(7)
246 246
247 247
248 248 Linker and Libraries Guide
249 249
250 250 January 23, 2023 PROC_SERVICE(3PROC)
|
↓ open down ↓ |
250 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX