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/*
22 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
23 */
24
25#include <sys/sdt_impl.h>
26
27static dtrace_pattr_t vtrace_attr = {
28{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
29{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
30{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
31{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
32{ DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
33};
34
35static dtrace_pattr_t info_attr = {
36{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
37{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
38{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
39{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
40{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
41};
42
43static dtrace_pattr_t fc_attr = {
44{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
45{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
46{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
47{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
48{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
49};
50
51static dtrace_pattr_t fpu_attr = {
52{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
53{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
54{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
55{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_CPU },
56{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
57};
58
59static dtrace_pattr_t fsinfo_attr = {
60{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
61{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
62{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
63{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
64{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
65};
66
67static dtrace_pattr_t stab_attr = {
68{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
69{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
70{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
71{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
72{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
73};
74
75static dtrace_pattr_t sdt_attr = {
76{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
77{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
78{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
79{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
80{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
81};
82
83static dtrace_pattr_t xpv_attr = {
84{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_PLATFORM },
85{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
86{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
87{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
88{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
89};
90
91static dtrace_pattr_t iscsi_attr = {
92{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
93{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
94{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
95{ DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
96{ DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
97};
98
99sdt_provider_t sdt_providers[] = {
100	{ "vtrace", "__vtrace_", &vtrace_attr, 0 },
101	{ "sysinfo", "__cpu_sysinfo_", &info_attr, 0 },
102	{ "vminfo", "__cpu_vminfo_", &info_attr, 0 },
103	{ "fpuinfo", "__fpuinfo_", &fpu_attr, 0 },
104	{ "sched", "__sched_", &stab_attr, 0 },
105	{ "proc", "__proc_", &stab_attr, 0 },
106	{ "io", "__io_", &stab_attr, 0 },
107	{ "ip", "__ip_", &stab_attr, 0 },
108	{ "tcp", "__tcp_", &stab_attr, 0 },
109	{ "udp", "__udp_", &stab_attr, 0 },
110	{ "mib", "__mib_", &stab_attr, 0 },
111	{ "fsinfo", "__fsinfo_", &fsinfo_attr, 0 },
112	{ "iscsi", "__iscsi_", &iscsi_attr, 0 },
113	{ "nfsv3", "__nfsv3_", &stab_attr, 0 },
114	{ "nfsv4", "__nfsv4_", &stab_attr, 0 },
115	{ "xpv", "__xpv_", &xpv_attr, 0 },
116	{ "fc", "__fc_", &fc_attr, 0 },
117	{ "srp", "__srp_", &fc_attr, 0 },
118	{ "sysevent", "__sysevent_", &stab_attr, 0 },
119	{ "sdt", NULL, &sdt_attr, 0 },
120	{ NULL }
121};
122
123sdt_argdesc_t sdt_args[] = {
124	{ "sched", "wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
125	{ "sched", "wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
126	{ "sched", "dequeue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
127	{ "sched", "dequeue", 1, 0, "kthread_t *", "psinfo_t *" },
128	{ "sched", "dequeue", 2, 1, "disp_t *", "cpuinfo_t *" },
129	{ "sched", "enqueue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
130	{ "sched", "enqueue", 1, 0, "kthread_t *", "psinfo_t *" },
131	{ "sched", "enqueue", 2, 1, "disp_t *", "cpuinfo_t *" },
132	{ "sched", "enqueue", 3, 2, "int" },
133	{ "sched", "off-cpu", 0, 0, "kthread_t *", "lwpsinfo_t *" },
134	{ "sched", "off-cpu", 1, 0, "kthread_t *", "psinfo_t *" },
135	{ "sched", "tick", 0, 0, "kthread_t *", "lwpsinfo_t *" },
136	{ "sched", "tick", 1, 0, "kthread_t *", "psinfo_t *" },
137	{ "sched", "change-pri", 0, 0, "kthread_t *", "lwpsinfo_t *" },
138	{ "sched", "change-pri", 1, 0, "kthread_t *", "psinfo_t *" },
139	{ "sched", "change-pri", 2, 1, "pri_t" },
140	{ "sched", "schedctl-nopreempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
141	{ "sched", "schedctl-nopreempt", 1, 0, "kthread_t *", "psinfo_t *" },
142	{ "sched", "schedctl-nopreempt", 2, 1, "int" },
143	{ "sched", "schedctl-preempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
144	{ "sched", "schedctl-preempt", 1, 0, "kthread_t *", "psinfo_t *" },
145	{ "sched", "schedctl-yield", 0, 0, "int" },
146	{ "sched", "surrender", 0, 0, "kthread_t *", "lwpsinfo_t *" },
147	{ "sched", "surrender", 1, 0, "kthread_t *", "psinfo_t *" },
148	{ "sched", "cpucaps-sleep", 0, 0, "kthread_t *", "lwpsinfo_t *" },
149	{ "sched", "cpucaps-sleep", 1, 0, "kthread_t *", "psinfo_t *" },
150	{ "sched", "cpucaps-wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
151	{ "sched", "cpucaps-wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
152
153	{ "proc", "create", 0, 0, "proc_t *", "psinfo_t *" },
154	{ "proc", "exec", 0, 0, "string" },
155	{ "proc", "exec-failure", 0, 0, "int" },
156	{ "proc", "exit", 0, 0, "int" },
157	{ "proc", "fault", 0, 0, "int" },
158	{ "proc", "fault", 1, 1, "siginfo_t *" },
159	{ "proc", "lwp-create", 0, 0, "kthread_t *", "lwpsinfo_t *" },
160	{ "proc", "lwp-create", 1, 0, "kthread_t *", "psinfo_t *" },
161	{ "proc", "signal-clear", 0, 0, "int" },
162	{ "proc", "signal-clear", 1, 1, "siginfo_t *" },
163	{ "proc", "signal-discard", 0, 0, "kthread_t *", "lwpsinfo_t *" },
164	{ "proc", "signal-discard", 1, 1, "proc_t *", "psinfo_t *" },
165	{ "proc", "signal-discard", 2, 2, "int" },
166	{ "proc", "signal-handle", 0, 0, "int" },
167	{ "proc", "signal-handle", 1, 1, "siginfo_t *" },
168	{ "proc", "signal-handle", 2, 2, "void (*)(void)" },
169	{ "proc", "signal-send", 0, 0, "kthread_t *", "lwpsinfo_t *" },
170	{ "proc", "signal-send", 1, 0, "kthread_t *", "psinfo_t *" },
171	{ "proc", "signal-send", 2, 1, "int" },
172
173	{ "io", "start", 0, 0, "buf_t *", "bufinfo_t *" },
174	{ "io", "start", 1, 0, "buf_t *", "devinfo_t *" },
175	{ "io", "start", 2, 0, "buf_t *", "fileinfo_t *" },
176	{ "io", "done", 0, 0, "buf_t *", "bufinfo_t *" },
177	{ "io", "done", 1, 0, "buf_t *", "devinfo_t *" },
178	{ "io", "done", 2, 0, "buf_t *", "fileinfo_t *" },
179	{ "io", "wait-start", 0, 0, "buf_t *", "bufinfo_t *" },
180	{ "io", "wait-start", 1, 0, "buf_t *", "devinfo_t *" },
181	{ "io", "wait-start", 2, 0, "buf_t *", "fileinfo_t *" },
182	{ "io", "wait-done", 0, 0, "buf_t *", "bufinfo_t *" },
183	{ "io", "wait-done", 1, 0, "buf_t *", "devinfo_t *" },
184	{ "io", "wait-done", 2, 0, "buf_t *", "fileinfo_t *" },
185
186	{ "mib", NULL, 0, 0, "int" },
187
188	{ "fsinfo", NULL, 0, 0, "vnode_t *", "fileinfo_t *" },
189	{ "fsinfo", NULL, 1, 1, "int", "int" },
190
191	{ "iscsi", "async-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
192	{ "iscsi", "async-send", 1, 1, "iscsi_async_evt_hdr_t *",
193	    "iscsiinfo_t *" },
194	{ "iscsi", "login-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
195	{ "iscsi", "login-command", 1, 1, "iscsi_login_hdr_t *",
196	    "iscsiinfo_t *" },
197	{ "iscsi", "login-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
198	{ "iscsi", "login-response", 1, 1, "iscsi_login_rsp_hdr_t *",
199	    "iscsiinfo_t *" },
200	{ "iscsi", "logout-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
201	{ "iscsi", "logout-command", 1, 1, "iscsi_logout_hdr_t *",
202	    "iscsiinfo_t *" },
203	{ "iscsi", "logout-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
204	{ "iscsi", "logout-response", 1, 1, "iscsi_logout_rsp_hdr_t *",
205	    "iscsiinfo_t *" },
206	{ "iscsi", "data-request", 0, 0, "idm_conn_t *", "conninfo_t *" },
207	{ "iscsi", "data-request", 1, 1, "iscsi_rtt_hdr_t *",
208	    "iscsiinfo_t *" },
209	{ "iscsi", "data-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
210	{ "iscsi", "data-send", 1, 1, "iscsi_data_rsp_hdr_t *",
211	    "iscsiinfo_t *" },
212	{ "iscsi", "data-receive", 0, 0, "idm_conn_t *", "conninfo_t *" },
213	{ "iscsi", "data-receive", 1, 1, "iscsi_data_hdr_t *",
214	    "iscsiinfo_t *" },
215	{ "iscsi", "nop-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
216	{ "iscsi", "nop-send", 1, 1, "iscsi_nop_in_hdr_t *", "iscsiinfo_t *" },
217	{ "iscsi", "nop-receive", 0, 0, "idm_conn_t *", "conninfo_t *" },
218	{ "iscsi", "nop-receive", 1, 1, "iscsi_nop_out_hdr_t *",
219	    "iscsiinfo_t *" },
220	{ "iscsi", "scsi-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
221	{ "iscsi", "scsi-command", 1, 1, "iscsi_scsi_cmd_hdr_t *",
222	    "iscsiinfo_t *" },
223	{ "iscsi", "scsi-command", 2, 2, "scsi_task_t *", "scsicmd_t *" },
224	{ "iscsi", "scsi-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
225	{ "iscsi", "scsi-response", 1, 1, "iscsi_scsi_rsp_hdr_t *",
226	    "iscsiinfo_t *" },
227	{ "iscsi", "task-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
228	{ "iscsi", "task-command", 1, 1, "iscsi_scsi_task_mgt_hdr_t *",
229	    "iscsiinfo_t *" },
230	{ "iscsi", "task-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
231	{ "iscsi", "task-response", 1, 1, "iscsi_scsi_task_mgt_rsp_hdr_t *",
232	    "iscsiinfo_t *" },
233	{ "iscsi", "text-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
234	{ "iscsi", "text-command", 1, 1, "iscsi_text_hdr_t *",
235	    "iscsiinfo_t *" },
236	{ "iscsi", "text-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
237	{ "iscsi", "text-response", 1, 1, "iscsi_text_rsp_hdr_t *",
238	    "iscsiinfo_t *" },
239	{ "iscsi", "xfer-start", 0, 0, "idm_conn_t *", "conninfo_t *" },
240	{ "iscsi", "xfer-start", 1, 0, "idm_conn_t *", "iscsiinfo_t *" },
241	{ "iscsi", "xfer-start", 2, 1, "uintptr_t", "xferinfo_t *" },
242	{ "iscsi", "xfer-start", 3, 2, "uint32_t"},
243	{ "iscsi", "xfer-start", 4, 3, "uintptr_t"},
244	{ "iscsi", "xfer-start", 5, 4, "uint32_t"},
245	{ "iscsi", "xfer-start", 6, 5, "uint32_t"},
246	{ "iscsi", "xfer-start", 7, 6, "uint32_t"},
247	{ "iscsi", "xfer-start", 8, 7, "int"},
248	{ "iscsi", "xfer-done", 0, 0, "idm_conn_t *", "conninfo_t *" },
249	{ "iscsi", "xfer-done", 1, 0, "idm_conn_t *", "iscsiinfo_t *" },
250	{ "iscsi", "xfer-done", 2, 1, "uintptr_t", "xferinfo_t *" },
251	{ "iscsi", "xfer-done", 3, 2, "uint32_t"},
252	{ "iscsi", "xfer-done", 4, 3, "uintptr_t"},
253	{ "iscsi", "xfer-done", 5, 4, "uint32_t"},
254	{ "iscsi", "xfer-done", 6, 5, "uint32_t"},
255	{ "iscsi", "xfer-done", 7, 6, "uint32_t"},
256	{ "iscsi", "xfer-done", 8, 7, "int"},
257
258	{ "nfsv3", "op-getattr-start", 0, 0, "struct svc_req *",
259	    "conninfo_t *" },
260	{ "nfsv3", "op-getattr-start", 1, 1, "nfsv3oparg_t *",
261	    "nfsv3opinfo_t *" },
262	{ "nfsv3", "op-getattr-start", 2, 3, "GETATTR3args *" },
263	{ "nfsv3", "op-getattr-done", 0, 0, "struct svc_req *",
264	    "conninfo_t *" },
265	{ "nfsv3", "op-getattr-done", 1, 1, "nfsv3oparg_t *",
266	    "nfsv3opinfo_t *" },
267	{ "nfsv3", "op-getattr-done", 2, 3, "GETATTR3res *" },
268	{ "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
269	    "conninfo_t *" },
270	{ "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
271	    "nfsv3opinfo_t *" },
272	{ "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
273	{ "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
274	    "conninfo_t *" },
275	{ "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
276	    "nfsv3opinfo_t *" },
277	{ "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
278	{ "nfsv3", "op-lookup-start", 0, 0, "struct svc_req *",
279	    "conninfo_t *" },
280	{ "nfsv3", "op-lookup-start", 1, 1, "nfsv3oparg_t *",
281	    "nfsv3opinfo_t *" },
282	{ "nfsv3", "op-lookup-start", 2, 3, "LOOKUP3args *" },
283	{ "nfsv3", "op-lookup-done", 0, 0, "struct svc_req *",
284	    "conninfo_t *" },
285	{ "nfsv3", "op-lookup-done", 1, 1, "nfsv3oparg_t *",
286	    "nfsv3opinfo_t *" },
287	{ "nfsv3", "op-lookup-done", 2, 3, "LOOKUP3res *" },
288	{ "nfsv3", "op-access-start", 0, 0, "struct svc_req *",
289	    "conninfo_t *" },
290	{ "nfsv3", "op-access-start", 1, 1, "nfsv3oparg_t *",
291	    "nfsv3opinfo_t *" },
292	{ "nfsv3", "op-access-start", 2, 3, "ACCESS3args *" },
293	{ "nfsv3", "op-access-done", 0, 0, "struct svc_req *",
294	    "conninfo_t *" },
295	{ "nfsv3", "op-access-done", 1, 1, "nfsv3oparg_t *",
296	    "nfsv3opinfo_t *" },
297	{ "nfsv3", "op-access-done", 2, 3, "ACCESS3res *" },
298	{ "nfsv3", "op-commit-start", 0, 0, "struct svc_req *",
299	    "conninfo_t *" },
300	{ "nfsv3", "op-commit-start", 1, 1, "nfsv3oparg_t *",
301	    "nfsv3opinfo_t *" },
302	{ "nfsv3", "op-commit-start", 2, 3, "COMMIT3args *" },
303	{ "nfsv3", "op-commit-done", 0, 0, "struct svc_req *",
304	    "conninfo_t *" },
305	{ "nfsv3", "op-commit-done", 1, 1, "nfsv3oparg_t *",
306	    "nfsv3opinfo_t *" },
307	{ "nfsv3", "op-commit-done", 2, 3, "COMMIT3res *" },
308	{ "nfsv3", "op-create-start", 0, 0, "struct svc_req *",
309	    "conninfo_t *" },
310	{ "nfsv3", "op-create-start", 1, 1, "nfsv3oparg_t *",
311	    "nfsv3opinfo_t *" },
312	{ "nfsv3", "op-create-start", 2, 3, "CREATE3args *" },
313	{ "nfsv3", "op-create-done", 0, 0, "struct svc_req *",
314	    "conninfo_t *" },
315	{ "nfsv3", "op-create-done", 1, 1, "nfsv3oparg_t *",
316	    "nfsv3opinfo_t *" },
317	{ "nfsv3", "op-create-done", 2, 3, "CREATE3res *" },
318	{ "nfsv3", "op-fsinfo-start", 0, 0, "struct svc_req *",
319	    "conninfo_t *" },
320	{ "nfsv3", "op-fsinfo-start", 1, 1, "nfsv3oparg_t *",
321	    "nfsv3opinfo_t *" },
322	{ "nfsv3", "op-fsinfo-start", 2, 3, "FSINFO3args *" },
323	{ "nfsv3", "op-fsinfo-done", 0, 0, "struct svc_req *",
324	    "conninfo_t *" },
325	{ "nfsv3", "op-fsinfo-done", 1, 1, "nfsv3oparg_t *",
326	    "nfsv3opinfo_t *" },
327	{ "nfsv3", "op-fsinfo-done", 2, 3, "FSINFO3res *" },
328	{ "nfsv3", "op-fsstat-start", 0, 0, "struct svc_req *",
329	    "conninfo_t *" },
330	{ "nfsv3", "op-fsstat-start", 1, 1, "nfsv3oparg_t *",
331	    "nfsv3opinfo_t *" },
332	{ "nfsv3", "op-fsstat-start", 2, 3, "FSSTAT3args *" },
333	{ "nfsv3", "op-fsstat-done", 0, 0, "struct svc_req *",
334	    "conninfo_t *" },
335	{ "nfsv3", "op-fsstat-done", 1, 1, "nfsv3oparg_t *",
336	    "nfsv3opinfo_t *" },
337	{ "nfsv3", "op-fsstat-done", 2, 3, "FSSTAT3res *" },
338	{ "nfsv3", "op-link-start", 0, 0, "struct svc_req *",
339	    "conninfo_t *" },
340	{ "nfsv3", "op-link-start", 1, 1, "nfsv3oparg_t *",
341	    "nfsv3opinfo_t *" },
342	{ "nfsv3", "op-link-start", 2, 3, "LINK3args *" },
343	{ "nfsv3", "op-link-done", 0, 0, "struct svc_req *",
344	    "conninfo_t *" },
345	{ "nfsv3", "op-link-done", 1, 1, "nfsv3oparg_t *",
346	    "nfsv3opinfo_t *" },
347	{ "nfsv3", "op-link-done", 2, 3, "LINK3res *" },
348	{ "nfsv3", "op-mkdir-start", 0, 0, "struct svc_req *",
349	    "conninfo_t *" },
350	{ "nfsv3", "op-mkdir-start", 1, 1, "nfsv3oparg_t *",
351	    "nfsv3opinfo_t *" },
352	{ "nfsv3", "op-mkdir-start", 2, 3, "MKDIR3args *" },
353	{ "nfsv3", "op-mkdir-done", 0, 0, "struct svc_req *",
354	    "conninfo_t *" },
355	{ "nfsv3", "op-mkdir-done", 1, 1, "nfsv3oparg_t *",
356	    "nfsv3opinfo_t *" },
357	{ "nfsv3", "op-mkdir-done", 2, 3, "MKDIR3res *" },
358	{ "nfsv3", "op-mknod-start", 0, 0, "struct svc_req *",
359	    "conninfo_t *" },
360	{ "nfsv3", "op-mknod-start", 1, 1, "nfsv3oparg_t *",
361	    "nfsv3opinfo_t *" },
362	{ "nfsv3", "op-mknod-start", 2, 3, "MKNOD3args *" },
363	{ "nfsv3", "op-mknod-done", 0, 0, "struct svc_req *",
364	    "conninfo_t *" },
365	{ "nfsv3", "op-mknod-done", 1, 1, "nfsv3oparg_t *",
366	    "nfsv3opinfo_t *" },
367	{ "nfsv3", "op-mknod-done", 2, 3, "MKNOD3res *" },
368	{ "nfsv3", "op-null-start", 0, 0, "struct svc_req *",
369	    "conninfo_t *" },
370	{ "nfsv3", "op-null-start", 1, 1, "nfsv3oparg_t *",
371	    "nfsv3opinfo_t *" },
372	{ "nfsv3", "op-null-done", 0, 0, "struct svc_req *",
373	    "conninfo_t *" },
374	{ "nfsv3", "op-null-done", 1, 1, "nfsv3oparg_t *",
375	    "nfsv3opinfo_t *" },
376	{ "nfsv3", "op-pathconf-start", 0, 0, "struct svc_req *",
377	    "conninfo_t *" },
378	{ "nfsv3", "op-pathconf-start", 1, 1, "nfsv3oparg_t *",
379	    "nfsv3opinfo_t *" },
380	{ "nfsv3", "op-pathconf-start", 2, 3, "PATHCONF3args *" },
381	{ "nfsv3", "op-pathconf-done", 0, 0, "struct svc_req *",
382	    "conninfo_t *" },
383	{ "nfsv3", "op-pathconf-done", 1, 1, "nfsv3oparg_t *",
384	    "nfsv3opinfo_t *" },
385	{ "nfsv3", "op-pathconf-done", 2, 3, "PATHCONF3res *" },
386	{ "nfsv3", "op-read-start", 0, 0, "struct svc_req *",
387	    "conninfo_t *" },
388	{ "nfsv3", "op-read-start", 1, 1, "nfsv3oparg_t *",
389	    "nfsv3opinfo_t *" },
390	{ "nfsv3", "op-read-start", 2, 3, "READ3args *" },
391	{ "nfsv3", "op-read-done", 0, 0, "struct svc_req *",
392	    "conninfo_t *" },
393	{ "nfsv3", "op-read-done", 1, 1, "nfsv3oparg_t *",
394	    "nfsv3opinfo_t *" },
395	{ "nfsv3", "op-read-done", 2, 3, "READ3res *" },
396	{ "nfsv3", "op-readdir-start", 0, 0, "struct svc_req *",
397	    "conninfo_t *" },
398	{ "nfsv3", "op-readdir-start", 1, 1, "nfsv3oparg_t *",
399	    "nfsv3opinfo_t *" },
400	{ "nfsv3", "op-readdir-start", 2, 3, "READDIR3args *" },
401	{ "nfsv3", "op-readdir-done", 0, 0, "struct svc_req *",
402	    "conninfo_t *" },
403	{ "nfsv3", "op-readdir-done", 1, 1, "nfsv3oparg_t *",
404	    "nfsv3opinfo_t *" },
405	{ "nfsv3", "op-readdir-done", 2, 3, "READDIR3res *" },
406	{ "nfsv3", "op-readdirplus-start", 0, 0, "struct svc_req *",
407	    "conninfo_t *" },
408	{ "nfsv3", "op-readdirplus-start", 1, 1, "nfsv3oparg_t *",
409	    "nfsv3opinfo_t *" },
410	{ "nfsv3", "op-readdirplus-start", 2, 3, "READDIRPLUS3args *" },
411	{ "nfsv3", "op-readdirplus-done", 0, 0, "struct svc_req *",
412	    "conninfo_t *" },
413	{ "nfsv3", "op-readdirplus-done", 1, 1, "nfsv3oparg_t *",
414	    "nfsv3opinfo_t *" },
415	{ "nfsv3", "op-readdirplus-done", 2, 3, "READDIRPLUS3res *" },
416	{ "nfsv3", "op-readlink-start", 0, 0, "struct svc_req *",
417	    "conninfo_t *" },
418	{ "nfsv3", "op-readlink-start", 1, 1, "nfsv3oparg_t *",
419	    "nfsv3opinfo_t *" },
420	{ "nfsv3", "op-readlink-start", 2, 3, "READLINK3args *" },
421	{ "nfsv3", "op-readlink-done", 0, 0, "struct svc_req *",
422	    "conninfo_t *" },
423	{ "nfsv3", "op-readlink-done", 1, 1, "nfsv3oparg_t *",
424	    "nfsv3opinfo_t *" },
425	{ "nfsv3", "op-readlink-done", 2, 3, "READLINK3res *" },
426	{ "nfsv3", "op-remove-start", 0, 0, "struct svc_req *",
427	    "conninfo_t *" },
428	{ "nfsv3", "op-remove-start", 1, 1, "nfsv3oparg_t *",
429	    "nfsv3opinfo_t *" },
430	{ "nfsv3", "op-remove-start", 2, 3, "REMOVE3args *" },
431	{ "nfsv3", "op-remove-done", 0, 0, "struct svc_req *",
432	    "conninfo_t *" },
433	{ "nfsv3", "op-remove-done", 1, 1, "nfsv3oparg_t *",
434	    "nfsv3opinfo_t *" },
435	{ "nfsv3", "op-remove-done", 2, 3, "REMOVE3res *" },
436	{ "nfsv3", "op-rename-start", 0, 0, "struct svc_req *",
437	    "conninfo_t *" },
438	{ "nfsv3", "op-rename-start", 1, 1, "nfsv3oparg_t *",
439	    "nfsv3opinfo_t *" },
440	{ "nfsv3", "op-rename-start", 2, 3, "RENAME3args *" },
441	{ "nfsv3", "op-rename-done", 0, 0, "struct svc_req *",
442	    "conninfo_t *" },
443	{ "nfsv3", "op-rename-done", 1, 1, "nfsv3oparg_t *",
444	    "nfsv3opinfo_t *" },
445	{ "nfsv3", "op-rename-done", 2, 3, "RENAME3res *" },
446	{ "nfsv3", "op-rmdir-start", 0, 0, "struct svc_req *",
447	    "conninfo_t *" },
448	{ "nfsv3", "op-rmdir-start", 1, 1, "nfsv3oparg_t *",
449	    "nfsv3opinfo_t *" },
450	{ "nfsv3", "op-rmdir-start", 2, 3, "RMDIR3args *" },
451	{ "nfsv3", "op-rmdir-done", 0, 0, "struct svc_req *",
452	    "conninfo_t *" },
453	{ "nfsv3", "op-rmdir-done", 1, 1, "nfsv3oparg_t *",
454	    "nfsv3opinfo_t *" },
455	{ "nfsv3", "op-rmdir-done", 2, 3, "RMDIR3res *" },
456	{ "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
457	    "conninfo_t *" },
458	{ "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
459	    "nfsv3opinfo_t *" },
460	{ "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
461	{ "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
462	    "conninfo_t *" },
463	{ "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
464	    "nfsv3opinfo_t *" },
465	{ "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
466	{ "nfsv3", "op-symlink-start", 0, 0, "struct svc_req *",
467	    "conninfo_t *" },
468	{ "nfsv3", "op-symlink-start", 1, 1, "nfsv3oparg_t *",
469	    "nfsv3opinfo_t *" },
470	{ "nfsv3", "op-symlink-start", 2, 3, "SYMLINK3args *" },
471	{ "nfsv3", "op-symlink-done", 0, 0, "struct svc_req *",
472	    "conninfo_t *" },
473	{ "nfsv3", "op-symlink-done", 1, 1, "nfsv3oparg_t *",
474	    "nfsv3opinfo_t *" },
475	{ "nfsv3", "op-symlink-done", 2, 3, "SYMLINK3res *" },
476	{ "nfsv3", "op-write-start", 0, 0, "struct svc_req *",
477	    "conninfo_t *" },
478	{ "nfsv3", "op-write-start", 1, 1, "nfsv3oparg_t *",
479	    "nfsv3opinfo_t *" },
480	{ "nfsv3", "op-write-start", 2, 3, "WRITE3args *" },
481	{ "nfsv3", "op-write-done", 0, 0, "struct svc_req *",
482	    "conninfo_t *" },
483	{ "nfsv3", "op-write-done", 1, 1, "nfsv3oparg_t *",
484	    "nfsv3opinfo_t *" },
485	{ "nfsv3", "op-write-done", 2, 3, "WRITE3res *" },
486
487	{ "nfsv4", "null-start", 0, 0, "struct svc_req *", "conninfo_t *" },
488	{ "nfsv4", "null-done", 0, 0, "struct svc_req *", "conninfo_t *" },
489	{ "nfsv4", "compound-start", 0, 0, "struct compound_state *",
490	    "conninfo_t *" },
491	{ "nfsv4", "compound-start", 1, 0, "struct compound_state *",
492	    "nfsv4opinfo_t *" },
493	{ "nfsv4", "compound-start", 2, 1, "COMPOUND4args *" },
494	{ "nfsv4", "compound-done", 0, 0, "struct compound_state *",
495	    "conninfo_t *" },
496	{ "nfsv4", "compound-done", 1, 0, "struct compound_state *",
497	    "nfsv4opinfo_t *" },
498	{ "nfsv4", "compound-done", 2, 1, "COMPOUND4res *" },
499	{ "nfsv4", "op-access-start", 0, 0, "struct compound_state *",
500	    "conninfo_t *"},
501	{ "nfsv4", "op-access-start", 1, 0, "struct compound_state *",
502	    "nfsv4opinfo_t *" },
503	{ "nfsv4", "op-access-start", 2, 1, "ACCESS4args *" },
504	{ "nfsv4", "op-access-done", 0, 0, "struct compound_state *",
505	    "conninfo_t *" },
506	{ "nfsv4", "op-access-done", 1, 0, "struct compound_state *",
507	    "nfsv4opinfo_t *" },
508	{ "nfsv4", "op-access-done", 2, 1, "ACCESS4res *" },
509	{ "nfsv4", "op-close-start", 0, 0, "struct compound_state *",
510	    "conninfo_t *" },
511	{ "nfsv4", "op-close-start", 1, 0, "struct compound_state *",
512	    "nfsv4opinfo_t *" },
513	{ "nfsv4", "op-close-start", 2, 1, "CLOSE4args *" },
514	{ "nfsv4", "op-close-done", 0, 0, "struct compound_state *",
515	    "conninfo_t *" },
516	{ "nfsv4", "op-close-done", 1, 0, "struct compound_state *",
517	    "nfsv4opinfo_t *" },
518	{ "nfsv4", "op-close-done", 2, 1, "CLOSE4res *" },
519	{ "nfsv4", "op-commit-start", 0, 0, "struct compound_state *",
520	    "conninfo_t *" },
521	{ "nfsv4", "op-commit-start", 1, 0, "struct compound_state *",
522	    "nfsv4opinfo_t *" },
523	{ "nfsv4", "op-commit-start", 2, 1, "COMMIT4args *" },
524	{ "nfsv4", "op-commit-done", 0, 0, "struct compound_state *",
525	    "conninfo_t *" },
526	{ "nfsv4", "op-commit-done", 1, 0, "struct compound_state *",
527	    "nfsv4opinfo_t *" },
528	{ "nfsv4", "op-commit-done", 2, 1, "COMMIT4res *" },
529	{ "nfsv4", "op-create-start", 0, 0, "struct compound_state *",
530	    "conninfo_t *" },
531	{ "nfsv4", "op-create-start", 1, 0, "struct compound_state *",
532	    "nfsv4opinfo_t *" },
533	{ "nfsv4", "op-create-start", 2, 1, "CREATE4args *" },
534	{ "nfsv4", "op-create-done", 0, 0, "struct compound_state *",
535	    "conninfo_t *" },
536	{ "nfsv4", "op-create-done", 1, 0, "struct compound_state *",
537	    "nfsv4opinfo_t *" },
538	{ "nfsv4", "op-create-done", 2, 1, "CREATE4res *" },
539	{ "nfsv4", "op-delegpurge-start", 0, 0, "struct compound_state *",
540	    "conninfo_t *" },
541	{ "nfsv4", "op-delegpurge-start", 1, 0, "struct compound_state *",
542	    "nfsv4opinfo_t *" },
543	{ "nfsv4", "op-delegpurge-start", 2, 1, "DELEGPURGE4args *" },
544	{ "nfsv4", "op-delegpurge-done", 0, 0, "struct compound_state *",
545	    "conninfo_t *" },
546	{ "nfsv4", "op-delegpurge-done", 1, 0, "struct compound_state *",
547	    "nfsv4opinfo_t *" },
548	{ "nfsv4", "op-delegpurge-done", 2, 1, "DELEGPURGE4res *" },
549	{ "nfsv4", "op-delegreturn-start", 0, 0, "struct compound_state *",
550	    "conninfo_t *" },
551	{ "nfsv4", "op-delegreturn-start", 1, 0, "struct compound_state *",
552	    "nfsv4opinfo_t *" },
553	{ "nfsv4", "op-delegreturn-start", 2, 1, "DELEGRETURN4args *" },
554	{ "nfsv4", "op-delegreturn-done", 0, 0, "struct compound_state *",
555	    "conninfo_t *" },
556	{ "nfsv4", "op-delegreturn-done", 1, 0, "struct compound_state *",
557	    "nfsv4opinfo_t *" },
558	{ "nfsv4", "op-delegreturn-done", 2, 1, "DELEGRETURN4res *" },
559	{ "nfsv4", "op-getattr-start", 0, 0, "struct compound_state *",
560	    "conninfo_t *" },
561	{ "nfsv4", "op-getattr-start", 1, 0, "struct compound_state *",
562	    "nfsv4opinfo_t *" },
563	{ "nfsv4", "op-getattr-start", 2, 1, "GETATTR4args *" },
564	{ "nfsv4", "op-getattr-done", 0, 0, "struct compound_state *",
565	    "conninfo_t *" },
566	{ "nfsv4", "op-getattr-done", 1, 0, "struct compound_state *",
567	    "nfsv4opinfo_t *" },
568	{ "nfsv4", "op-getattr-done", 2, 1, "GETATTR4res *" },
569	{ "nfsv4", "op-getfh-start", 0, 0, "struct compound_state *",
570	    "conninfo_t *" },
571	{ "nfsv4", "op-getfh-start", 1, 0, "struct compound_state *",
572	    "nfsv4opinfo_t *" },
573	{ "nfsv4", "op-getfh-done", 0, 0, "struct compound_state *",
574	    "conninfo_t *" },
575	{ "nfsv4", "op-getfh-done", 1, 0, "struct compound_state *",
576	    "nfsv4opinfo_t *" },
577	{ "nfsv4", "op-getfh-done", 2, 1, "GETFH4res *" },
578	{ "nfsv4", "op-link-start", 0, 0, "struct compound_state *",
579	    "conninfo_t *" },
580	{ "nfsv4", "op-link-start", 1, 0, "struct compound_state *",
581	    "nfsv4opinfo_t *" },
582	{ "nfsv4", "op-link-start", 2, 1, "LINK4args *" },
583	{ "nfsv4", "op-link-done", 0, 0, "struct compound_state *",
584	    "conninfo_t *" },
585	{ "nfsv4", "op-link-done", 1, 0, "struct compound_state *",
586	    "nfsv4opinfo_t *" },
587	{ "nfsv4", "op-link-done", 2, 1, "LINK4res *" },
588	{ "nfsv4", "op-lock-start", 0, 0, "struct compound_state *",
589	    "conninfo_t *" },
590	{ "nfsv4", "op-lock-start", 1, 0, "struct compound_state *",
591	    "nfsv4opinfo_t *" },
592	{ "nfsv4", "op-lock-start", 2, 1, "LOCK4args *" },
593	{ "nfsv4", "op-lock-done", 0, 0, "struct compound_state *",
594	    "conninfo_t *" },
595	{ "nfsv4", "op-lock-done", 1, 0, "struct compound_state *",
596	    "nfsv4opinfo_t *" },
597	{ "nfsv4", "op-lock-done", 2, 1, "LOCK4res *" },
598	{ "nfsv4", "op-lockt-start", 0, 0, "struct compound_state *",
599	    "conninfo_t *" },
600	{ "nfsv4", "op-lockt-start", 1, 0, "struct compound_state *",
601	    "nfsv4opinfo_t *" },
602	{ "nfsv4", "op-lockt-start", 2, 1, "LOCKT4args *" },
603	{ "nfsv4", "op-lockt-done", 0, 0, "struct compound_state *",
604	    "conninfo_t *" },
605	{ "nfsv4", "op-lockt-done", 1, 0, "struct compound_state *",
606	    "nfsv4opinfo_t *" },
607	{ "nfsv4", "op-lockt-done", 2, 1, "LOCKT4res *" },
608	{ "nfsv4", "op-locku-start", 0, 0, "struct compound_state *",
609	    "conninfo_t *" },
610	{ "nfsv4", "op-locku-start", 1, 0, "struct compound_state *",
611	    "nfsv4opinfo_t *" },
612	{ "nfsv4", "op-locku-start", 2, 1, "LOCKU4args *" },
613	{ "nfsv4", "op-locku-done", 0, 0, "struct compound_state *",
614	    "conninfo_t *" },
615	{ "nfsv4", "op-locku-done", 1, 0, "struct compound_state *",
616	    "nfsv4opinfo_t *" },
617	{ "nfsv4", "op-locku-done", 2, 1, "LOCKU4res *" },
618	{ "nfsv4", "op-lookup-start", 0, 0, "struct compound_state *",
619	    "conninfo_t *" },
620	{ "nfsv4", "op-lookup-start", 1, 0, "struct compound_state *",
621	    "nfsv4opinfo_t *" },
622	{ "nfsv4", "op-lookup-start", 2, 1, "LOOKUP4args *" },
623	{ "nfsv4", "op-lookup-done", 0, 0, "struct compound_state *",
624	    "conninfo_t *" },
625	{ "nfsv4", "op-lookup-done", 1, 0, "struct compound_state *",
626	    "nfsv4opinfo_t *" },
627	{ "nfsv4", "op-lookup-done", 2, 1, "LOOKUP4res *" },
628	{ "nfsv4", "op-lookupp-start", 0, 0, "struct compound_state *",
629	    "conninfo_t *" },
630	{ "nfsv4", "op-lookupp-start", 1, 0, "struct compound_state *",
631	    "nfsv4opinfo_t *" },
632	{ "nfsv4", "op-lookupp-done", 0, 0, "struct compound_state *",
633	    "conninfo_t *" },
634	{ "nfsv4", "op-lookupp-done", 1, 0, "struct compound_state *",
635	    "nfsv4opinfo_t *" },
636	{ "nfsv4", "op-lookupp-done", 2, 1, "LOOKUPP4res *" },
637	{ "nfsv4", "op-nverify-start", 0, 0, "struct compound_state *",
638	    "conninfo_t *" },
639	{ "nfsv4", "op-nverify-start", 1, 0, "struct compound_state *",
640	    "nfsv4opinfo_t *" },
641	{ "nfsv4", "op-nverify-start", 2, 1, "NVERIFY4args *" },
642	{ "nfsv4", "op-nverify-done", 0, 0, "struct compound_state *",
643	    "conninfo_t *" },
644	{ "nfsv4", "op-nverify-done", 1, 0, "struct compound_state *",
645	    "nfsv4opinfo_t *" },
646	{ "nfsv4", "op-nverify-done", 2, 1, "NVERIFY4res *" },
647	{ "nfsv4", "op-open-start", 0, 0, "struct compound_state *",
648	    "conninfo_t *" },
649	{ "nfsv4", "op-open-start", 1, 0, "struct compound_state *",
650	    "nfsv4opinfo_t *" },
651	{ "nfsv4", "op-open-start", 2, 1, "OPEN4args *" },
652	{ "nfsv4", "op-open-done", 0, 0, "struct compound_state *",
653	    "conninfo_t *" },
654	{ "nfsv4", "op-open-done", 1, 0, "struct compound_state *",
655	    "nfsv4opinfo_t *" },
656	{ "nfsv4", "op-open-done", 2, 1, "OPEN4res *" },
657	{ "nfsv4", "op-open-confirm-start", 0, 0, "struct compound_state *",
658	    "conninfo_t *" },
659	{ "nfsv4", "op-open-confirm-start", 1, 0, "struct compound_state *",
660	    "nfsv4opinfo_t *" },
661	{ "nfsv4", "op-open-confirm-start", 2, 1, "OPEN_CONFIRM4args *" },
662	{ "nfsv4", "op-open-confirm-done", 0, 0, "struct compound_state *",
663	    "conninfo_t *" },
664	{ "nfsv4", "op-open-confirm-done", 1, 0, "struct compound_state *",
665	    "nfsv4opinfo_t *" },
666	{ "nfsv4", "op-open-confirm-done", 2, 1, "OPEN_CONFIRM4res *" },
667	{ "nfsv4", "op-open-downgrade-start", 0, 0, "struct compound_state *",
668	    "conninfo_t *" },
669	{ "nfsv4", "op-open-downgrade-start", 1, 0, "struct compound_state *",
670	    "nfsv4opinfo_t *" },
671	{ "nfsv4", "op-open-downgrade-start", 2, 1, "OPEN_DOWNGRADE4args *" },
672	{ "nfsv4", "op-open-downgrade-done", 0, 0, "struct compound_state *",
673	    "conninfo_t *" },
674	{ "nfsv4", "op-open-downgrade-done", 1, 0, "struct compound_state *",
675	    "nfsv4opinfo_t *" },
676	{ "nfsv4", "op-open-downgrade-done", 2, 1, "OPEN_DOWNGRADE4res *" },
677	{ "nfsv4", "op-openattr-start", 0, 0, "struct compound_state *",
678	    "conninfo_t *" },
679	{ "nfsv4", "op-openattr-start", 1, 0, "struct compound_state *",
680	    "nfsv4opinfo_t *" },
681	{ "nfsv4", "op-openattr-start", 2, 1, "OPENATTR4args *" },
682	{ "nfsv4", "op-openattr-done", 0, 0, "struct compound_state *",
683	    "conninfo_t *" },
684	{ "nfsv4", "op-openattr-done", 1, 0, "struct compound_state *",
685	    "nfsv4opinfo_t *" },
686	{ "nfsv4", "op-openattr-done", 2, 1, "OPENATTR4res *" },
687	{ "nfsv4", "op-putfh-start", 0, 0, "struct compound_state *",
688	    "conninfo_t *" },
689	{ "nfsv4", "op-putfh-start", 1, 0, "struct compound_state *",
690	    "nfsv4opinfo_t *" },
691	{ "nfsv4", "op-putfh-start", 2, 1, "PUTFH4args *" },
692	{ "nfsv4", "op-putfh-done", 0, 0, "struct compound_state *",
693	    "conninfo_t *" },
694	{ "nfsv4", "op-putfh-done", 1, 0, "struct compound_state *",
695	    "nfsv4opinfo_t *" },
696	{ "nfsv4", "op-putfh-done", 2, 1, "PUTFH4res *" },
697	{ "nfsv4", "op-putpubfh-start", 0, 0, "struct compound_state *",
698	    "conninfo_t *" },
699	{ "nfsv4", "op-putpubfh-start", 1, 0, "struct compound_state *",
700	    "nfsv4opinfo_t *" },
701	{ "nfsv4", "op-putpubfh-done", 0, 0, "struct compound_state *",
702	    "conninfo_t *" },
703	{ "nfsv4", "op-putpubfh-done", 1, 0, "struct compound_state *",
704	    "nfsv4opinfo_t *" },
705	{ "nfsv4", "op-putpubfh-done", 2, 1, "PUTPUBFH4res *" },
706	{ "nfsv4", "op-putrootfh-start", 0, 0, "struct compound_state *",
707	    "conninfo_t *" },
708	{ "nfsv4", "op-putrootfh-start", 1, 0, "struct compound_state *",
709	    "nfsv4opinfo_t *" },
710	{ "nfsv4", "op-putrootfh-done", 0, 0, "struct compound_state *",
711	    "conninfo_t *" },
712	{ "nfsv4", "op-putrootfh-done", 1, 0, "struct compound_state *",
713	    "nfsv4opinfo_t *" },
714	{ "nfsv4", "op-putrootfh-done", 2, 1, "PUTROOTFH4res *" },
715	{ "nfsv4", "op-read-start", 0, 0, "struct compound_state *",
716	    "conninfo_t *" },
717	{ "nfsv4", "op-read-start", 1, 0, "struct compound_state *",
718	    "nfsv4opinfo_t *" },
719	{ "nfsv4", "op-read-start", 2, 1, "READ4args *" },
720	{ "nfsv4", "op-read-done", 0, 0, "struct compound_state *",
721	    "conninfo_t *" },
722	{ "nfsv4", "op-read-done", 1, 0, "struct compound_state *",
723	    "nfsv4opinfo_t *" },
724	{ "nfsv4", "op-read-done", 2, 1, "READ4res *" },
725	{ "nfsv4", "op-readdir-start", 0, 0, "struct compound_state *",
726	    "conninfo_t *" },
727	{ "nfsv4", "op-readdir-start", 1, 0, "struct compound_state *",
728	    "nfsv4opinfo_t *" },
729	{ "nfsv4", "op-readdir-start", 2, 1, "READDIR4args *" },
730	{ "nfsv4", "op-readdir-done", 0, 0, "struct compound_state *",
731	    "conninfo_t *" },
732	{ "nfsv4", "op-readdir-done", 1, 0, "struct compound_state *",
733	    "nfsv4opinfo_t *" },
734	{ "nfsv4", "op-readdir-done", 2, 1, "READDIR4res *" },
735	{ "nfsv4", "op-readlink-start", 0, 0, "struct compound_state *",
736	    "conninfo_t *" },
737	{ "nfsv4", "op-readlink-start", 1, 0, "struct compound_state *",
738	    "nfsv4opinfo_t *" },
739	{ "nfsv4", "op-readlink-done", 0, 0, "struct compound_state *",
740	    "conninfo_t *" },
741	{ "nfsv4", "op-readlink-done", 1, 0, "struct compound_state *",
742	    "nfsv4opinfo_t *" },
743	{ "nfsv4", "op-readlink-done", 2, 1, "READLINK4res *" },
744	{ "nfsv4", "op-release-lockowner-start", 0, 0,
745	    "struct compound_state *", "conninfo_t *" },
746	{ "nfsv4", "op-release-lockowner-start", 1, 0,
747	    "struct compound_state *", "nfsv4opinfo_t *" },
748	{ "nfsv4", "op-release-lockowner-start", 2, 1,
749	    "RELEASE_LOCKOWNER4args *" },
750	{ "nfsv4", "op-release-lockowner-done", 0, 0,
751	    "struct compound_state *", "conninfo_t *" },
752	{ "nfsv4", "op-release-lockowner-done", 1, 0,
753	    "struct compound_state *", "nfsv4opinfo_t *" },
754	{ "nfsv4", "op-release-lockowner-done", 2, 1,
755	    "RELEASE_LOCKOWNER4res *" },
756	{ "nfsv4", "op-remove-start", 0, 0, "struct compound_state *",
757	    "conninfo_t *" },
758	{ "nfsv4", "op-remove-start", 1, 0, "struct compound_state *",
759	    "nfsv4opinfo_t *" },
760	{ "nfsv4", "op-remove-start", 2, 1, "REMOVE4args *" },
761	{ "nfsv4", "op-remove-done", 0, 0, "struct compound_state *",
762	    "conninfo_t *" },
763	{ "nfsv4", "op-remove-done", 1, 0, "struct compound_state *",
764	    "nfsv4opinfo_t *" },
765	{ "nfsv4", "op-remove-done", 2, 1, "REMOVE4res *" },
766	{ "nfsv4", "op-rename-start", 0, 0, "struct compound_state *",
767	    "conninfo_t *" },
768	{ "nfsv4", "op-rename-start", 1, 0, "struct compound_state *",
769	    "nfsv4opinfo_t *" },
770	{ "nfsv4", "op-rename-start", 2, 1, "RENAME4args *" },
771	{ "nfsv4", "op-rename-done", 0, 0, "struct compound_state *",
772	    "conninfo_t *" },
773	{ "nfsv4", "op-rename-done", 1, 0, "struct compound_state *",
774	    "nfsv4opinfo_t *" },
775	{ "nfsv4", "op-rename-done", 2, 1, "RENAME4res *" },
776	{ "nfsv4", "op-renew-start", 0, 0, "struct compound_state *",
777	    "conninfo_t *" },
778	{ "nfsv4", "op-renew-start", 1, 0, "struct compound_state *",
779	    "nfsv4opinfo_t *" },
780	{ "nfsv4", "op-renew-start", 2, 1, "RENEW4args *" },
781	{ "nfsv4", "op-renew-done", 0, 0, "struct compound_state *",
782	    "conninfo_t *" },
783	{ "nfsv4", "op-renew-done", 1, 0, "struct compound_state *",
784	    "nfsv4opinfo_t *" },
785	{ "nfsv4", "op-renew-done", 2, 1, "RENEW4res *" },
786	{ "nfsv4", "op-restorefh-start", 0, 0, "struct compound_state *",
787	    "conninfo_t *" },
788	{ "nfsv4", "op-restorefh-start", 1, 0, "struct compound_state *",
789	    "nfsv4opinfo_t *" },
790	{ "nfsv4", "op-restorefh-done", 0, 0, "struct compound_state *",
791	    "conninfo_t *" },
792	{ "nfsv4", "op-restorefh-done", 1, 0, "struct compound_state *",
793	    "nfsv4opinfo_t *" },
794	{ "nfsv4", "op-restorefh-done", 2, 1, "RESTOREFH4res *" },
795	{ "nfsv4", "op-savefh-start", 0, 0, "struct compound_state *",
796	    "conninfo_t *" },
797	{ "nfsv4", "op-savefh-start", 1, 0, "struct compound_state *",
798	    "nfsv4opinfo_t *" },
799	{ "nfsv4", "op-savefh-done", 0, 0, "struct compound_state *",
800	    "conninfo_t *" },
801	{ "nfsv4", "op-savefh-done", 1, 0, "struct compound_state *",
802	    "nfsv4opinfo_t *" },
803	{ "nfsv4", "op-savefh-done", 2, 1, "SAVEFH4res *" },
804	{ "nfsv4", "op-secinfo-start", 0, 0, "struct compound_state *",
805	    "conninfo_t *" },
806	{ "nfsv4", "op-secinfo-start", 1, 0, "struct compound_state *",
807	    "nfsv4opinfo_t *" },
808	{ "nfsv4", "op-secinfo-start", 2, 1, "SECINFO4args *" },
809	{ "nfsv4", "op-secinfo-done", 0, 0, "struct compound_state *",
810	    "conninfo_t *" },
811	{ "nfsv4", "op-secinfo-done", 1, 0, "struct compound_state *",
812	    "nfsv4opinfo_t *" },
813	{ "nfsv4", "op-secinfo-done", 2, 1, "SECINFO4res *" },
814	{ "nfsv4", "op-setattr-start", 0, 0, "struct compound_state *",
815	    "conninfo_t *" },
816	{ "nfsv4", "op-setattr-start", 1, 0, "struct compound_state *",
817	    "nfsv4opinfo_t *" },
818	{ "nfsv4", "op-setattr-start", 2, 1, "SETATTR4args *" },
819	{ "nfsv4", "op-setattr-done", 0, 0, "struct compound_state *",
820	    "conninfo_t *" },
821	{ "nfsv4", "op-setattr-done", 1, 0, "struct compound_state *",
822	    "nfsv4opinfo_t *" },
823	{ "nfsv4", "op-setattr-done", 2, 1, "SETATTR4res *" },
824	{ "nfsv4", "op-setclientid-start", 0, 0, "struct compound_state *",
825	    "conninfo_t *" },
826	{ "nfsv4", "op-setclientid-start", 1, 0, "struct compound_state *",
827	    "nfsv4opinfo_t *" },
828	{ "nfsv4", "op-setclientid-start", 2, 1, "SETCLIENTID4args *" },
829	{ "nfsv4", "op-setclientid-done", 0, 0, "struct compound_state *",
830	    "conninfo_t *" },
831	{ "nfsv4", "op-setclientid-done", 1, 0, "struct compound_state *",
832	    "nfsv4opinfo_t *" },
833	{ "nfsv4", "op-setclientid-done", 2, 1, "SETCLIENTID4res *" },
834	{ "nfsv4", "op-setclientid-confirm-start", 0, 0,
835	    "struct compound_state *", "conninfo_t *" },
836	{ "nfsv4", "op-setclientid-confirm-start", 1, 0,
837	    "struct compound_state *", "nfsv4opinfo_t *" },
838	{ "nfsv4", "op-setclientid-confirm-start", 2, 1,
839	    "SETCLIENTID_CONFIRM4args *" },
840	{ "nfsv4", "op-setclientid-confirm-done", 0, 0,
841	    "struct compound_state *", "conninfo_t *" },
842	{ "nfsv4", "op-setclientid-confirm-done", 1, 0,
843	    "struct compound_state *", "nfsv4opinfo_t *" },
844	{ "nfsv4", "op-setclientid-confirm-done", 2, 1,
845	    "SETCLIENTID_CONFIRM4res *" },
846	{ "nfsv4", "op-verify-start", 0, 0, "struct compound_state *",
847	    "conninfo_t *" },
848	{ "nfsv4", "op-verify-start", 1, 0, "struct compound_state *",
849	    "nfsv4opinfo_t *" },
850	{ "nfsv4", "op-verify-start", 2, 1, "VERIFY4args *" },
851	{ "nfsv4", "op-verify-done", 0, 0, "struct compound_state *",
852	    "conninfo_t *" },
853	{ "nfsv4", "op-verify-done", 1, 0, "struct compound_state *",
854	    "nfsv4opinfo_t *" },
855	{ "nfsv4", "op-verify-done", 2, 1, "VERIFY4res *" },
856	{ "nfsv4", "op-write-start", 0, 0, "struct compound_state *",
857	    "conninfo_t *" },
858	{ "nfsv4", "op-write-start", 1, 0, "struct compound_state *",
859	    "nfsv4opinfo_t *" },
860	{ "nfsv4", "op-write-start", 2, 1, "WRITE4args *" },
861	{ "nfsv4", "op-write-done", 0, 0, "struct compound_state *",
862	    "conninfo_t *" },
863	{ "nfsv4", "op-write-done", 1, 0, "struct compound_state *",
864	    "nfsv4opinfo_t *" },
865	{ "nfsv4", "op-write-done", 2, 1, "WRITE4res *" },
866	{ "nfsv4", "cb-recall-start", 0, 0, "rfs4_client_t *",
867	    "conninfo_t *" },
868	{ "nfsv4", "cb-recall-start", 1, 1, "rfs4_deleg_state_t *",
869	    "nfsv4cbinfo_t *" },
870	{ "nfsv4", "cb-recall-start", 2, 2, "CB_RECALL4args *" },
871	{ "nfsv4", "cb-recall-done", 0, 0, "rfs4_client_t *",
872	    "conninfo_t *" },
873	{ "nfsv4", "cb-recall-done", 1, 1, "rfs4_deleg_state_t *",
874	    "nfsv4cbinfo_t *" },
875	{ "nfsv4", "cb-recall-done", 2, 2, "CB_RECALL4res *" },
876
877	{ "ip", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
878	{ "ip", "send", 1, 1, "conn_t *", "csinfo_t *" },
879	{ "ip", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
880	{ "ip", "send", 3, 3, "__dtrace_ipsr_ill_t *", "ifinfo_t *" },
881	{ "ip", "send", 4, 4, "ipha_t *", "ipv4info_t *" },
882	{ "ip", "send", 5, 5, "ip6_t *", "ipv6info_t *" },
883	{ "ip", "send", 6, 6, "int" }, /* used by __dtrace_ipsr_ill_t */
884	{ "ip", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
885	{ "ip", "receive", 1, 1, "conn_t *", "csinfo_t *" },
886	{ "ip", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
887	{ "ip", "receive", 3, 3, "__dtrace_ipsr_ill_t *", "ifinfo_t *" },
888	{ "ip", "receive", 4, 4, "ipha_t *", "ipv4info_t *" },
889	{ "ip", "receive", 5, 5, "ip6_t *", "ipv6info_t *" },
890	{ "ip", "receive", 6, 6, "int" }, /* used by __dtrace_ipsr_ill_t */
891
892	{ "tcp", "connect-established", 0, 0, "mblk_t *", "pktinfo_t *" },
893	{ "tcp", "connect-established", 1, 1, "ip_xmit_attr_t *",
894	    "csinfo_t *" },
895	{ "tcp", "connect-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
896	{ "tcp", "connect-established", 3, 3, "tcp_t *", "tcpsinfo_t *" },
897	{ "tcp", "connect-established", 4, 4, "tcph_t *", "tcpinfo_t *" },
898	{ "tcp", "connect-refused", 0, 0, "mblk_t *", "pktinfo_t *" },
899	{ "tcp", "connect-refused", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
900	{ "tcp", "connect-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
901	{ "tcp", "connect-refused", 3, 3, "tcp_t *", "tcpsinfo_t *" },
902	{ "tcp", "connect-refused", 4, 4, "tcph_t *", "tcpinfo_t *" },
903	{ "tcp", "connect-request", 0, 0, "mblk_t *", "pktinfo_t *" },
904	{ "tcp", "connect-request", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
905	{ "tcp", "connect-request", 2, 2, "void_ip_t *", "ipinfo_t *" },
906	{ "tcp", "connect-request", 3, 3, "tcp_t *", "tcpsinfo_t *" },
907	{ "tcp", "connect-request", 4, 4, "tcph_t *", "tcpinfo_t *" },
908	{ "tcp", "accept-established", 0, 0, "mblk_t *", "pktinfo_t *" },
909	{ "tcp", "accept-established", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
910	{ "tcp", "accept-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
911	{ "tcp", "accept-established", 3, 3, "tcp_t *", "tcpsinfo_t *" },
912	{ "tcp", "accept-established", 4, 4, "tcph_t *", "tcpinfo_t *" },
913	{ "tcp", "accept-refused", 0, 0, "mblk_t *", "pktinfo_t *" },
914	{ "tcp", "accept-refused", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
915	{ "tcp", "accept-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
916	{ "tcp", "accept-refused", 3, 3, "tcp_t *", "tcpsinfo_t *" },
917	{ "tcp", "accept-refused", 4, 4, "tcph_t *", "tcpinfo_t *" },
918	{ "tcp", "state-change", 0, 0, "void", "void" },
919	{ "tcp", "state-change", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
920	{ "tcp", "state-change", 2, 2, "void", "void" },
921	{ "tcp", "state-change", 3, 3, "tcp_t *", "tcpsinfo_t *" },
922	{ "tcp", "state-change", 4, 4, "void", "void" },
923	{ "tcp", "state-change", 5, 5, "int32_t", "tcplsinfo_t *" },
924	{ "tcp", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
925	{ "tcp", "send", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
926	{ "tcp", "send", 2, 2, "__dtrace_tcp_void_ip_t *", "ipinfo_t *" },
927	{ "tcp", "send", 3, 3, "tcp_t *", "tcpsinfo_t *" },
928	{ "tcp", "send", 4, 4, "__dtrace_tcp_tcph_t *", "tcpinfo_t *" },
929	{ "tcp", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
930	{ "tcp", "receive", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
931	{ "tcp", "receive", 2, 2, "__dtrace_tcp_void_ip_t *", "ipinfo_t *" },
932	{ "tcp", "receive", 3, 3, "tcp_t *", "tcpsinfo_t *" },
933	{ "tcp", "receive", 4, 4, "__dtrace_tcp_tcph_t *", "tcpinfo_t *" },
934
935	{ "udp", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
936	{ "udp", "send", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
937	{ "udp", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
938	{ "udp", "send", 3, 3, "udp_t *", "udpsinfo_t *" },
939	{ "udp", "send", 4, 4, "udpha_t *", "udpinfo_t *" },
940	{ "udp", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
941	{ "udp", "receive", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
942	{ "udp", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
943	{ "udp", "receive", 3, 3, "udp_t *", "udpsinfo_t *" },
944	{ "udp", "receive", 4, 4, "udpha_t *", "udpinfo_t *" },
945
946	{ "sysevent", "post", 0, 0, "evch_bind_t *", "syseventchaninfo_t *" },
947	{ "sysevent", "post", 1, 1, "sysevent_impl_t *", "syseventinfo_t *" },
948
949	{ "xpv", "add-to-physmap-end", 0, 0, "int" },
950	{ "xpv", "add-to-physmap-start", 0, 0, "domid_t" },
951	{ "xpv", "add-to-physmap-start", 1, 1, "uint_t" },
952	{ "xpv", "add-to-physmap-start", 2, 2, "ulong_t" },
953	{ "xpv", "add-to-physmap-start", 3, 3, "ulong_t" },
954	{ "xpv", "decrease-reservation-end", 0, 0, "int" },
955	{ "xpv", "decrease-reservation-start", 0, 0, "domid_t" },
956	{ "xpv", "decrease-reservation-start", 1, 1, "ulong_t" },
957	{ "xpv", "decrease-reservation-start", 2, 2, "uint_t" },
958	{ "xpv", "decrease-reservation-start", 3, 3, "ulong_t *" },
959	{ "xpv", "dom-create-start", 0, 0, "xen_domctl_t *" },
960	{ "xpv", "dom-destroy-start", 0, 0, "domid_t" },
961	{ "xpv", "dom-pause-start", 0, 0, "domid_t" },
962	{ "xpv", "dom-unpause-start", 0, 0, "domid_t" },
963	{ "xpv", "dom-create-end", 0, 0, "int" },
964	{ "xpv", "dom-destroy-end", 0, 0, "int" },
965	{ "xpv", "dom-pause-end", 0, 0, "int" },
966	{ "xpv", "dom-unpause-end", 0, 0, "int" },
967	{ "xpv", "evtchn-op-end", 0, 0, "int" },
968	{ "xpv", "evtchn-op-start", 0, 0, "int" },
969	{ "xpv", "evtchn-op-start", 1, 1, "void *" },
970	{ "xpv", "increase-reservation-end", 0, 0, "int" },
971	{ "xpv", "increase-reservation-start", 0, 0, "domid_t" },
972	{ "xpv", "increase-reservation-start", 1, 1, "ulong_t" },
973	{ "xpv", "increase-reservation-start", 2, 2, "uint_t" },
974	{ "xpv", "increase-reservation-start", 3, 3, "ulong_t *" },
975	{ "xpv", "mmap-end", 0, 0, "int" },
976	{ "xpv", "mmap-entry", 0, 0, "ulong_t" },
977	{ "xpv", "mmap-entry", 1, 1, "ulong_t" },
978	{ "xpv", "mmap-entry", 2, 2, "ulong_t" },
979	{ "xpv", "mmap-start", 0, 0, "domid_t" },
980	{ "xpv", "mmap-start", 1, 1, "int" },
981	{ "xpv", "mmap-start", 2, 2, "privcmd_mmap_entry_t *" },
982	{ "xpv", "mmapbatch-end", 0, 0, "int" },
983	{ "xpv", "mmapbatch-end", 1, 1, "struct seg *" },
984	{ "xpv", "mmapbatch-end", 2, 2, "caddr_t" },
985	{ "xpv", "mmapbatch-start", 0, 0, "domid_t" },
986	{ "xpv", "mmapbatch-start", 1, 1, "int" },
987	{ "xpv", "mmapbatch-start", 2, 2, "caddr_t" },
988	{ "xpv", "mmu-ext-op-end", 0, 0, "int" },
989	{ "xpv", "mmu-ext-op-start", 0, 0, "int" },
990	{ "xpv", "mmu-ext-op-start", 1, 1, "struct mmuext_op *" },
991	{ "xpv", "mmu-update-start", 0, 0, "int" },
992	{ "xpv", "mmu-update-start", 1, 1, "int" },
993	{ "xpv", "mmu-update-start", 2, 2, "mmu_update_t *" },
994	{ "xpv", "mmu-update-end", 0, 0, "int" },
995	{ "xpv", "populate-physmap-end", 0, 0, "int" },
996	{ "xpv", "populate-physmap-start", 0, 0, "domid_t" },
997	{ "xpv", "populate-physmap-start", 1, 1, "ulong_t" },
998	{ "xpv", "populate-physmap-start", 2, 2, "ulong_t *" },
999	{ "xpv", "set-memory-map-end", 0, 0, "int" },
1000	{ "xpv", "set-memory-map-start", 0, 0, "domid_t" },
1001	{ "xpv", "set-memory-map-start", 1, 1, "int" },
1002	{ "xpv", "set-memory-map-start", 2, 2, "struct xen_memory_map *" },
1003	{ "xpv", "setvcpucontext-end", 0, 0, "int" },
1004	{ "xpv", "setvcpucontext-start", 0, 0, "domid_t" },
1005	{ "xpv", "setvcpucontext-start", 1, 1, "vcpu_guest_context_t *" },
1006
1007	{ "srp", "service-up", 0, 0, "srpt_session_t *", "conninfo_t *" },
1008	{ "srp", "service-up", 1, 0, "srpt_session_t *", "srp_portinfo_t *" },
1009	{ "srp", "service-down", 0, 0, "srpt_session_t *", "conninfo_t *" },
1010	{ "srp", "service-down", 1, 0, "srpt_session_t *",
1011	    "srp_portinfo_t *" },
1012	{ "srp", "login-command", 0, 0, "srpt_session_t *", "conninfo_t *" },
1013	{ "srp", "login-command", 1, 0, "srpt_session_t *",
1014	    "srp_portinfo_t *" },
1015	{ "srp", "login-command", 2, 1, "srp_login_req_t *",
1016	    "srp_logininfo_t *" },
1017	{ "srp", "login-response", 0, 0, "srpt_session_t *", "conninfo_t *" },
1018	{ "srp", "login-response", 1, 0, "srpt_session_t *",
1019	    "srp_portinfo_t *" },
1020	{ "srp", "login-response", 2, 1, "srp_login_rsp_t *",
1021	    "srp_logininfo_t *" },
1022	{ "srp", "login-response", 3, 2, "srp_login_rej_t *" },
1023	{ "srp", "logout-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1024	{ "srp", "logout-command", 1, 0, "srpt_channel_t *",
1025	    "srp_portinfo_t *" },
1026	{ "srp", "task-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1027	{ "srp", "task-command", 1, 0, "srpt_channel_t *",
1028	    "srp_portinfo_t *" },
1029	{ "srp", "task-command", 2, 1, "srp_cmd_req_t *", "srp_taskinfo_t *" },
1030	{ "srp", "task-response", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1031	{ "srp", "task-response", 1, 0, "srpt_channel_t *",
1032	    "srp_portinfo_t *" },
1033	{ "srp", "task-response", 2, 1, "srp_rsp_t *", "srp_taskinfo_t *" },
1034	{ "srp", "task-response", 3, 2, "scsi_task_t *" },
1035	{ "srp", "task-response", 4, 3, "int8_t" },
1036	{ "srp", "scsi-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1037	{ "srp", "scsi-command", 1, 0, "srpt_channel_t *",
1038	    "srp_portinfo_t *" },
1039	{ "srp", "scsi-command", 2, 1, "scsi_task_t *", "scsicmd_t *" },
1040	{ "srp", "scsi-command", 3, 2, "srp_cmd_req_t *", "srp_taskinfo_t *" },
1041	{ "srp", "scsi-response", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1042	{ "srp", "scsi-response", 1, 0, "srpt_channel_t *",
1043	    "srp_portinfo_t *" },
1044	{ "srp", "scsi-response", 2, 1, "srp_rsp_t *", "srp_taskinfo_t *" },
1045	{ "srp", "scsi-response", 3, 2, "scsi_task_t *" },
1046	{ "srp", "scsi-response", 4, 3, "int8_t" },
1047	{ "srp", "xfer-start", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1048	{ "srp", "xfer-start", 1, 0, "srpt_channel_t *",
1049	    "srp_portinfo_t *" },
1050	{ "srp", "xfer-start", 2, 1, "ibt_wr_ds_t *", "xferinfo_t *" },
1051	{ "srp", "xfer-start", 3, 2, "srpt_iu_t *", "srp_taskinfo_t *" },
1052	{ "srp", "xfer-start", 4, 3, "ibt_send_wr_t *"},
1053	{ "srp", "xfer-start", 5, 4, "uint32_t" },
1054	{ "srp", "xfer-start", 6, 5, "uint32_t" },
1055	{ "srp", "xfer-start", 7, 6, "uint32_t" },
1056	{ "srp", "xfer-start", 8, 7, "uint32_t" },
1057	{ "srp", "xfer-done", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1058	{ "srp", "xfer-done", 1, 0, "srpt_channel_t *",
1059	    "srp_portinfo_t *" },
1060	{ "srp", "xfer-done", 2, 1, "ibt_wr_ds_t *", "xferinfo_t *" },
1061	{ "srp", "xfer-done", 3, 2, "srpt_iu_t *", "srp_taskinfo_t *" },
1062	{ "srp", "xfer-done", 4, 3, "ibt_send_wr_t *"},
1063	{ "srp", "xfer-done", 5, 4, "uint32_t" },
1064	{ "srp", "xfer-done", 6, 5, "uint32_t" },
1065	{ "srp", "xfer-done", 7, 6, "uint32_t" },
1066	{ "srp", "xfer-done", 8, 7, "uint32_t" },
1067
1068	{ "fc", "link-up",   0, 0, "fct_i_local_port_t *", "conninfo_t *" },
1069	{ "fc", "link-down", 0, 0, "fct_i_local_port_t *", "conninfo_t *" },
1070	{ "fc", "fabric-login-start", 0, 0, "fct_i_local_port_t *",
1071	    "conninfo_t *" },
1072	{ "fc", "fabric-login-start", 1, 0, "fct_i_local_port_t *",
1073	    "fc_port_info_t *" },
1074	{ "fc", "fabric-login-end", 0, 0, "fct_i_local_port_t *",
1075	    "conninfo_t *" },
1076	{ "fc", "fabric-login-end", 1, 0, "fct_i_local_port_t *",
1077	    "fc_port_info_t *" },
1078	{ "fc", "rport-login-start", 0, 0, "fct_cmd_t *",
1079	    "conninfo_t *" },
1080	{ "fc", "rport-login-start", 1, 1, "fct_local_port_t *",
1081	    "fc_port_info_t *" },
1082	{ "fc", "rport-login-start", 2, 2, "fct_i_remote_port_t *",
1083	    "fc_port_info_t *" },
1084	{ "fc", "rport-login-start", 3, 3, "int", "int" },
1085	{ "fc", "rport-login-end", 0, 0, "fct_cmd_t *",
1086	    "conninfo_t *" },
1087	{ "fc", "rport-login-end", 1, 1, "fct_local_port_t *",
1088	    "fc_port_info_t *" },
1089	{ "fc", "rport-login-end", 2, 2, "fct_i_remote_port_t *",
1090	    "fc_port_info_t *" },
1091	{ "fc", "rport-login-end", 3, 3, "int", "int" },
1092	{ "fc", "rport-login-end", 4, 4, "int", "int" },
1093	{ "fc", "rport-logout-start", 0, 0, "fct_cmd_t *",
1094	    "conninfo_t *" },
1095	{ "fc", "rport-logout-start", 1, 1, "fct_local_port_t *",
1096	    "fc_port_info_t *" },
1097	{ "fc", "rport-logout-start", 2, 2, "fct_i_remote_port_t *",
1098	    "fc_port_info_t *" },
1099	{ "fc", "rport-logout-start", 3, 3, "int", "int" },
1100	{ "fc", "rport-logout-end", 0, 0, "fct_cmd_t *",
1101	    "conninfo_t *" },
1102	{ "fc", "rport-logout-end", 1, 1, "fct_local_port_t *",
1103	    "fc_port_info_t *" },
1104	{ "fc", "rport-logout-end", 2, 2, "fct_i_remote_port_t *",
1105	    "fc_port_info_t *" },
1106	{ "fc", "rport-logout-end", 3, 3, "int", "int" },
1107	{ "fc", "scsi-command", 0, 0, "fct_cmd_t *",
1108	    "conninfo_t *" },
1109	{ "fc", "scsi-command", 1, 1, "fct_i_local_port_t *",
1110	    "fc_port_info_t *" },
1111	{ "fc", "scsi-command", 2, 2, "scsi_task_t *",
1112	    "scsicmd_t *" },
1113	{ "fc", "scsi-command", 3, 3, "fct_i_remote_port_t *",
1114	    "fc_port_info_t *" },
1115	{ "fc", "scsi-response", 0, 0, "fct_cmd_t *",
1116	    "conninfo_t *" },
1117	{ "fc", "scsi-response", 1, 1, "fct_i_local_port_t *",
1118	    "fc_port_info_t *" },
1119	{ "fc", "scsi-response", 2, 2, "scsi_task_t *",
1120	    "scsicmd_t *" },
1121	{ "fc", "scsi-response", 3, 3, "fct_i_remote_port_t *",
1122	    "fc_port_info_t *" },
1123	{ "fc", "xfer-start", 0, 0, "fct_cmd_t *",
1124	    "conninfo_t *" },
1125	{ "fc", "xfer-start", 1, 1, "fct_i_local_port_t *",
1126	    "fc_port_info_t *" },
1127	{ "fc", "xfer-start", 2, 2, "scsi_task_t *",
1128	    "scsicmd_t *" },
1129	{ "fc", "xfer-start", 3, 3, "fct_i_remote_port_t *",
1130	    "fc_port_info_t *" },
1131	{ "fc", "xfer-start", 4, 4, "stmf_data_buf_t *",
1132	    "fc_xferinfo_t *" },
1133	{ "fc", "xfer-done", 0, 0, "fct_cmd_t *",
1134	    "conninfo_t *" },
1135	{ "fc", "xfer-done", 1, 1, "fct_i_local_port_t *",
1136	    "fc_port_info_t *" },
1137	{ "fc", "xfer-done", 2, 2, "scsi_task_t *",
1138	    "scsicmd_t *" },
1139	{ "fc", "xfer-done", 3, 3, "fct_i_remote_port_t *",
1140	    "fc_port_info_t *" },
1141	{ "fc", "xfer-done", 4, 4, "stmf_data_buf_t *",
1142	    "fc_xferinfo_t *" },
1143	{ "fc", "rscn-receive", 0, 0, "fct_i_local_port_t *",
1144	    "conninfo_t *" },
1145	{ "fc", "rscn-receive", 1, 1, "int", "int"},
1146	{ "fc", "abts-receive", 0, 0, "fct_cmd_t *",
1147	    "conninfo_t *" },
1148	{ "fc", "abts-receive", 1, 1, "fct_i_local_port_t *",
1149	    "fc_port_info_t *" },
1150	{ "fc", "abts-receive", 2, 2, "fct_i_remote_port_t *",
1151	    "fc_port_info_t *" },
1152
1153
1154	{ NULL }
1155};
1156
1157/*ARGSUSED*/
1158void
1159sdt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc)
1160{
1161	sdt_probe_t *sdp = parg;
1162	int i;
1163
1164	desc->dtargd_native[0] = '\0';
1165	desc->dtargd_xlate[0] = '\0';
1166
1167	for (i = 0; sdt_args[i].sda_provider != NULL; i++) {
1168		sdt_argdesc_t *a = &sdt_args[i];
1169
1170		if (strcmp(sdp->sdp_provider->sdtp_name, a->sda_provider) != 0)
1171			continue;
1172
1173		if (a->sda_name != NULL &&
1174		    strcmp(sdp->sdp_name, a->sda_name) != 0)
1175			continue;
1176
1177		if (desc->dtargd_ndx != a->sda_ndx)
1178			continue;
1179
1180		if (a->sda_native != NULL)
1181			(void) strcpy(desc->dtargd_native, a->sda_native);
1182
1183		if (a->sda_xlate != NULL)
1184			(void) strcpy(desc->dtargd_xlate, a->sda_xlate);
1185
1186		desc->dtargd_mapping = a->sda_mapping;
1187		return;
1188	}
1189
1190	desc->dtargd_ndx = DTRACE_ARGNONE;
1191}
1192