]> git.saurik.com Git - apple/xnu.git/blame - bsd/dev/dtrace/sdt_subr.c
xnu-2422.115.4.tar.gz
[apple/xnu.git] / bsd / dev / dtrace / sdt_subr.c
CommitLineData
2d21ac55
A
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21/*
b0d623f7 22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
2d21ac55
A
23 * Use is subject to license terms.
24 */
25
b0d623f7 26/* #pragma ident "@(#)sdt_subr.c 1.13 08/06/13 SMI" */
2d21ac55
A
27
28#include <sys/sdt_impl.h>
29
30static dtrace_pattr_t vtrace_attr = {
31{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
32{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
33{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
34{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
35{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
36};
37
38static dtrace_pattr_t info_attr = {
39{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
40{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
41{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
42{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
43{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
44};
45
46static dtrace_pattr_t fpu_attr = {
47{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
48{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
49{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
50{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_CPU },
51{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
52};
53
54static dtrace_pattr_t fsinfo_attr = {
55{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
56{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
57{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
58{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
59{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
60};
61
62static dtrace_pattr_t stab_attr = {
63{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
64{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
65{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
66{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
67{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
68};
69
70static dtrace_pattr_t sdt_attr = {
71{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
72{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
73{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
74{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
75{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
76};
77
78sdt_provider_t sdt_providers[] = {
79 { "vtrace", "__vtrace____", &vtrace_attr, 0 },
80 { "sysinfo", "__cpu_sysinfo____", &info_attr, 0 },
81 { "vminfo", "__vminfo____", &info_attr, 0 },
82 { "fpuinfo", "__fpuinfo____", &fpu_attr, 0 },
83 { "sched", "__sched____", &stab_attr, 0 },
84 { "proc", "__proc____", &stab_attr, 0 },
85 { "io", "__io____", &stab_attr, 0 },
b0d623f7 86 { "ip", "__ip____", &stab_attr, 0 },
6d2010ae 87 { "tcp", "__tcp____", &stab_attr, 0 },
39236c6e 88 { "mptcp", "__mptcp____", &stab_attr, 0 },
2d21ac55
A
89 { "mib", "__mib____", &stab_attr, 0 },
90 { "fsinfo", "__fsinfo____", &fsinfo_attr, 0 },
b0d623f7
A
91 { "nfsv3", "__nfsv3____", &stab_attr, 0 },
92 { "nfsv4", "__nfsv4____", &stab_attr, 0 },
b0d623f7 93 { "sysevent", "__sysevent____", &stab_attr, 0 },
2d21ac55 94 { "sdt", "__sdt____", &sdt_attr, 0 },
39236c6e 95 { "boost", "__boost____", &stab_attr, 0},
b0d623f7 96 { NULL, NULL, NULL, 0 }
2d21ac55
A
97};
98
b0d623f7 99/* Warning: Need xnu cognate for disp_t. */
2d21ac55 100sdt_argdesc_t sdt_args[] = {
39236c6e 101 /* provider probename arg# arg-mapping native-type translated-type */
2d21ac55 102 { "sched", "wakeup", 0, 0, "struct thread *", "lwpsinfo_t *" },
b0d623f7 103 { "sched", "wakeup", 1, 1, "struct proc *", "psinfo_t *" },
2d21ac55
A
104 { "sched", "dequeue", 0, 0, "struct thread *", "lwpsinfo_t *" },
105 { "sched", "dequeue", 1, 0, "struct proc *", "psinfo_t *" },
106 { "sched", "dequeue", 2, 1, "disp_t *", "cpuinfo_t *" },
107 { "sched", "enqueue", 0, 0, "struct thread *", "lwpsinfo_t *" },
108 { "sched", "enqueue", 1, 0, "struct proc *", "psinfo_t *" },
109 { "sched", "enqueue", 2, 1, "disp_t *", "cpuinfo_t *" },
110 { "sched", "enqueue", 3, 2, "int", NULL },
b0d623f7
A
111 /* sched:::sleep has no arguments */
112 /* sched:::on-cpu has no arguments */
2d21ac55 113 { "sched", "off-cpu", 0, 0, "struct thread *", "lwpsinfo_t *" },
b0d623f7 114 { "sched", "off-cpu", 1, 1, "struct proc *", "psinfo_t *" },
2d21ac55
A
115 { "sched", "tick", 0, 0, "struct thread *", "lwpsinfo_t *" },
116 { "sched", "tick", 1, 0, "struct proc *", "psinfo_t *" },
117 { "sched", "change-pri", 0, 0, "struct thread *", "lwpsinfo_t *" },
118 { "sched", "change-pri", 1, 0, "struct proc *", "psinfo_t *" },
119 { "sched", "change-pri", 2, 1, "pri_t", NULL },
120 { "sched", "schedctl-nopreempt", 0, 0, "struct thread *", "lwpsinfo_t *" },
121 { "sched", "schedctl-nopreempt", 1, 0, "struct proc *", "psinfo_t *" },
122 { "sched", "schedctl-nopreempt", 2, 1, "int", NULL },
123 { "sched", "schedctl-preempt", 0, 0, "struct thread *", "lwpsinfo_t *" },
124 { "sched", "schedctl-preempt", 1, 0, "struct proc *", "psinfo_t *" },
125 { "sched", "schedctl-yield", 0, 0, "int", NULL },
126 { "sched", "surrender", 0, 0, "struct thread *", "lwpsinfo_t *" },
127 { "sched", "surrender", 1, 0, "struct proc *", "psinfo_t *" },
b0d623f7
A
128 { "sched", "surrender", 1, 0, "kthread_t *", "psinfo_t *" },
129 { "sched", "cpucaps-sleep", 0, 0, "kthread_t *", "lwpsinfo_t *" },
130 { "sched", "cpucaps-sleep", 1, 0, "kthread_t *", "psinfo_t *" },
131 { "sched", "cpucaps-wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
132 { "sched", "cpucaps-wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
2d21ac55
A
133
134 { "proc", "create", 0, 0, "struct proc *", "psinfo_t *" },
135 { "proc", "exec", 0, 0, "string", NULL },
136 { "proc", "exec-failure", 0, 0, "int", NULL },
137 /* proc:::exec-success has no arguments */
138 { "proc", "exit", 0, 0, "int", NULL },
139 { "proc", "fault", 0, 0, "int", NULL },
140 { "proc", "fault", 1, 1, "siginfo_t *", NULL },
141 { "proc", "lwp-create", 0, 0, "struct thread *", "lwpsinfo_t *" },
b0d623f7 142 { "proc", "lwp-create", 1, 0, "struct thread *", "psinfo_t *" },
2d21ac55
A
143 /* proc:::lwp-start has no arguments */
144 /* proc:::lwp-exit has no arguments */
145 { "proc", "signal-clear", 0, 0, "int", NULL },
146 { "proc", "signal-clear", 1, 1, "siginfo_t *", NULL },
147 { "proc", "signal-discard", 0, 0, "struct thread *", "lwpsinfo_t *" },
148 { "proc", "signal-discard", 1, 1, "struct proc *", "psinfo_t *" },
149 { "proc", "signal-discard", 2, 2, "int", NULL },
150 { "proc", "signal-handle", 0, 0, "int", NULL },
151 { "proc", "signal-handle", 1, 1, "siginfo_t *", NULL },
152 { "proc", "signal-handle", 2, 2, "void (*)(void)", NULL },
153 { "proc", "signal-send", 0, 0, "struct thread *", "lwpsinfo_t *" },
154 { "proc", "signal-send", 1, 1, "struct proc *", "psinfo_t *" },
155 { "proc", "signal-send", 2, 2, "int", NULL },
39236c6e
A
156 /* proc:::spawn-success has no arguments */
157 { "proc", "spawn-failure", 0, 0, "int", NULL },
158 { "proc", "spawn-fd-failure", 0, 0, "int", NULL },
159 { "proc", "spawn-open-failure", 0, 0, "string", NULL },
160 { "proc", "spawn-port-failure", 0, 0, "int", NULL },
2d21ac55
A
161 /* proc:::start has no arguments */
162
163 { "io", "start", 0, 0, "struct buf *", "bufinfo_t *" },
164 { "io", "start", 1, 0, "struct buf *", "devinfo_t *" },
165 { "io", "start", 2, 0, "struct buf *", "fileinfo_t *" },
166 { "io", "done", 0, 0, "struct buf *", "bufinfo_t *" },
167 { "io", "done", 1, 0, "struct buf *", "devinfo_t *" },
168 { "io", "done", 2, 0, "struct buf *", "fileinfo_t *" },
169 { "io", "wait-start", 0, 0, "struct buf *", "bufinfo_t *" },
170 { "io", "wait-start", 1, 0, "struct buf *", "devinfo_t *" },
171 { "io", "wait-start", 2, 0, "struct buf *", "fileinfo_t *" },
172 { "io", "wait-done", 0, 0, "struct buf *", "bufinfo_t *" },
173 { "io", "wait-done", 1, 0, "struct buf *", "devinfo_t *" },
174 { "io", "wait-done", 2, 0, "struct buf *", "fileinfo_t *" },
b0d623f7
A
175#if defined(__APPLE__)
176 { "io", "journal-start", 0, 0, "struct buf *", "bufinfo_t *" },
177 { "io", "journal-start", 1, 0, "struct buf *", "devinfo_t *" },
178 { "io", "journal-start", 2, 0, "struct buf *", "fileinfo_t *" },
179 { "io", "journal-done", 0, 0, "struct buf *", "bufinfo_t *" },
180 { "io", "journal-done", 1, 0, "struct buf *", "devinfo_t *" },
181 { "io", "journal-done", 2, 0, "struct buf *", "fileinfo_t *" },
182#endif /* __APPLE__ */
2d21ac55
A
183
184 { "mib", NULL, 0, 0, "int", NULL },
39236c6e 185
2d21ac55 186 { "fsinfo", NULL, 0, 0, "struct vnode *", "fileinfo_t *" },
39236c6e 187 { "fsinfo", NULL, 1, 1, "int", NULL },
b0d623f7
A
188
189 { "nfsv3", "op-getattr-start", 0, 0, "struct svc_req *",
190 "conninfo_t *" },
191 { "nfsv3", "op-getattr-start", 1, 1, "nfsv3oparg_t *",
192 "nfsv3opinfo_t *" },
193 { "nfsv3", "op-getattr-start", 2, 3, "GETATTR3args *", NULL },
194 { "nfsv3", "op-getattr-done", 0, 0, "struct svc_req *",
195 "conninfo_t *" },
196 { "nfsv3", "op-getattr-done", 1, 1, "nfsv3oparg_t *",
197 "nfsv3opinfo_t *" },
198 { "nfsv3", "op-getattr-done", 2, 3, "GETATTR3res *", NULL },
199 { "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
200 "conninfo_t *" },
201 { "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
202 "nfsv3opinfo_t *" },
203 { "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *", NULL },
204 { "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
205 "conninfo_t *" },
206 { "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
207 "nfsv3opinfo_t *" },
208 { "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *", NULL },
209 { "nfsv3", "op-lookup-start", 0, 0, "struct svc_req *",
210 "conninfo_t *" },
211 { "nfsv3", "op-lookup-start", 1, 1, "nfsv3oparg_t *",
212 "nfsv3opinfo_t *" },
213 { "nfsv3", "op-lookup-start", 2, 3, "LOOKUP3args *", NULL },
214 { "nfsv3", "op-lookup-done", 0, 0, "struct svc_req *",
215 "conninfo_t *" },
216 { "nfsv3", "op-lookup-done", 1, 1, "nfsv3oparg_t *",
217 "nfsv3opinfo_t *" },
218 { "nfsv3", "op-lookup-done", 2, 3, "LOOKUP3res *", NULL },
219 { "nfsv3", "op-access-start", 0, 0, "struct svc_req *",
220 "conninfo_t *" },
221 { "nfsv3", "op-access-start", 1, 1, "nfsv3oparg_t *",
222 "nfsv3opinfo_t *" },
223 { "nfsv3", "op-access-start", 2, 3, "ACCESS3args *", NULL },
224 { "nfsv3", "op-access-done", 0, 0, "struct svc_req *",
225 "conninfo_t *" },
226 { "nfsv3", "op-access-done", 1, 1, "nfsv3oparg_t *",
227 "nfsv3opinfo_t *" },
228 { "nfsv3", "op-access-done", 2, 3, "ACCESS3res *", NULL },
229 { "nfsv3", "op-commit-start", 0, 0, "struct svc_req *",
230 "conninfo_t *" },
231 { "nfsv3", "op-commit-start", 1, 1, "nfsv3oparg_t *",
232 "nfsv3opinfo_t *" },
233 { "nfsv3", "op-commit-start", 2, 3, "COMMIT3args *", NULL },
234 { "nfsv3", "op-commit-done", 0, 0, "struct svc_req *",
235 "conninfo_t *" },
236 { "nfsv3", "op-commit-done", 1, 1, "nfsv3oparg_t *",
237 "nfsv3opinfo_t *" },
238 { "nfsv3", "op-commit-done", 2, 3, "COMMIT3res *", NULL },
239 { "nfsv3", "op-create-start", 0, 0, "struct svc_req *",
240 "conninfo_t *" },
241 { "nfsv3", "op-create-start", 1, 1, "nfsv3oparg_t *",
242 "nfsv3opinfo_t *" },
243 { "nfsv3", "op-create-start", 2, 3, "CREATE3args *", NULL },
244 { "nfsv3", "op-create-done", 0, 0, "struct svc_req *",
245 "conninfo_t *" },
246 { "nfsv3", "op-create-done", 1, 1, "nfsv3oparg_t *",
247 "nfsv3opinfo_t *" },
248 { "nfsv3", "op-create-done", 2, 3, "CREATE3res *", NULL },
249 { "nfsv3", "op-fsinfo-start", 0, 0, "struct svc_req *",
250 "conninfo_t *" },
251 { "nfsv3", "op-fsinfo-start", 1, 1, "nfsv3oparg_t *",
252 "nfsv3opinfo_t *" },
253 { "nfsv3", "op-fsinfo-start", 2, 3, "FSINFO3args *", NULL },
254 { "nfsv3", "op-fsinfo-done", 0, 0, "struct svc_req *",
255 "conninfo_t *" },
256 { "nfsv3", "op-fsinfo-done", 1, 1, "nfsv3oparg_t *",
257 "nfsv3opinfo_t *" },
258 { "nfsv3", "op-fsinfo-done", 2, 3, "FSINFO3res *", NULL },
259 { "nfsv3", "op-fsstat-start", 0, 0, "struct svc_req *",
260 "conninfo_t *" },
261 { "nfsv3", "op-fsstat-start", 1, 1, "nfsv3oparg_t *",
262 "nfsv3opinfo_t *" },
263 { "nfsv3", "op-fsstat-start", 2, 3, "FSSTAT3args *", NULL },
264 { "nfsv3", "op-fsstat-done", 0, 0, "struct svc_req *",
265 "conninfo_t *" },
266 { "nfsv3", "op-fsstat-done", 1, 1, "nfsv3oparg_t *",
267 "nfsv3opinfo_t *" },
268 { "nfsv3", "op-fsstat-done", 2, 3, "FSSTAT3res *", NULL },
269 { "nfsv3", "op-link-start", 0, 0, "struct svc_req *",
270 "conninfo_t *" },
271 { "nfsv3", "op-link-start", 1, 1, "nfsv3oparg_t *",
272 "nfsv3opinfo_t *" },
273 { "nfsv3", "op-link-start", 2, 3, "LINK3args *", NULL },
274 { "nfsv3", "op-link-done", 0, 0, "struct svc_req *",
275 "conninfo_t *" },
276 { "nfsv3", "op-link-done", 1, 1, "nfsv3oparg_t *",
277 "nfsv3opinfo_t *" },
278 { "nfsv3", "op-link-done", 2, 3, "LINK3res *", NULL },
279 { "nfsv3", "op-mkdir-start", 0, 0, "struct svc_req *",
280 "conninfo_t *" },
281 { "nfsv3", "op-mkdir-start", 1, 1, "nfsv3oparg_t *",
282 "nfsv3opinfo_t *" },
283 { "nfsv3", "op-mkdir-start", 2, 3, "MKDIR3args *", NULL },
284 { "nfsv3", "op-mkdir-done", 0, 0, "struct svc_req *",
285 "conninfo_t *" },
286 { "nfsv3", "op-mkdir-done", 1, 1, "nfsv3oparg_t *",
287 "nfsv3opinfo_t *" },
288 { "nfsv3", "op-mkdir-done", 2, 3, "MKDIR3res *", NULL },
289 { "nfsv3", "op-mknod-start", 0, 0, "struct svc_req *",
290 "conninfo_t *" },
291 { "nfsv3", "op-mknod-start", 1, 1, "nfsv3oparg_t *",
292 "nfsv3opinfo_t *" },
293 { "nfsv3", "op-mknod-start", 2, 3, "MKNOD3args *", NULL },
294 { "nfsv3", "op-mknod-done", 0, 0, "struct svc_req *",
295 "conninfo_t *" },
296 { "nfsv3", "op-mknod-done", 1, 1, "nfsv3oparg_t *",
297 "nfsv3opinfo_t *" },
298 { "nfsv3", "op-mknod-done", 2, 3, "MKNOD3res *", NULL },
299 { "nfsv3", "op-null-start", 0, 0, "struct svc_req *",
300 "conninfo_t *" },
301 { "nfsv3", "op-null-start", 1, 1, "nfsv3oparg_t *",
302 "nfsv3opinfo_t *" },
303 { "nfsv3", "op-null-done", 0, 0, "struct svc_req *",
304 "conninfo_t *" },
305 { "nfsv3", "op-null-done", 1, 1, "nfsv3oparg_t *",
306 "nfsv3opinfo_t *" },
307 { "nfsv3", "op-pathconf-start", 0, 0, "struct svc_req *",
308 "conninfo_t *" },
309 { "nfsv3", "op-pathconf-start", 1, 1, "nfsv3oparg_t *",
310 "nfsv3opinfo_t *" },
311 { "nfsv3", "op-pathconf-start", 2, 3, "PATHCONF3args *", NULL },
312 { "nfsv3", "op-pathconf-done", 0, 0, "struct svc_req *",
313 "conninfo_t *" },
314 { "nfsv3", "op-pathconf-done", 1, 1, "nfsv3oparg_t *",
315 "nfsv3opinfo_t *" },
316 { "nfsv3", "op-pathconf-done", 2, 3, "PATHCONF3res *", NULL },
317 { "nfsv3", "op-read-start", 0, 0, "struct svc_req *",
318 "conninfo_t *" },
319 { "nfsv3", "op-read-start", 1, 1, "nfsv3oparg_t *",
320 "nfsv3opinfo_t *" },
321 { "nfsv3", "op-read-start", 2, 3, "READ3args *", NULL },
322 { "nfsv3", "op-read-done", 0, 0, "struct svc_req *",
323 "conninfo_t *" },
324 { "nfsv3", "op-read-done", 1, 1, "nfsv3oparg_t *",
325 "nfsv3opinfo_t *" },
326 { "nfsv3", "op-read-done", 2, 3, "READ3res *", NULL },
327 { "nfsv3", "op-readdir-start", 0, 0, "struct svc_req *",
328 "conninfo_t *" },
329 { "nfsv3", "op-readdir-start", 1, 1, "nfsv3oparg_t *",
330 "nfsv3opinfo_t *" },
331 { "nfsv3", "op-readdir-start", 2, 3, "READDIR3args *", NULL },
332 { "nfsv3", "op-readdir-done", 0, 0, "struct svc_req *",
333 "conninfo_t *" },
334 { "nfsv3", "op-readdir-done", 1, 1, "nfsv3oparg_t *",
335 "nfsv3opinfo_t *" },
336 { "nfsv3", "op-readdir-done", 2, 3, "READDIR3res *", NULL },
337 { "nfsv3", "op-readdirplus-start", 0, 0, "struct svc_req *",
338 "conninfo_t *" },
339 { "nfsv3", "op-readdirplus-start", 1, 1, "nfsv3oparg_t *",
340 "nfsv3opinfo_t *" },
341 { "nfsv3", "op-readdirplus-start", 2, 3, "READDIRPLUS3args *", NULL },
342 { "nfsv3", "op-readdirplus-done", 0, 0, "struct svc_req *",
343 "conninfo_t *" },
344 { "nfsv3", "op-readdirplus-done", 1, 1, "nfsv3oparg_t *",
345 "nfsv3opinfo_t *" },
346 { "nfsv3", "op-readdirplus-done", 2, 3, "READDIRPLUS3res *", NULL },
347 { "nfsv3", "op-readlink-start", 0, 0, "struct svc_req *",
348 "conninfo_t *" },
349 { "nfsv3", "op-readlink-start", 1, 1, "nfsv3oparg_t *",
350 "nfsv3opinfo_t *" },
351 { "nfsv3", "op-readlink-start", 2, 3, "READLINK3args *", NULL },
352 { "nfsv3", "op-readlink-done", 0, 0, "struct svc_req *",
353 "conninfo_t *" },
354 { "nfsv3", "op-readlink-done", 1, 1, "nfsv3oparg_t *",
355 "nfsv3opinfo_t *" },
356 { "nfsv3", "op-readlink-done", 2, 3, "READLINK3res *", NULL },
357 { "nfsv3", "op-remove-start", 0, 0, "struct svc_req *",
358 "conninfo_t *" },
359 { "nfsv3", "op-remove-start", 1, 1, "nfsv3oparg_t *",
360 "nfsv3opinfo_t *" },
361 { "nfsv3", "op-remove-start", 2, 3, "REMOVE3args *", NULL },
362 { "nfsv3", "op-remove-done", 0, 0, "struct svc_req *",
363 "conninfo_t *" },
364 { "nfsv3", "op-remove-done", 1, 1, "nfsv3oparg_t *",
365 "nfsv3opinfo_t *" },
366 { "nfsv3", "op-remove-done", 2, 3, "REMOVE3res *", NULL },
367 { "nfsv3", "op-rename-start", 0, 0, "struct svc_req *",
368 "conninfo_t *" },
369 { "nfsv3", "op-rename-start", 1, 1, "nfsv3oparg_t *",
370 "nfsv3opinfo_t *" },
371 { "nfsv3", "op-rename-start", 2, 3, "RENAME3args *", NULL },
372 { "nfsv3", "op-rename-done", 0, 0, "struct svc_req *",
373 "conninfo_t *" },
374 { "nfsv3", "op-rename-done", 1, 1, "nfsv3oparg_t *",
375 "nfsv3opinfo_t *" },
376 { "nfsv3", "op-rename-done", 2, 3, "RENAME3res *", NULL },
377 { "nfsv3", "op-rmdir-start", 0, 0, "struct svc_req *",
378 "conninfo_t *" },
379 { "nfsv3", "op-rmdir-start", 1, 1, "nfsv3oparg_t *",
380 "nfsv3opinfo_t *" },
381 { "nfsv3", "op-rmdir-start", 2, 3, "RMDIR3args *", NULL },
382 { "nfsv3", "op-rmdir-done", 0, 0, "struct svc_req *",
383 "conninfo_t *" },
384 { "nfsv3", "op-rmdir-done", 1, 1, "nfsv3oparg_t *",
385 "nfsv3opinfo_t *" },
386 { "nfsv3", "op-rmdir-done", 2, 3, "RMDIR3res *", NULL },
387 { "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
388 "conninfo_t *" },
389 { "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
390 "nfsv3opinfo_t *" },
391 { "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *", NULL },
392 { "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
393 "conninfo_t *" },
394 { "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
395 "nfsv3opinfo_t *" },
396 { "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *", NULL },
397 { "nfsv3", "op-symlink-start", 0, 0, "struct svc_req *",
398 "conninfo_t *" },
399 { "nfsv3", "op-symlink-start", 1, 1, "nfsv3oparg_t *",
400 "nfsv3opinfo_t *" },
401 { "nfsv3", "op-symlink-start", 2, 3, "SYMLINK3args *", NULL },
402 { "nfsv3", "op-symlink-done", 0, 0, "struct svc_req *",
403 "conninfo_t *" },
404 { "nfsv3", "op-symlink-done", 1, 1, "nfsv3oparg_t *",
405 "nfsv3opinfo_t *" },
406 { "nfsv3", "op-symlink-done", 2, 3, "SYMLINK3res *", NULL },
407 { "nfsv3", "op-write-start", 0, 0, "struct svc_req *",
408 "conninfo_t *" },
409 { "nfsv3", "op-write-start", 1, 1, "nfsv3oparg_t *",
410 "nfsv3opinfo_t *" },
411 { "nfsv3", "op-write-start", 2, 3, "WRITE3args *", NULL },
412 { "nfsv3", "op-write-done", 0, 0, "struct svc_req *",
413 "conninfo_t *" },
414 { "nfsv3", "op-write-done", 1, 1, "nfsv3oparg_t *",
415 "nfsv3opinfo_t *" },
416 { "nfsv3", "op-write-done", 2, 3, "WRITE3res *", NULL },
417
418 { "nfsv4", "null-start", 0, 0, "struct svc_req *", "conninfo_t *" },
419 { "nfsv4", "null-done", 0, 0, "struct svc_req *", "conninfo_t *" },
420 { "nfsv4", "compound-start", 0, 0, "struct compound_state *",
421 "conninfo_t *" },
422 { "nfsv4", "compound-start", 1, 0, "struct compound_state *",
423 "nfsv4opinfo_t *" },
424 { "nfsv4", "compound-start", 2, 1, "COMPOUND4args *", NULL },
425 { "nfsv4", "compound-done", 0, 0, "struct compound_state *",
426 "conninfo_t *" },
427 { "nfsv4", "compound-done", 1, 0, "struct compound_state *",
428 "nfsv4opinfo_t *" },
429 { "nfsv4", "compound-done", 2, 1, "COMPOUND4res *", NULL },
430 { "nfsv4", "op-access-start", 0, 0, "struct compound_state *",
431 "conninfo_t *"},
432 { "nfsv4", "op-access-start", 1, 0, "struct compound_state *",
433 "nfsv4opinfo_t *" },
434 { "nfsv4", "op-access-start", 2, 1, "ACCESS4args *", NULL },
435 { "nfsv4", "op-access-done", 0, 0, "struct compound_state *",
436 "conninfo_t *" },
437 { "nfsv4", "op-access-done", 1, 0, "struct compound_state *",
438 "nfsv4opinfo_t *" },
439 { "nfsv4", "op-access-done", 2, 1, "ACCESS4res *", NULL },
440 { "nfsv4", "op-close-start", 0, 0, "struct compound_state *",
441 "conninfo_t *" },
442 { "nfsv4", "op-close-start", 1, 0, "struct compound_state *",
443 "nfsv4opinfo_t *" },
444 { "nfsv4", "op-close-start", 2, 1, "CLOSE4args *", NULL },
445 { "nfsv4", "op-close-done", 0, 0, "struct compound_state *",
446 "conninfo_t *" },
447 { "nfsv4", "op-close-done", 1, 0, "struct compound_state *",
448 "nfsv4opinfo_t *" },
449 { "nfsv4", "op-close-done", 2, 1, "CLOSE4res *", NULL },
450 { "nfsv4", "op-commit-start", 0, 0, "struct compound_state *",
451 "conninfo_t *" },
452 { "nfsv4", "op-commit-start", 1, 0, "struct compound_state *",
453 "nfsv4opinfo_t *" },
454 { "nfsv4", "op-commit-start", 2, 1, "COMMIT4args *", NULL },
455 { "nfsv4", "op-commit-done", 0, 0, "struct compound_state *",
456 "conninfo_t *" },
457 { "nfsv4", "op-commit-done", 1, 0, "struct compound_state *",
458 "nfsv4opinfo_t *" },
459 { "nfsv4", "op-commit-done", 2, 1, "COMMIT4res *", NULL },
460 { "nfsv4", "op-create-start", 0, 0, "struct compound_state *",
461 "conninfo_t *" },
462 { "nfsv4", "op-create-start", 1, 0, "struct compound_state *",
463 "nfsv4opinfo_t *" },
464 { "nfsv4", "op-create-start", 2, 1, "CREATE4args *", NULL },
465 { "nfsv4", "op-create-done", 0, 0, "struct compound_state *",
466 "conninfo_t *" },
467 { "nfsv4", "op-create-done", 1, 0, "struct compound_state *",
468 "nfsv4opinfo_t *" },
469 { "nfsv4", "op-create-done", 2, 1, "CREATE4res *", NULL },
470 { "nfsv4", "op-delegpurge-start", 0, 0, "struct compound_state *",
471 "conninfo_t *" },
472 { "nfsv4", "op-delegpurge-start", 1, 0, "struct compound_state *",
473 "nfsv4opinfo_t *" },
474 { "nfsv4", "op-delegpurge-start", 2, 1, "DELEGPURGE4args *", NULL },
475 { "nfsv4", "op-delegpurge-done", 0, 0, "struct compound_state *",
476 "conninfo_t *" },
477 { "nfsv4", "op-delegpurge-done", 1, 0, "struct compound_state *",
478 "nfsv4opinfo_t *" },
479 { "nfsv4", "op-delegpurge-done", 2, 1, "DELEGPURGE4res *", NULL },
480 { "nfsv4", "op-delegreturn-start", 0, 0, "struct compound_state *",
481 "conninfo_t *" },
482 { "nfsv4", "op-delegreturn-start", 1, 0, "struct compound_state *",
483 "nfsv4opinfo_t *" },
484 { "nfsv4", "op-delegreturn-start", 2, 1, "DELEGRETURN4args *", NULL },
485 { "nfsv4", "op-delegreturn-done", 0, 0, "struct compound_state *",
486 "conninfo_t *" },
487 { "nfsv4", "op-delegreturn-done", 1, 0, "struct compound_state *",
488 "nfsv4opinfo_t *" },
489 { "nfsv4", "op-delegreturn-done", 2, 1, "DELEGRETURN4res *", NULL },
490 { "nfsv4", "op-getattr-start", 0, 0, "struct compound_state *",
491 "conninfo_t *" },
492 { "nfsv4", "op-getattr-start", 1, 0, "struct compound_state *",
493 "nfsv4opinfo_t *" },
494 { "nfsv4", "op-getattr-start", 2, 1, "GETATTR4args *", NULL },
495 { "nfsv4", "op-getattr-done", 0, 0, "struct compound_state *",
496 "conninfo_t *" },
497 { "nfsv4", "op-getattr-done", 1, 0, "struct compound_state *",
498 "nfsv4opinfo_t *" },
499 { "nfsv4", "op-getattr-done", 2, 1, "GETATTR4res *", NULL },
500 { "nfsv4", "op-getfh-start", 0, 0, "struct compound_state *",
501 "conninfo_t *" },
502 { "nfsv4", "op-getfh-start", 1, 0, "struct compound_state *",
503 "nfsv4opinfo_t *" },
504 { "nfsv4", "op-getfh-done", 0, 0, "struct compound_state *",
505 "conninfo_t *" },
506 { "nfsv4", "op-getfh-done", 1, 0, "struct compound_state *",
507 "nfsv4opinfo_t *" },
508 { "nfsv4", "op-getfh-done", 2, 1, "GETFH4res *", NULL },
509 { "nfsv4", "op-link-start", 0, 0, "struct compound_state *",
510 "conninfo_t *" },
511 { "nfsv4", "op-link-start", 1, 0, "struct compound_state *",
512 "nfsv4opinfo_t *" },
513 { "nfsv4", "op-link-start", 2, 1, "LINK4args *", NULL },
514 { "nfsv4", "op-link-done", 0, 0, "struct compound_state *",
515 "conninfo_t *" },
516 { "nfsv4", "op-link-done", 1, 0, "struct compound_state *",
517 "nfsv4opinfo_t *" },
518 { "nfsv4", "op-link-done", 2, 1, "LINK4res *", NULL },
519 { "nfsv4", "op-lock-start", 0, 0, "struct compound_state *",
520 "conninfo_t *" },
521 { "nfsv4", "op-lock-start", 1, 0, "struct compound_state *",
522 "nfsv4opinfo_t *" },
523 { "nfsv4", "op-lock-start", 2, 1, "LOCK4args *", NULL },
524 { "nfsv4", "op-lock-done", 0, 0, "struct compound_state *",
525 "conninfo_t *" },
526 { "nfsv4", "op-lock-done", 1, 0, "struct compound_state *",
527 "nfsv4opinfo_t *" },
528 { "nfsv4", "op-lock-done", 2, 1, "LOCK4res *", NULL },
529 { "nfsv4", "op-lockt-start", 0, 0, "struct compound_state *",
530 "conninfo_t *" },
531 { "nfsv4", "op-lockt-start", 1, 0, "struct compound_state *",
532 "nfsv4opinfo_t *" },
533 { "nfsv4", "op-lockt-start", 2, 1, "LOCKT4args *", NULL },
534 { "nfsv4", "op-lockt-done", 0, 0, "struct compound_state *",
535 "conninfo_t *" },
536 { "nfsv4", "op-lockt-done", 1, 0, "struct compound_state *",
537 "nfsv4opinfo_t *" },
538 { "nfsv4", "op-lockt-done", 2, 1, "LOCKT4res *", NULL },
539 { "nfsv4", "op-locku-start", 0, 0, "struct compound_state *",
540 "conninfo_t *" },
541 { "nfsv4", "op-locku-start", 1, 0, "struct compound_state *",
542 "nfsv4opinfo_t *" },
543 { "nfsv4", "op-locku-start", 2, 1, "LOCKU4args *", NULL },
544 { "nfsv4", "op-locku-done", 0, 0, "struct compound_state *",
545 "conninfo_t *" },
546 { "nfsv4", "op-locku-done", 1, 0, "struct compound_state *",
547 "nfsv4opinfo_t *" },
548 { "nfsv4", "op-locku-done", 2, 1, "LOCKU4res *", NULL },
549 { "nfsv4", "op-lookup-start", 0, 0, "struct compound_state *",
550 "conninfo_t *" },
551 { "nfsv4", "op-lookup-start", 1, 0, "struct compound_state *",
552 "nfsv4opinfo_t *" },
553 { "nfsv4", "op-lookup-start", 2, 1, "LOOKUP4args *", NULL },
554 { "nfsv4", "op-lookup-done", 0, 0, "struct compound_state *",
555 "conninfo_t *" },
556 { "nfsv4", "op-lookup-done", 1, 0, "struct compound_state *",
557 "nfsv4opinfo_t *" },
558 { "nfsv4", "op-lookup-done", 2, 1, "LOOKUP4res *", NULL },
559 { "nfsv4", "op-lookupp-start", 0, 0, "struct compound_state *",
560 "conninfo_t *" },
561 { "nfsv4", "op-lookupp-start", 1, 0, "struct compound_state *",
562 "nfsv4opinfo_t *" },
563 { "nfsv4", "op-lookupp-done", 0, 0, "struct compound_state *",
564 "conninfo_t *" },
565 { "nfsv4", "op-lookupp-done", 1, 0, "struct compound_state *",
566 "nfsv4opinfo_t *" },
567 { "nfsv4", "op-lookupp-done", 2, 1, "LOOKUPP4res *", NULL },
568 { "nfsv4", "op-nverify-start", 0, 0, "struct compound_state *",
569 "conninfo_t *" },
570 { "nfsv4", "op-nverify-start", 1, 0, "struct compound_state *",
571 "nfsv4opinfo_t *" },
572 { "nfsv4", "op-nverify-start", 2, 1, "NVERIFY4args *", NULL },
573 { "nfsv4", "op-nverify-done", 0, 0, "struct compound_state *",
574 "conninfo_t *" },
575 { "nfsv4", "op-nverify-done", 1, 0, "struct compound_state *",
576 "nfsv4opinfo_t *" },
577 { "nfsv4", "op-nverify-done", 2, 1, "NVERIFY4res *", NULL },
578 { "nfsv4", "op-open-start", 0, 0, "struct compound_state *",
579 "conninfo_t *" },
580 { "nfsv4", "op-open-start", 1, 0, "struct compound_state *",
581 "nfsv4opinfo_t *" },
582 { "nfsv4", "op-open-start", 2, 1, "OPEN4args *", NULL },
583 { "nfsv4", "op-open-done", 0, 0, "struct compound_state *",
584 "conninfo_t *" },
585 { "nfsv4", "op-open-done", 1, 0, "struct compound_state *",
586 "nfsv4opinfo_t *" },
587 { "nfsv4", "op-open-done", 2, 1, "OPEN4res *", NULL },
588 { "nfsv4", "op-open-confirm-start", 0, 0, "struct compound_state *",
589 "conninfo_t *" },
590 { "nfsv4", "op-open-confirm-start", 1, 0, "struct compound_state *",
591 "nfsv4opinfo_t *" },
592 { "nfsv4", "op-open-confirm-start", 2, 1, "OPEN_CONFIRM4args *", NULL },
593 { "nfsv4", "op-open-confirm-done", 0, 0, "struct compound_state *",
594 "conninfo_t *" },
595 { "nfsv4", "op-open-confirm-done", 1, 0, "struct compound_state *",
596 "nfsv4opinfo_t *" },
597 { "nfsv4", "op-open-confirm-done", 2, 1, "OPEN_CONFIRM4res *", NULL },
598 { "nfsv4", "op-open-downgrade-start", 0, 0, "struct compound_state *",
599 "conninfo_t *" },
600 { "nfsv4", "op-open-downgrade-start", 1, 0, "struct compound_state *",
601 "nfsv4opinfo_t *" },
602 { "nfsv4", "op-open-downgrade-start", 2, 1, "OPEN_DOWNGRADE4args *", NULL },
603 { "nfsv4", "op-open-downgrade-done", 0, 0, "struct compound_state *",
604 "conninfo_t *" },
605 { "nfsv4", "op-open-downgrade-done", 1, 0, "struct compound_state *",
606 "nfsv4opinfo_t *" },
607 { "nfsv4", "op-open-downgrade-done", 2, 1, "OPEN_DOWNGRADE4res *", NULL },
608 { "nfsv4", "op-openattr-start", 0, 0, "struct compound_state *",
609 "conninfo_t *" },
610 { "nfsv4", "op-openattr-start", 1, 0, "struct compound_state *",
611 "nfsv4opinfo_t *" },
612 { "nfsv4", "op-openattr-start", 2, 1, "OPENATTR4args *", NULL },
613 { "nfsv4", "op-openattr-done", 0, 0, "struct compound_state *",
614 "conninfo_t *" },
615 { "nfsv4", "op-openattr-done", 1, 0, "struct compound_state *",
616 "nfsv4opinfo_t *" },
617 { "nfsv4", "op-openattr-done", 2, 1, "OPENATTR4res *", NULL },
618 { "nfsv4", "op-putfh-start", 0, 0, "struct compound_state *",
619 "conninfo_t *" },
620 { "nfsv4", "op-putfh-start", 1, 0, "struct compound_state *",
621 "nfsv4opinfo_t *" },
622 { "nfsv4", "op-putfh-start", 2, 1, "PUTFH4args *", NULL },
623 { "nfsv4", "op-putfh-done", 0, 0, "struct compound_state *",
624 "conninfo_t *" },
625 { "nfsv4", "op-putfh-done", 1, 0, "struct compound_state *",
626 "nfsv4opinfo_t *" },
627 { "nfsv4", "op-putfh-done", 2, 1, "PUTFH4res *", NULL },
628 { "nfsv4", "op-putpubfh-start", 0, 0, "struct compound_state *",
629 "conninfo_t *" },
630 { "nfsv4", "op-putpubfh-start", 1, 0, "struct compound_state *",
631 "nfsv4opinfo_t *" },
632 { "nfsv4", "op-putpubfh-done", 0, 0, "struct compound_state *",
633 "conninfo_t *" },
634 { "nfsv4", "op-putpubfh-done", 1, 0, "struct compound_state *",
635 "nfsv4opinfo_t *" },
636 { "nfsv4", "op-putpubfh-done", 2, 1, "PUTPUBFH4res *", NULL },
637 { "nfsv4", "op-putrootfh-start", 0, 0, "struct compound_state *",
638 "conninfo_t *" },
639 { "nfsv4", "op-putrootfh-start", 1, 0, "struct compound_state *",
640 "nfsv4opinfo_t *" },
641 { "nfsv4", "op-putrootfh-done", 0, 0, "struct compound_state *",
642 "conninfo_t *" },
643 { "nfsv4", "op-putrootfh-done", 1, 0, "struct compound_state *",
644 "nfsv4opinfo_t *" },
645 { "nfsv4", "op-putrootfh-done", 2, 1, "PUTROOTFH4res *", NULL },
646 { "nfsv4", "op-read-start", 0, 0, "struct compound_state *",
647 "conninfo_t *" },
648 { "nfsv4", "op-read-start", 1, 0, "struct compound_state *",
649 "nfsv4opinfo_t *" },
650 { "nfsv4", "op-read-start", 2, 1, "READ4args *", NULL },
651 { "nfsv4", "op-read-done", 0, 0, "struct compound_state *",
652 "conninfo_t *" },
653 { "nfsv4", "op-read-done", 1, 0, "struct compound_state *",
654 "nfsv4opinfo_t *" },
655 { "nfsv4", "op-read-done", 2, 1, "READ4res *", NULL },
656 { "nfsv4", "op-readdir-start", 0, 0, "struct compound_state *",
657 "conninfo_t *" },
658 { "nfsv4", "op-readdir-start", 1, 0, "struct compound_state *",
659 "nfsv4opinfo_t *" },
660 { "nfsv4", "op-readdir-start", 2, 1, "READDIR4args *", NULL },
661 { "nfsv4", "op-readdir-done", 0, 0, "struct compound_state *",
662 "conninfo_t *" },
663 { "nfsv4", "op-readdir-done", 1, 0, "struct compound_state *",
664 "nfsv4opinfo_t *" },
665 { "nfsv4", "op-readdir-done", 2, 1, "READDIR4res *", NULL },
666 { "nfsv4", "op-readlink-start", 0, 0, "struct compound_state *",
667 "conninfo_t *" },
668 { "nfsv4", "op-readlink-start", 1, 0, "struct compound_state *",
669 "nfsv4opinfo_t *" },
670 { "nfsv4", "op-readlink-done", 0, 0, "struct compound_state *",
671 "conninfo_t *" },
672 { "nfsv4", "op-readlink-done", 1, 0, "struct compound_state *",
673 "nfsv4opinfo_t *" },
674 { "nfsv4", "op-readlink-done", 2, 1, "READLINK4res *", NULL },
675 { "nfsv4", "op-release-lockowner-start", 0, 0,
676 "struct compound_state *", "conninfo_t *" },
677 { "nfsv4", "op-release-lockowner-start", 1, 0,
678 "struct compound_state *", "nfsv4opinfo_t *" },
679 { "nfsv4", "op-release-lockowner-start", 2, 1,
680 "RELEASE_LOCKOWNER4args *", NULL },
681 { "nfsv4", "op-release-lockowner-done", 0, 0,
682 "struct compound_state *", "conninfo_t *" },
683 { "nfsv4", "op-release-lockowner-done", 1, 0,
684 "struct compound_state *", "nfsv4opinfo_t *" },
685 { "nfsv4", "op-release-lockowner-done", 2, 1,
686 "RELEASE_LOCKOWNER4res *", NULL },
687 { "nfsv4", "op-remove-start", 0, 0, "struct compound_state *",
688 "conninfo_t *" },
689 { "nfsv4", "op-remove-start", 1, 0, "struct compound_state *",
690 "nfsv4opinfo_t *" },
691 { "nfsv4", "op-remove-start", 2, 1, "REMOVE4args *", NULL },
692 { "nfsv4", "op-remove-done", 0, 0, "struct compound_state *",
693 "conninfo_t *" },
694 { "nfsv4", "op-remove-done", 1, 0, "struct compound_state *",
695 "nfsv4opinfo_t *" },
696 { "nfsv4", "op-remove-done", 2, 1, "REMOVE4res *", NULL },
697 { "nfsv4", "op-rename-start", 0, 0, "struct compound_state *",
698 "conninfo_t *" },
699 { "nfsv4", "op-rename-start", 1, 0, "struct compound_state *",
700 "nfsv4opinfo_t *" },
701 { "nfsv4", "op-rename-start", 2, 1, "RENAME4args *", NULL },
702 { "nfsv4", "op-rename-done", 0, 0, "struct compound_state *",
703 "conninfo_t *" },
704 { "nfsv4", "op-rename-done", 1, 0, "struct compound_state *",
705 "nfsv4opinfo_t *" },
706 { "nfsv4", "op-rename-done", 2, 1, "RENAME4res *", NULL },
707 { "nfsv4", "op-renew-start", 0, 0, "struct compound_state *",
708 "conninfo_t *" },
709 { "nfsv4", "op-renew-start", 1, 0, "struct compound_state *",
710 "nfsv4opinfo_t *" },
711 { "nfsv4", "op-renew-start", 2, 1, "RENEW4args *", NULL },
712 { "nfsv4", "op-renew-done", 0, 0, "struct compound_state *",
713 "conninfo_t *" },
714 { "nfsv4", "op-renew-done", 1, 0, "struct compound_state *",
715 "nfsv4opinfo_t *" },
716 { "nfsv4", "op-renew-done", 2, 1, "RENEW4res *", NULL },
717 { "nfsv4", "op-restorefh-start", 0, 0, "struct compound_state *",
718 "conninfo_t *" },
719 { "nfsv4", "op-restorefh-start", 1, 0, "struct compound_state *",
720 "nfsv4opinfo_t *" },
721 { "nfsv4", "op-restorefh-done", 0, 0, "struct compound_state *",
722 "conninfo_t *" },
723 { "nfsv4", "op-restorefh-done", 1, 0, "struct compound_state *",
724 "nfsv4opinfo_t *" },
725 { "nfsv4", "op-restorefh-done", 2, 1, "RESTOREFH4res *", NULL },
726 { "nfsv4", "op-savefh-start", 0, 0, "struct compound_state *",
727 "conninfo_t *" },
728 { "nfsv4", "op-savefh-start", 1, 0, "struct compound_state *",
729 "nfsv4opinfo_t *" },
730 { "nfsv4", "op-savefh-done", 0, 0, "struct compound_state *",
731 "conninfo_t *" },
732 { "nfsv4", "op-savefh-done", 1, 0, "struct compound_state *",
733 "nfsv4opinfo_t *" },
734 { "nfsv4", "op-savefh-done", 2, 1, "SAVEFH4res *", NULL },
735 { "nfsv4", "op-secinfo-start", 0, 0, "struct compound_state *",
736 "conninfo_t *" },
737 { "nfsv4", "op-secinfo-start", 1, 0, "struct compound_state *",
738 "nfsv4opinfo_t *" },
739 { "nfsv4", "op-secinfo-start", 2, 1, "SECINFO4args *", NULL },
740 { "nfsv4", "op-secinfo-done", 0, 0, "struct compound_state *",
741 "conninfo_t *" },
742 { "nfsv4", "op-secinfo-done", 1, 0, "struct compound_state *",
743 "nfsv4opinfo_t *" },
744 { "nfsv4", "op-secinfo-done", 2, 1, "SECINFO4res *", NULL },
745 { "nfsv4", "op-setattr-start", 0, 0, "struct compound_state *",
746 "conninfo_t *" },
747 { "nfsv4", "op-setattr-start", 1, 0, "struct compound_state *",
748 "nfsv4opinfo_t *" },
749 { "nfsv4", "op-setattr-start", 2, 1, "SETATTR4args *", NULL },
750 { "nfsv4", "op-setattr-done", 0, 0, "struct compound_state *",
751 "conninfo_t *" },
752 { "nfsv4", "op-setattr-done", 1, 0, "struct compound_state *",
753 "nfsv4opinfo_t *" },
754 { "nfsv4", "op-setattr-done", 2, 1, "SETATTR4res *", NULL },
755 { "nfsv4", "op-setclientid-start", 0, 0, "struct compound_state *",
756 "conninfo_t *" },
757 { "nfsv4", "op-setclientid-start", 1, 0, "struct compound_state *",
758 "nfsv4opinfo_t *" },
759 { "nfsv4", "op-setclientid-start", 2, 1, "SETCLIENTID4args *", NULL },
760 { "nfsv4", "op-setclientid-done", 0, 0, "struct compound_state *",
761 "conninfo_t *" },
762 { "nfsv4", "op-setclientid-done", 1, 0, "struct compound_state *",
763 "nfsv4opinfo_t *" },
764 { "nfsv4", "op-setclientid-done", 2, 1, "SETCLIENTID4res *", NULL },
765 { "nfsv4", "op-setclientid-confirm-start", 0, 0,
766 "struct compound_state *", "conninfo_t *" },
767 { "nfsv4", "op-setclientid-confirm-start", 1, 0,
768 "struct compound_state *", "nfsv4opinfo_t *" },
769 { "nfsv4", "op-setclientid-confirm-start", 2, 1,
770 "SETCLIENTID_CONFIRM4args *", NULL },
771 { "nfsv4", "op-setclientid-confirm-done", 0, 0,
772 "struct compound_state *", "conninfo_t *" },
773 { "nfsv4", "op-setclientid-confirm-done", 1, 0,
774 "struct compound_state *", "nfsv4opinfo_t *" },
775 { "nfsv4", "op-setclientid-confirm-done", 2, 1,
776 "SETCLIENTID_CONFIRM4res *", NULL },
777 { "nfsv4", "op-verify-start", 0, 0, "struct compound_state *",
778 "conninfo_t *" },
779 { "nfsv4", "op-verify-start", 1, 0, "struct compound_state *",
780 "nfsv4opinfo_t *" },
781 { "nfsv4", "op-verify-start", 2, 1, "VERIFY4args *", NULL },
782 { "nfsv4", "op-verify-done", 0, 0, "struct compound_state *",
783 "conninfo_t *" },
784 { "nfsv4", "op-verify-done", 1, 0, "struct compound_state *",
785 "nfsv4opinfo_t *" },
786 { "nfsv4", "op-verify-done", 2, 1, "VERIFY4res *", NULL },
787 { "nfsv4", "op-write-start", 0, 0, "struct compound_state *",
788 "conninfo_t *" },
789 { "nfsv4", "op-write-start", 1, 0, "struct compound_state *",
790 "nfsv4opinfo_t *" },
791 { "nfsv4", "op-write-start", 2, 1, "WRITE4args *", NULL },
792 { "nfsv4", "op-write-done", 0, 0, "struct compound_state *",
793 "conninfo_t *" },
794 { "nfsv4", "op-write-done", 1, 0, "struct compound_state *",
795 "nfsv4opinfo_t *" },
796 { "nfsv4", "op-write-done", 2, 1, "WRITE4res *", NULL },
797 { "nfsv4", "cb-recall-start", 0, 0, "rfs4_client_t *",
798 "conninfo_t *" },
799 { "nfsv4", "cb-recall-start", 1, 1, "rfs4_deleg_state_t *",
800 "nfsv4cbinfo_t *" },
801 { "nfsv4", "cb-recall-start", 2, 2, "CB_RECALL4args *", NULL },
802 { "nfsv4", "cb-recall-done", 0, 0, "rfs4_client_t *",
803 "conninfo_t *" },
804 { "nfsv4", "cb-recall-done", 1, 1, "rfs4_deleg_state_t *",
805 "nfsv4cbinfo_t *" },
806 { "nfsv4", "cb-recall-done", 2, 2, "CB_RECALL4res *", NULL },
807
6d2010ae
A
808 { "ip", "send", 0, 0, "struct mbuf *", "pktinfo_t *" },
809 { "ip", "send", 1, 1, "struct inpcb *", "csinfo_t *" },
b0d623f7 810 { "ip", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
6d2010ae
A
811 { "ip", "send", 3, 3, "struct ifnet *", "ifinfo_t *" },
812 { "ip", "send", 4, 4, "struct ip *", "ipv4info_t *" },
813 { "ip", "send", 5, 5, "struct ip6_hdr *", "ipv6info_t *" },
814 { "ip", "receive", 0, 0, "struct mbuf *", "pktinfo_t *" },
815 { "ip", "receive", 1, 1, "struct inpcb *", "csinfo_t *" },
b0d623f7 816 { "ip", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
6d2010ae
A
817 { "ip", "receive", 3, 3, "struct ifnet *", "ifinfo_t *" },
818 { "ip", "receive", 4, 4, "struct ip *", "ipv4info_t *" },
819 { "ip", "receive", 5, 5, "struct ip6_hdr *", "ipv6info_t *" },
b0d623f7 820
6d2010ae
A
821 { "tcp", "connect-established", 0, 0, "struct mbuf *", "pktinfo_t *" },
822 { "tcp", "connect-established", 1, 1, "struct inpcb *", "csinfo_t *" },
823 { "tcp", "connect-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
824 { "tcp", "connect-established", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
825 { "tcp", "connect-established", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
826 { "tcp", "connect-refused", 0, 0, "struct mbuf *", "pktinfo_t *" },
827 { "tcp", "connect-refused", 1, 1, "struct inpcb *", "csinfo_t *" },
828 { "tcp", "connect-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
829 { "tcp", "connect-refused", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
830 { "tcp", "connect-refused", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
831 { "tcp", "connect-request", 0, 0, "struct mbuf *", "pktinfo_t *" },
832 { "tcp", "connect-request", 1, 1, "struct inpcb *", "csinfo_t *" },
833 { "tcp", "connect-request", 2, 2, "void_ip_t *", "ipinfo_t *" },
834 { "tcp", "connect-request", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
835 { "tcp", "connect-request", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
836 { "tcp", "accept-established", 0, 0, "struct mbuf *", "pktinfo_t *" },
837 { "tcp", "accept-established", 1, 1, "struct inpcb *", "csinfo_t *" },
838 { "tcp", "accept-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
839 { "tcp", "accept-established", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
840 { "tcp", "accept-established", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
841 { "tcp", "accept-refused", 0, 0, "struct mbuf *", "pktinfo_t *" },
842 { "tcp", "accept-refused", 1, 1, "struct inpcb *", "csinfo_t *" },
843 { "tcp", "accept-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
844 { "tcp", "accept-refused", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
845 { "tcp", "accept-refused", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
846 { "tcp", "state-change", 0, 0, "void", "void" },
847 { "tcp", "state-change", 1, 1, "struct inpcb *", "csinfo_t *" },
848 { "tcp", "state-change", 2, 2, "struct tcpcb *", "tcpsinfo_t *" },
849 { "tcp", "state-change", 3, 3, "int32_t", "tcpnsinfo_t *" },
850 { "tcp", "send", 0, 0, "struct mbuf *", "pktinfo_t *" },
851 { "tcp", "send", 1, 1, "struct inpcb *", "csinfo_t *" },
852 { "tcp", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
853 { "tcp", "send", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
854 { "tcp", "send", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
855 { "tcp", "receive", 0, 0, "struct mbuf *", "pktinfo_t *" },
856 { "tcp", "receive", 1, 1, "struct inpcb *", "csinfo_t *" },
857 { "tcp", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
858 { "tcp", "receive", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
859 { "tcp", "receive", 4, 4, "struct tcphdr *", "tcpinfo_t *" },
860 { "tcp", "cc", 0, 0, "struct mbuf *", "pktinfo_t *"},
861 { "tcp", "cc", 1, 1, "struct inpcb *", "csinfo_t *"},
862 { "tcp", "cc", 2, 2, "struct tcpcb *", "tcpsinfo_t *"},
863 { "tcp", "cc", 3, 3, "struct tcphdr *", "tcpinfo_t *"},
864 { "tcp", "cc", 4, 4, "int32_t", "tcpccevent_t *"},
865 { "tcp", "iaj", 0, 0, "struct tcpcb *", "tcpsinfo_t *"},
866 { "tcp", "iaj", 1, 1, "uint32_t", NULL},
867 { "tcp", "iaj", 2, 2, "uint32_t", NULL},
b0d623f7
A
868 { "sysevent", "post", 0, 0, "evch_bind_t *", "syseventchaninfo_t *" },
869 { "sysevent", "post", 1, 1, "sysevent_impl_t *", "syseventinfo_t *" },
39236c6e
A
870 /* mptcp::input has no arguments */
871 { "mptcp", "receive-degraded", 0, 0, "struct mbuf *", "pktinfo_t *" },
872 { "mptcp", "receive-degraded", 1, 1, "struct socket *", "socketinfo_t *" },
873 { "mptcp", "receive-degraded", 2, 2, "struct sockbuf *", "socketbuf_t *" },
874 { "mptcp", "receive-degraded", 3, 3, "struct sockbuf *", "socketbuf_t *" },
875 { "mptcp", "receive-degraded", 4, 4, "struct mptses *", "mptsesinfo_t *" },
876 { "mptcp", "receive", 0, 0, "struct mbuf *", "pktinfo_t *" },
877 { "mptcp", "receive", 1, 1, "struct socket *", "socketinfo_t *" },
878 { "mptcp", "receive", 2, 2, "struct sockbuf *", "socketbuf_t *" },
879 { "mptcp", "receive", 3, 3, "struct sockbuf *", "socketbuf_t *" },
880 { "mptcp", "receive", 4, 4, "struct mptses *", "mptsesinfo_t *" },
881 { "mptcp", "receive", 5, 5, "struct mptcb *", "mptsinfo_t *" },
882 { "mptcp", "output", 0, 0, "struct mptses *", "mptsesinfo_t *" },
883 { "mptcp", "output", 1, 1, "struct mptsub *", "mptsubinfo_t *" },
884 { "mptcp", "output", 2, 2, "struct socket *", "socketinfo_t *" },
885 { "mptcp", "state-change", 0, 0, "struct mptcb *", "mptsinfo_t *" },
886 { "mptcp", "state-change", 1, 1, "uint32_t", "uint32_t" },
887 { "mptcp", "checksum-result", 0, 0, "struct tcpcb *", "tcpsinfo_t *" },
888 { "mptcp", "checksum-result", 1, 1, "struct mbuf *", "pktinfo_t *" },
889 { "mptcp", "checksum-result", 2, 2, "uint32_t", "uint32_t" },
890 { "mptcp", "session-create", 0, 0, "struct socket *", "socketinfo_t *"},
891 { "mptcp", "session-create", 1, 1, "struct sockbuf *", "socketbuf_t *"},
892 { "mptcp", "session-create", 2, 2, "struct sockbuf *", "socketbuf_t *"},
893 { "mptcp", "session-create", 3, 3, "struct mppcb *", "mppsinfo_t *" },
894 { "mptcp", "session-create", 4, 4, "int", "int" },
895 { "mptcp", "session-destroy", 0, 0, "struct mptses *", "mptsesinfo_t *" },
896 { "mptcp", "session-destroy", 1, 1, "struct mptcb *", "mptsinfo_t *" },
897 { "mptcp", "subflow-create", 0, 0, "struct mptses *", "mptsesinfo_t *"},
898 { "mptcp", "subflow-create", 1, 1, "struct mptsub *", "mptsubinfo_t *"},
899 { "mptcp", "subflow-create", 2, 2, "int", "int" },
900 { "mptcp", "subflow-create", 3, 3, "int", "int" },
901 { "mptcp", "subflow-close", 0, 0, "struct mptsub *", "mptsubinfo_t *" },
902 { "mptcp", "subflow-close", 1, 1, "struct socket *", "socketinfo_t *" },
903 { "mptcp", "subflow-close", 2, 2, "struct sockbuf *", "socketbuf_t *" },
904 { "mptcp", "subflow-close", 3, 3, "struct sockbuf *", "socketbuf_t *" },
905 { "mptcp", "subflow-close", 4, 4, "struct mptses *", "mptsesinfo_t *" },
906 { "mptcp", "subflow-connect", 0, 0, "struct mptses *", "mptsesinfo_t *" },
907 { "mptcp", "subflow-connect", 1, 1, "struct mptsub *", "mptsubinfo_t *" },
908 { "mptcp", "subflow-connect", 2, 2, "int", "int" },
909 { "mptcp", "subflow-receive", 0, 0, "struct socket *", "socketinfo_t *" },
910 { "mptcp", "subflow-receive", 1, 1, "struct sockbuf *", "socketbuf_t *" },
911 { "mptcp", "subflow-receive", 2, 2, "struct sockbuf *", "socketbuf_t *" },
912 { "mptcp", "subflow-peeloff", 0, 0, "struct mptses *", "mptsesinfo_t *",},
913 { "mptcp", "subflow-peeloff", 1, 1, "struct mptsub *", "mptsubinfo_t *",},
914 { "mptcp", "subflow-peeloff", 2, 2, "struct socket *", "socketinfo_t *",},
915 { "mptcp", "subflow-peeloff", 3, 3, "struct sockbuf *", "socketbuf_t *" },
916 { "mptcp", "subflow-peeloff", 4, 4, "struct sockbuf *", "socketbuf_t *" },
917 { "mptcp", "subflow-input", 0, 0, "struct mptses *", "mptsesinfo_t *" },
918 { "mptcp", "subflow-input", 1, 1, "struct mptsub *", "mptsubinfo_t *" },
919 { "mptcp", "subflow-output", 0, 0, "struct mptses *", "mptsesinfo_t *"},
920 { "mptcp", "subflow-output", 1, 1, "struct mptsub *", "mptsubinfo_t *"},
921 { "mptcp", "subflow-events", 0, 0, "struct mptses *", "mptsesinfo_t *"},
922 { "mptcp", "subflow-events", 1, 1, "struct mptsub *", "mptsubinfo_t *"},
923 { "mptcp", "subflow-events", 2, 2, "uint32_t", "uint32_t"},
924 { "mptcp", "send", 0, 0, "struct mbuf *", "pktinfo_t *" },
925 { "mptcp", "send", 1, 1, "struct socket *", "socketinfo_t *" },
926 { "mptcp", "send", 2, 2, "struct sockbuf *", "socketbuf_t *" },
927 { "mptcp", "send", 3, 3, "struct sockbuf *", "socketbuf_t *" },
928 { "mptcp", "send", 4, 4, "struct mptses *", "mptsesinfo_t *" },
929 { "mptcp", "send", 5, 5, "struct mptsub *", "mptsubinfo_t *" },
930 { "mptcp", "send", 6, 6, "size_t", "size_t" },
931 { "mptcp", "dispose", 0, 0, "struct socket *", "socketinfo_t *" },
932 { "mptcp", "dispose", 1, 1, "struct sockbuf *", "socketbuf_t *" },
933 { "mptcp", "dispose", 2, 2, "struct sockbuf *", "socketbuf_t *" },
934 { "mptcp", "dispose", 3, 3, "struct mppcb *", "mppsinfo_t *" },
935 { "mptcp", "multipath-ready", 0, 0, "struct socket *", "socketinfo_t *" },
936 { "mptcp", "multipath-ready", 1, 1, "struct sockbuf *", "socketbuf_t *" },
937 { "mptcp", "multipath-ready", 2, 2, "struct sockbuf *", "socketbuf_t *" },
938 { "mptcp", "multipath-ready", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
939 { "mptcp", "multipath-failed", 0, 0, "struct socket *", "socketinfo_t *" },
940 { "mptcp", "multipath-failed", 1, 1, "struct sockbuf *", "socketbuf_t *" },
941 { "mptcp", "multipath-failed", 2, 2, "struct sockbuf *", "socketbuf_t *" },
942 { "mptcp", "multipath-failed", 3, 3, "struct tcpcb *", "tcpsinfo_t *" },
943 { "mptcp", "start-timer", 0, 0, "struct mptcb *", "mptsinfo_t *" },
944 { "mptcp", "start-timer", 1, 1, "int", "int" },
945 { "mptcp", "cancel-timer", 0, 0, "struct mptcb *", "mptsinfo_t *" },
946 { "mptcp", "cancel-timer", 1, 1, "int", "int" },
947 { "mptcp", "timer", 0, 0, "struct mptses *", "mptsesinfo_t *" },
948 { "mptcp", "timer", 1, 1, "struct mptcb *", "mptsinfo_t *" },
949 { "mptcp", "error", 0, 0, "struct mptcb *", "mptsinfo_t *" },
950 { "mptcp", "connectx", 0, 0, "struct mptses *", "mptsesinfo_t *" },
951 { "mptcp", "connectx", 1, 1, "associd_t", "associd_t" },
952 { "mptcp", "connectx", 2, 2, "struct socket *", "socketinfo_t *" },
953 { "mptcp", "disconnectx", 0, 0, "struct mptses *", "mptsesinfo_t *" },
954 { "mptcp", "disconnectx", 1, 1, "associd_t", "associd_t" },
955 { "mptcp", "disconnectx", 2, 2, "connid_t", "connid_t" },
956 { "mptcp", "disconnectx", 3, 3, "struct socket *", "sockinfo_t *" },
957 { "mptcp", "disconnectx", 4, 4, "struct mptcb *", "mptsinfo_t *" },
958 { "mptcp", "peeloff", 0, 0, "struct mptses *", "mptsesinfo_t *" },
959 { "mptcp", "peeloff", 1, 1, "associd_t", "associd_t" },
960 { "mptcp", "peeloff", 2, 2, "struct socket *", "sockinfo_t *" },
b0d623f7 961 { NULL, NULL, 0, 0, NULL, NULL }
2d21ac55
A
962};
963
964/*ARGSUSED*/
965void
966sdt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc)
967{
968#pragma unused(arg, id)
969 sdt_probe_t *sdp = parg;
970 int i;
971
972 desc->dtargd_native[0] = '\0';
973 desc->dtargd_xlate[0] = '\0';
974
975 for (i = 0; sdt_args[i].sda_provider != NULL; i++) {
976 sdt_argdesc_t *a = &sdt_args[i];
977
b0d623f7
A
978 if (strncmp(sdp->sdp_provider->sdtp_name, a->sda_provider, strlen(a->sda_provider) + 1) != 0)
979 continue;
980
981 if (a->sda_name != NULL &&
982 strncmp(sdp->sdp_name, a->sda_name, strlen(a->sda_name) + 1) != 0)
983 continue;
984
985 if (desc->dtargd_ndx != a->sda_ndx)
986 continue;
987
988 if (a->sda_native != NULL)
989 (void) strlcpy(desc->dtargd_native, a->sda_native, DTRACE_ARGTYPELEN);
990
991 if (a->sda_xlate != NULL)
992 (void) strlcpy(desc->dtargd_xlate, a->sda_xlate, DTRACE_ARGTYPELEN);
2d21ac55
A
993
994 desc->dtargd_mapping = a->sda_mapping;
995 return;
996 }
997
998 desc->dtargd_ndx = DTRACE_ARGNONE;
999}