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  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  24  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  25  */
  26 
  27 #include <sys/sdt_impl.h>
  28 
  29 static dtrace_pattr_t vtrace_attr = {
  30 { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
  31 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  32 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  33 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  34 { DTRACE_STABILITY_UNSTABLE, DTRACE_STABILITY_UNSTABLE, DTRACE_CLASS_ISA },
  35 };
  36 
  37 static dtrace_pattr_t info_attr = {
  38 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  39 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  40 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  41 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  42 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  43 };
  44 
  45 static dtrace_pattr_t fc_attr = {
  46 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  47 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  48 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  49 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  50 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  51 };
  52 
  53 static dtrace_pattr_t fpu_attr = {
  54 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  55 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  56 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  57 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_CPU },
  58 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  59 };
  60 
  61 static dtrace_pattr_t fsinfo_attr = {
  62 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  63 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  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 };
  68 
  69 static dtrace_pattr_t stab_attr = {
  70 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  71 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  72 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  73 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  74 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  75 };
  76 
  77 static dtrace_pattr_t sdt_attr = {
  78 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  79 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  80 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  81 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  82 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  83 };
  84 
  85 static dtrace_pattr_t xpv_attr = {
  86 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_PLATFORM },
  87 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  88 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  89 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
  90 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_PLATFORM },
  91 };
  92 
  93 static dtrace_pattr_t iscsi_attr = {
  94 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  95 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  96 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN },
  97 { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_ISA },
  98 { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_ISA },
  99 };
 100 
 101 sdt_provider_t sdt_providers[] = {
 102         { "vtrace", "__vtrace_", &vtrace_attr },
 103         { "sysinfo", "__cpu_sysinfo_", &info_attr, DTRACE_PRIV_USER },
 104         { "vminfo", "__cpu_vminfo_", &info_attr, DTRACE_PRIV_USER },
 105         { "fpuinfo", "__fpuinfo_", &fpu_attr },
 106         { "sched", "__sched_", &stab_attr, DTRACE_PRIV_USER },
 107         { "proc", "__proc_", &stab_attr, DTRACE_PRIV_USER },
 108         { "io", "__io_", &stab_attr },
 109         { "ip", "__ip_", &stab_attr },
 110         { "tcp", "__tcp_", &stab_attr },
 111         { "udp", "__udp_", &stab_attr },
 112         { "mib", "__mib_", &stab_attr },
 113         { "fsinfo", "__fsinfo_", &fsinfo_attr },
 114         { "iscsi", "__iscsi_", &iscsi_attr },
 115         { "nfsv3", "__nfsv3_", &stab_attr },
 116         { "nfsv4", "__nfsv4_", &stab_attr },
 117         { "smb", "__smb_", &stab_attr },
 118         { "xpv", "__xpv_", &xpv_attr },
 119         { "fc", "__fc_", &fc_attr },
 120         { "srp", "__srp_", &fc_attr },
 121         { "sysevent", "__sysevent_", &stab_attr },
 122         { "sdt", NULL, &sdt_attr },
 123         { NULL }
 124 };
 125 
 126 sdt_argdesc_t sdt_args[] = {
 127         { "sched", "wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 128         { "sched", "wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
 129         { "sched", "dequeue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 130         { "sched", "dequeue", 1, 0, "kthread_t *", "psinfo_t *" },
 131         { "sched", "dequeue", 2, 1, "disp_t *", "cpuinfo_t *" },
 132         { "sched", "enqueue", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 133         { "sched", "enqueue", 1, 0, "kthread_t *", "psinfo_t *" },
 134         { "sched", "enqueue", 2, 1, "disp_t *", "cpuinfo_t *" },
 135         { "sched", "enqueue", 3, 2, "int" },
 136         { "sched", "off-cpu", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 137         { "sched", "off-cpu", 1, 0, "kthread_t *", "psinfo_t *" },
 138         { "sched", "tick", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 139         { "sched", "tick", 1, 0, "kthread_t *", "psinfo_t *" },
 140         { "sched", "change-pri", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 141         { "sched", "change-pri", 1, 0, "kthread_t *", "psinfo_t *" },
 142         { "sched", "change-pri", 2, 1, "pri_t" },
 143         { "sched", "schedctl-nopreempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 144         { "sched", "schedctl-nopreempt", 1, 0, "kthread_t *", "psinfo_t *" },
 145         { "sched", "schedctl-nopreempt", 2, 1, "int" },
 146         { "sched", "schedctl-preempt", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 147         { "sched", "schedctl-preempt", 1, 0, "kthread_t *", "psinfo_t *" },
 148         { "sched", "schedctl-yield", 0, 0, "int" },
 149         { "sched", "surrender", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 150         { "sched", "surrender", 1, 0, "kthread_t *", "psinfo_t *" },
 151         { "sched", "cpucaps-sleep", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 152         { "sched", "cpucaps-sleep", 1, 0, "kthread_t *", "psinfo_t *" },
 153         { "sched", "cpucaps-wakeup", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 154         { "sched", "cpucaps-wakeup", 1, 0, "kthread_t *", "psinfo_t *" },
 155 
 156         { "proc", "create", 0, 0, "proc_t *", "psinfo_t *" },
 157         { "proc", "exec", 0, 0, "string" },
 158         { "proc", "exec-failure", 0, 0, "int" },
 159         { "proc", "exit", 0, 0, "int" },
 160         { "proc", "fault", 0, 0, "int" },
 161         { "proc", "fault", 1, 1, "siginfo_t *" },
 162         { "proc", "lwp-create", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 163         { "proc", "lwp-create", 1, 0, "kthread_t *", "psinfo_t *" },
 164         { "proc", "signal-clear", 0, 0, "int" },
 165         { "proc", "signal-clear", 1, 1, "siginfo_t *" },
 166         { "proc", "signal-discard", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 167         { "proc", "signal-discard", 1, 1, "proc_t *", "psinfo_t *" },
 168         { "proc", "signal-discard", 2, 2, "int" },
 169         { "proc", "signal-handle", 0, 0, "int" },
 170         { "proc", "signal-handle", 1, 1, "siginfo_t *" },
 171         { "proc", "signal-handle", 2, 2, "void (*)(void)" },
 172         { "proc", "signal-send", 0, 0, "kthread_t *", "lwpsinfo_t *" },
 173         { "proc", "signal-send", 1, 0, "kthread_t *", "psinfo_t *" },
 174         { "proc", "signal-send", 2, 1, "int" },
 175 
 176         { "io", "start", 0, 0, "buf_t *", "bufinfo_t *" },
 177         { "io", "start", 1, 0, "buf_t *", "devinfo_t *" },
 178         { "io", "start", 2, 0, "buf_t *", "fileinfo_t *" },
 179         { "io", "done", 0, 0, "buf_t *", "bufinfo_t *" },
 180         { "io", "done", 1, 0, "buf_t *", "devinfo_t *" },
 181         { "io", "done", 2, 0, "buf_t *", "fileinfo_t *" },
 182         { "io", "wait-start", 0, 0, "buf_t *", "bufinfo_t *" },
 183         { "io", "wait-start", 1, 0, "buf_t *", "devinfo_t *" },
 184         { "io", "wait-start", 2, 0, "buf_t *", "fileinfo_t *" },
 185         { "io", "wait-done", 0, 0, "buf_t *", "bufinfo_t *" },
 186         { "io", "wait-done", 1, 0, "buf_t *", "devinfo_t *" },
 187         { "io", "wait-done", 2, 0, "buf_t *", "fileinfo_t *" },
 188 
 189         { "mib", NULL, 0, 0, "int" },
 190 
 191         { "fsinfo", NULL, 0, 0, "vnode_t *", "fileinfo_t *" },
 192         { "fsinfo", NULL, 1, 1, "int", "int" },
 193 
 194         { "iscsi", "async-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
 195         { "iscsi", "async-send", 1, 1, "iscsi_async_evt_hdr_t *",
 196             "iscsiinfo_t *" },
 197         { "iscsi", "login-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
 198         { "iscsi", "login-command", 1, 1, "iscsi_login_hdr_t *",
 199             "iscsiinfo_t *" },
 200         { "iscsi", "login-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
 201         { "iscsi", "login-response", 1, 1, "iscsi_login_rsp_hdr_t *",
 202             "iscsiinfo_t *" },
 203         { "iscsi", "logout-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
 204         { "iscsi", "logout-command", 1, 1, "iscsi_logout_hdr_t *",
 205             "iscsiinfo_t *" },
 206         { "iscsi", "logout-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
 207         { "iscsi", "logout-response", 1, 1, "iscsi_logout_rsp_hdr_t *",
 208             "iscsiinfo_t *" },
 209         { "iscsi", "data-request", 0, 0, "idm_conn_t *", "conninfo_t *" },
 210         { "iscsi", "data-request", 1, 1, "iscsi_rtt_hdr_t *",
 211             "iscsiinfo_t *" },
 212         { "iscsi", "data-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
 213         { "iscsi", "data-send", 1, 1, "iscsi_data_rsp_hdr_t *",
 214             "iscsiinfo_t *" },
 215         { "iscsi", "data-receive", 0, 0, "idm_conn_t *", "conninfo_t *" },
 216         { "iscsi", "data-receive", 1, 1, "iscsi_data_hdr_t *",
 217             "iscsiinfo_t *" },
 218         { "iscsi", "nop-send", 0, 0, "idm_conn_t *", "conninfo_t *" },
 219         { "iscsi", "nop-send", 1, 1, "iscsi_nop_in_hdr_t *", "iscsiinfo_t *" },
 220         { "iscsi", "nop-receive", 0, 0, "idm_conn_t *", "conninfo_t *" },
 221         { "iscsi", "nop-receive", 1, 1, "iscsi_nop_out_hdr_t *",
 222             "iscsiinfo_t *" },
 223         { "iscsi", "scsi-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
 224         { "iscsi", "scsi-command", 1, 1, "iscsi_scsi_cmd_hdr_t *",
 225             "iscsiinfo_t *" },
 226         { "iscsi", "scsi-command", 2, 2, "scsi_task_t *", "scsicmd_t *" },
 227         { "iscsi", "scsi-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
 228         { "iscsi", "scsi-response", 1, 1, "iscsi_scsi_rsp_hdr_t *",
 229             "iscsiinfo_t *" },
 230         { "iscsi", "task-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
 231         { "iscsi", "task-command", 1, 1, "iscsi_scsi_task_mgt_hdr_t *",
 232             "iscsiinfo_t *" },
 233         { "iscsi", "task-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
 234         { "iscsi", "task-response", 1, 1, "iscsi_scsi_task_mgt_rsp_hdr_t *",
 235             "iscsiinfo_t *" },
 236         { "iscsi", "text-command", 0, 0, "idm_conn_t *", "conninfo_t *" },
 237         { "iscsi", "text-command", 1, 1, "iscsi_text_hdr_t *",
 238             "iscsiinfo_t *" },
 239         { "iscsi", "text-response", 0, 0, "idm_conn_t *", "conninfo_t *" },
 240         { "iscsi", "text-response", 1, 1, "iscsi_text_rsp_hdr_t *",
 241             "iscsiinfo_t *" },
 242         { "iscsi", "xfer-start", 0, 0, "idm_conn_t *", "conninfo_t *" },
 243         { "iscsi", "xfer-start", 1, 0, "idm_conn_t *", "iscsiinfo_t *" },
 244         { "iscsi", "xfer-start", 2, 1, "uintptr_t", "xferinfo_t *" },
 245         { "iscsi", "xfer-start", 3, 2, "uint32_t"},
 246         { "iscsi", "xfer-start", 4, 3, "uintptr_t"},
 247         { "iscsi", "xfer-start", 5, 4, "uint32_t"},
 248         { "iscsi", "xfer-start", 6, 5, "uint32_t"},
 249         { "iscsi", "xfer-start", 7, 6, "uint32_t"},
 250         { "iscsi", "xfer-start", 8, 7, "int"},
 251         { "iscsi", "xfer-done", 0, 0, "idm_conn_t *", "conninfo_t *" },
 252         { "iscsi", "xfer-done", 1, 0, "idm_conn_t *", "iscsiinfo_t *" },
 253         { "iscsi", "xfer-done", 2, 1, "uintptr_t", "xferinfo_t *" },
 254         { "iscsi", "xfer-done", 3, 2, "uint32_t"},
 255         { "iscsi", "xfer-done", 4, 3, "uintptr_t"},
 256         { "iscsi", "xfer-done", 5, 4, "uint32_t"},
 257         { "iscsi", "xfer-done", 6, 5, "uint32_t"},
 258         { "iscsi", "xfer-done", 7, 6, "uint32_t"},
 259         { "iscsi", "xfer-done", 8, 7, "int"},
 260 
 261         { "nfsv3", "op-getattr-start", 0, 0, "struct svc_req *",
 262             "conninfo_t *" },
 263         { "nfsv3", "op-getattr-start", 1, 1, "nfsv3oparg_t *",
 264             "nfsv3opinfo_t *" },
 265         { "nfsv3", "op-getattr-start", 2, 3, "GETATTR3args *" },
 266         { "nfsv3", "op-getattr-done", 0, 0, "struct svc_req *",
 267             "conninfo_t *" },
 268         { "nfsv3", "op-getattr-done", 1, 1, "nfsv3oparg_t *",
 269             "nfsv3opinfo_t *" },
 270         { "nfsv3", "op-getattr-done", 2, 3, "GETATTR3res *" },
 271         { "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
 272             "conninfo_t *" },
 273         { "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
 274             "nfsv3opinfo_t *" },
 275         { "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
 276         { "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
 277             "conninfo_t *" },
 278         { "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
 279             "nfsv3opinfo_t *" },
 280         { "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
 281         { "nfsv3", "op-lookup-start", 0, 0, "struct svc_req *",
 282             "conninfo_t *" },
 283         { "nfsv3", "op-lookup-start", 1, 1, "nfsv3oparg_t *",
 284             "nfsv3opinfo_t *" },
 285         { "nfsv3", "op-lookup-start", 2, 3, "LOOKUP3args *" },
 286         { "nfsv3", "op-lookup-done", 0, 0, "struct svc_req *",
 287             "conninfo_t *" },
 288         { "nfsv3", "op-lookup-done", 1, 1, "nfsv3oparg_t *",
 289             "nfsv3opinfo_t *" },
 290         { "nfsv3", "op-lookup-done", 2, 3, "LOOKUP3res *" },
 291         { "nfsv3", "op-access-start", 0, 0, "struct svc_req *",
 292             "conninfo_t *" },
 293         { "nfsv3", "op-access-start", 1, 1, "nfsv3oparg_t *",
 294             "nfsv3opinfo_t *" },
 295         { "nfsv3", "op-access-start", 2, 3, "ACCESS3args *" },
 296         { "nfsv3", "op-access-done", 0, 0, "struct svc_req *",
 297             "conninfo_t *" },
 298         { "nfsv3", "op-access-done", 1, 1, "nfsv3oparg_t *",
 299             "nfsv3opinfo_t *" },
 300         { "nfsv3", "op-access-done", 2, 3, "ACCESS3res *" },
 301         { "nfsv3", "op-commit-start", 0, 0, "struct svc_req *",
 302             "conninfo_t *" },
 303         { "nfsv3", "op-commit-start", 1, 1, "nfsv3oparg_t *",
 304             "nfsv3opinfo_t *" },
 305         { "nfsv3", "op-commit-start", 2, 3, "COMMIT3args *" },
 306         { "nfsv3", "op-commit-done", 0, 0, "struct svc_req *",
 307             "conninfo_t *" },
 308         { "nfsv3", "op-commit-done", 1, 1, "nfsv3oparg_t *",
 309             "nfsv3opinfo_t *" },
 310         { "nfsv3", "op-commit-done", 2, 3, "COMMIT3res *" },
 311         { "nfsv3", "op-create-start", 0, 0, "struct svc_req *",
 312             "conninfo_t *" },
 313         { "nfsv3", "op-create-start", 1, 1, "nfsv3oparg_t *",
 314             "nfsv3opinfo_t *" },
 315         { "nfsv3", "op-create-start", 2, 3, "CREATE3args *" },
 316         { "nfsv3", "op-create-done", 0, 0, "struct svc_req *",
 317             "conninfo_t *" },
 318         { "nfsv3", "op-create-done", 1, 1, "nfsv3oparg_t *",
 319             "nfsv3opinfo_t *" },
 320         { "nfsv3", "op-create-done", 2, 3, "CREATE3res *" },
 321         { "nfsv3", "op-fsinfo-start", 0, 0, "struct svc_req *",
 322             "conninfo_t *" },
 323         { "nfsv3", "op-fsinfo-start", 1, 1, "nfsv3oparg_t *",
 324             "nfsv3opinfo_t *" },
 325         { "nfsv3", "op-fsinfo-start", 2, 3, "FSINFO3args *" },
 326         { "nfsv3", "op-fsinfo-done", 0, 0, "struct svc_req *",
 327             "conninfo_t *" },
 328         { "nfsv3", "op-fsinfo-done", 1, 1, "nfsv3oparg_t *",
 329             "nfsv3opinfo_t *" },
 330         { "nfsv3", "op-fsinfo-done", 2, 3, "FSINFO3res *" },
 331         { "nfsv3", "op-fsstat-start", 0, 0, "struct svc_req *",
 332             "conninfo_t *" },
 333         { "nfsv3", "op-fsstat-start", 1, 1, "nfsv3oparg_t *",
 334             "nfsv3opinfo_t *" },
 335         { "nfsv3", "op-fsstat-start", 2, 3, "FSSTAT3args *" },
 336         { "nfsv3", "op-fsstat-done", 0, 0, "struct svc_req *",
 337             "conninfo_t *" },
 338         { "nfsv3", "op-fsstat-done", 1, 1, "nfsv3oparg_t *",
 339             "nfsv3opinfo_t *" },
 340         { "nfsv3", "op-fsstat-done", 2, 3, "FSSTAT3res *" },
 341         { "nfsv3", "op-link-start", 0, 0, "struct svc_req *",
 342             "conninfo_t *" },
 343         { "nfsv3", "op-link-start", 1, 1, "nfsv3oparg_t *",
 344             "nfsv3opinfo_t *" },
 345         { "nfsv3", "op-link-start", 2, 3, "LINK3args *" },
 346         { "nfsv3", "op-link-done", 0, 0, "struct svc_req *",
 347             "conninfo_t *" },
 348         { "nfsv3", "op-link-done", 1, 1, "nfsv3oparg_t *",
 349             "nfsv3opinfo_t *" },
 350         { "nfsv3", "op-link-done", 2, 3, "LINK3res *" },
 351         { "nfsv3", "op-mkdir-start", 0, 0, "struct svc_req *",
 352             "conninfo_t *" },
 353         { "nfsv3", "op-mkdir-start", 1, 1, "nfsv3oparg_t *",
 354             "nfsv3opinfo_t *" },
 355         { "nfsv3", "op-mkdir-start", 2, 3, "MKDIR3args *" },
 356         { "nfsv3", "op-mkdir-done", 0, 0, "struct svc_req *",
 357             "conninfo_t *" },
 358         { "nfsv3", "op-mkdir-done", 1, 1, "nfsv3oparg_t *",
 359             "nfsv3opinfo_t *" },
 360         { "nfsv3", "op-mkdir-done", 2, 3, "MKDIR3res *" },
 361         { "nfsv3", "op-mknod-start", 0, 0, "struct svc_req *",
 362             "conninfo_t *" },
 363         { "nfsv3", "op-mknod-start", 1, 1, "nfsv3oparg_t *",
 364             "nfsv3opinfo_t *" },
 365         { "nfsv3", "op-mknod-start", 2, 3, "MKNOD3args *" },
 366         { "nfsv3", "op-mknod-done", 0, 0, "struct svc_req *",
 367             "conninfo_t *" },
 368         { "nfsv3", "op-mknod-done", 1, 1, "nfsv3oparg_t *",
 369             "nfsv3opinfo_t *" },
 370         { "nfsv3", "op-mknod-done", 2, 3, "MKNOD3res *" },
 371         { "nfsv3", "op-null-start", 0, 0, "struct svc_req *",
 372             "conninfo_t *" },
 373         { "nfsv3", "op-null-start", 1, 1, "nfsv3oparg_t *",
 374             "nfsv3opinfo_t *" },
 375         { "nfsv3", "op-null-done", 0, 0, "struct svc_req *",
 376             "conninfo_t *" },
 377         { "nfsv3", "op-null-done", 1, 1, "nfsv3oparg_t *",
 378             "nfsv3opinfo_t *" },
 379         { "nfsv3", "op-pathconf-start", 0, 0, "struct svc_req *",
 380             "conninfo_t *" },
 381         { "nfsv3", "op-pathconf-start", 1, 1, "nfsv3oparg_t *",
 382             "nfsv3opinfo_t *" },
 383         { "nfsv3", "op-pathconf-start", 2, 3, "PATHCONF3args *" },
 384         { "nfsv3", "op-pathconf-done", 0, 0, "struct svc_req *",
 385             "conninfo_t *" },
 386         { "nfsv3", "op-pathconf-done", 1, 1, "nfsv3oparg_t *",
 387             "nfsv3opinfo_t *" },
 388         { "nfsv3", "op-pathconf-done", 2, 3, "PATHCONF3res *" },
 389         { "nfsv3", "op-read-start", 0, 0, "struct svc_req *",
 390             "conninfo_t *" },
 391         { "nfsv3", "op-read-start", 1, 1, "nfsv3oparg_t *",
 392             "nfsv3opinfo_t *" },
 393         { "nfsv3", "op-read-start", 2, 3, "READ3args *" },
 394         { "nfsv3", "op-read-done", 0, 0, "struct svc_req *",
 395             "conninfo_t *" },
 396         { "nfsv3", "op-read-done", 1, 1, "nfsv3oparg_t *",
 397             "nfsv3opinfo_t *" },
 398         { "nfsv3", "op-read-done", 2, 3, "READ3res *" },
 399         { "nfsv3", "op-readdir-start", 0, 0, "struct svc_req *",
 400             "conninfo_t *" },
 401         { "nfsv3", "op-readdir-start", 1, 1, "nfsv3oparg_t *",
 402             "nfsv3opinfo_t *" },
 403         { "nfsv3", "op-readdir-start", 2, 3, "READDIR3args *" },
 404         { "nfsv3", "op-readdir-done", 0, 0, "struct svc_req *",
 405             "conninfo_t *" },
 406         { "nfsv3", "op-readdir-done", 1, 1, "nfsv3oparg_t *",
 407             "nfsv3opinfo_t *" },
 408         { "nfsv3", "op-readdir-done", 2, 3, "READDIR3res *" },
 409         { "nfsv3", "op-readdirplus-start", 0, 0, "struct svc_req *",
 410             "conninfo_t *" },
 411         { "nfsv3", "op-readdirplus-start", 1, 1, "nfsv3oparg_t *",
 412             "nfsv3opinfo_t *" },
 413         { "nfsv3", "op-readdirplus-start", 2, 3, "READDIRPLUS3args *" },
 414         { "nfsv3", "op-readdirplus-done", 0, 0, "struct svc_req *",
 415             "conninfo_t *" },
 416         { "nfsv3", "op-readdirplus-done", 1, 1, "nfsv3oparg_t *",
 417             "nfsv3opinfo_t *" },
 418         { "nfsv3", "op-readdirplus-done", 2, 3, "READDIRPLUS3res *" },
 419         { "nfsv3", "op-readlink-start", 0, 0, "struct svc_req *",
 420             "conninfo_t *" },
 421         { "nfsv3", "op-readlink-start", 1, 1, "nfsv3oparg_t *",
 422             "nfsv3opinfo_t *" },
 423         { "nfsv3", "op-readlink-start", 2, 3, "READLINK3args *" },
 424         { "nfsv3", "op-readlink-done", 0, 0, "struct svc_req *",
 425             "conninfo_t *" },
 426         { "nfsv3", "op-readlink-done", 1, 1, "nfsv3oparg_t *",
 427             "nfsv3opinfo_t *" },
 428         { "nfsv3", "op-readlink-done", 2, 3, "READLINK3res *" },
 429         { "nfsv3", "op-remove-start", 0, 0, "struct svc_req *",
 430             "conninfo_t *" },
 431         { "nfsv3", "op-remove-start", 1, 1, "nfsv3oparg_t *",
 432             "nfsv3opinfo_t *" },
 433         { "nfsv3", "op-remove-start", 2, 3, "REMOVE3args *" },
 434         { "nfsv3", "op-remove-done", 0, 0, "struct svc_req *",
 435             "conninfo_t *" },
 436         { "nfsv3", "op-remove-done", 1, 1, "nfsv3oparg_t *",
 437             "nfsv3opinfo_t *" },
 438         { "nfsv3", "op-remove-done", 2, 3, "REMOVE3res *" },
 439         { "nfsv3", "op-rename-start", 0, 0, "struct svc_req *",
 440             "conninfo_t *" },
 441         { "nfsv3", "op-rename-start", 1, 1, "nfsv3oparg_t *",
 442             "nfsv3opinfo_t *" },
 443         { "nfsv3", "op-rename-start", 2, 3, "RENAME3args *" },
 444         { "nfsv3", "op-rename-done", 0, 0, "struct svc_req *",
 445             "conninfo_t *" },
 446         { "nfsv3", "op-rename-done", 1, 1, "nfsv3oparg_t *",
 447             "nfsv3opinfo_t *" },
 448         { "nfsv3", "op-rename-done", 2, 3, "RENAME3res *" },
 449         { "nfsv3", "op-rmdir-start", 0, 0, "struct svc_req *",
 450             "conninfo_t *" },
 451         { "nfsv3", "op-rmdir-start", 1, 1, "nfsv3oparg_t *",
 452             "nfsv3opinfo_t *" },
 453         { "nfsv3", "op-rmdir-start", 2, 3, "RMDIR3args *" },
 454         { "nfsv3", "op-rmdir-done", 0, 0, "struct svc_req *",
 455             "conninfo_t *" },
 456         { "nfsv3", "op-rmdir-done", 1, 1, "nfsv3oparg_t *",
 457             "nfsv3opinfo_t *" },
 458         { "nfsv3", "op-rmdir-done", 2, 3, "RMDIR3res *" },
 459         { "nfsv3", "op-setattr-start", 0, 0, "struct svc_req *",
 460             "conninfo_t *" },
 461         { "nfsv3", "op-setattr-start", 1, 1, "nfsv3oparg_t *",
 462             "nfsv3opinfo_t *" },
 463         { "nfsv3", "op-setattr-start", 2, 3, "SETATTR3args *" },
 464         { "nfsv3", "op-setattr-done", 0, 0, "struct svc_req *",
 465             "conninfo_t *" },
 466         { "nfsv3", "op-setattr-done", 1, 1, "nfsv3oparg_t *",
 467             "nfsv3opinfo_t *" },
 468         { "nfsv3", "op-setattr-done", 2, 3, "SETATTR3res *" },
 469         { "nfsv3", "op-symlink-start", 0, 0, "struct svc_req *",
 470             "conninfo_t *" },
 471         { "nfsv3", "op-symlink-start", 1, 1, "nfsv3oparg_t *",
 472             "nfsv3opinfo_t *" },
 473         { "nfsv3", "op-symlink-start", 2, 3, "SYMLINK3args *" },
 474         { "nfsv3", "op-symlink-done", 0, 0, "struct svc_req *",
 475             "conninfo_t *" },
 476         { "nfsv3", "op-symlink-done", 1, 1, "nfsv3oparg_t *",
 477             "nfsv3opinfo_t *" },
 478         { "nfsv3", "op-symlink-done", 2, 3, "SYMLINK3res *" },
 479         { "nfsv3", "op-write-start", 0, 0, "struct svc_req *",
 480             "conninfo_t *" },
 481         { "nfsv3", "op-write-start", 1, 1, "nfsv3oparg_t *",
 482             "nfsv3opinfo_t *" },
 483         { "nfsv3", "op-write-start", 2, 3, "WRITE3args *" },
 484         { "nfsv3", "op-write-done", 0, 0, "struct svc_req *",
 485             "conninfo_t *" },
 486         { "nfsv3", "op-write-done", 1, 1, "nfsv3oparg_t *",
 487             "nfsv3opinfo_t *" },
 488         { "nfsv3", "op-write-done", 2, 3, "WRITE3res *" },
 489 
 490         { "nfsv4", "null-start", 0, 0, "struct svc_req *", "conninfo_t *" },
 491         { "nfsv4", "null-done", 0, 0, "struct svc_req *", "conninfo_t *" },
 492         { "nfsv4", "compound-start", 0, 0, "struct compound_state *",
 493             "conninfo_t *" },
 494         { "nfsv4", "compound-start", 1, 0, "struct compound_state *",
 495             "nfsv4opinfo_t *" },
 496         { "nfsv4", "compound-start", 2, 1, "COMPOUND4args *" },
 497         { "nfsv4", "compound-done", 0, 0, "struct compound_state *",
 498             "conninfo_t *" },
 499         { "nfsv4", "compound-done", 1, 0, "struct compound_state *",
 500             "nfsv4opinfo_t *" },
 501         { "nfsv4", "compound-done", 2, 1, "COMPOUND4res *" },
 502         { "nfsv4", "op-access-start", 0, 0, "struct compound_state *",
 503             "conninfo_t *"},
 504         { "nfsv4", "op-access-start", 1, 0, "struct compound_state *",
 505             "nfsv4opinfo_t *" },
 506         { "nfsv4", "op-access-start", 2, 1, "ACCESS4args *" },
 507         { "nfsv4", "op-access-done", 0, 0, "struct compound_state *",
 508             "conninfo_t *" },
 509         { "nfsv4", "op-access-done", 1, 0, "struct compound_state *",
 510             "nfsv4opinfo_t *" },
 511         { "nfsv4", "op-access-done", 2, 1, "ACCESS4res *" },
 512         { "nfsv4", "op-close-start", 0, 0, "struct compound_state *",
 513             "conninfo_t *" },
 514         { "nfsv4", "op-close-start", 1, 0, "struct compound_state *",
 515             "nfsv4opinfo_t *" },
 516         { "nfsv4", "op-close-start", 2, 1, "CLOSE4args *" },
 517         { "nfsv4", "op-close-done", 0, 0, "struct compound_state *",
 518             "conninfo_t *" },
 519         { "nfsv4", "op-close-done", 1, 0, "struct compound_state *",
 520             "nfsv4opinfo_t *" },
 521         { "nfsv4", "op-close-done", 2, 1, "CLOSE4res *" },
 522         { "nfsv4", "op-commit-start", 0, 0, "struct compound_state *",
 523             "conninfo_t *" },
 524         { "nfsv4", "op-commit-start", 1, 0, "struct compound_state *",
 525             "nfsv4opinfo_t *" },
 526         { "nfsv4", "op-commit-start", 2, 1, "COMMIT4args *" },
 527         { "nfsv4", "op-commit-done", 0, 0, "struct compound_state *",
 528             "conninfo_t *" },
 529         { "nfsv4", "op-commit-done", 1, 0, "struct compound_state *",
 530             "nfsv4opinfo_t *" },
 531         { "nfsv4", "op-commit-done", 2, 1, "COMMIT4res *" },
 532         { "nfsv4", "op-create-start", 0, 0, "struct compound_state *",
 533             "conninfo_t *" },
 534         { "nfsv4", "op-create-start", 1, 0, "struct compound_state *",
 535             "nfsv4opinfo_t *" },
 536         { "nfsv4", "op-create-start", 2, 1, "CREATE4args *" },
 537         { "nfsv4", "op-create-done", 0, 0, "struct compound_state *",
 538             "conninfo_t *" },
 539         { "nfsv4", "op-create-done", 1, 0, "struct compound_state *",
 540             "nfsv4opinfo_t *" },
 541         { "nfsv4", "op-create-done", 2, 1, "CREATE4res *" },
 542         { "nfsv4", "op-delegpurge-start", 0, 0, "struct compound_state *",
 543             "conninfo_t *" },
 544         { "nfsv4", "op-delegpurge-start", 1, 0, "struct compound_state *",
 545             "nfsv4opinfo_t *" },
 546         { "nfsv4", "op-delegpurge-start", 2, 1, "DELEGPURGE4args *" },
 547         { "nfsv4", "op-delegpurge-done", 0, 0, "struct compound_state *",
 548             "conninfo_t *" },
 549         { "nfsv4", "op-delegpurge-done", 1, 0, "struct compound_state *",
 550             "nfsv4opinfo_t *" },
 551         { "nfsv4", "op-delegpurge-done", 2, 1, "DELEGPURGE4res *" },
 552         { "nfsv4", "op-delegreturn-start", 0, 0, "struct compound_state *",
 553             "conninfo_t *" },
 554         { "nfsv4", "op-delegreturn-start", 1, 0, "struct compound_state *",
 555             "nfsv4opinfo_t *" },
 556         { "nfsv4", "op-delegreturn-start", 2, 1, "DELEGRETURN4args *" },
 557         { "nfsv4", "op-delegreturn-done", 0, 0, "struct compound_state *",
 558             "conninfo_t *" },
 559         { "nfsv4", "op-delegreturn-done", 1, 0, "struct compound_state *",
 560             "nfsv4opinfo_t *" },
 561         { "nfsv4", "op-delegreturn-done", 2, 1, "DELEGRETURN4res *" },
 562         { "nfsv4", "op-getattr-start", 0, 0, "struct compound_state *",
 563             "conninfo_t *" },
 564         { "nfsv4", "op-getattr-start", 1, 0, "struct compound_state *",
 565             "nfsv4opinfo_t *" },
 566         { "nfsv4", "op-getattr-start", 2, 1, "GETATTR4args *" },
 567         { "nfsv4", "op-getattr-done", 0, 0, "struct compound_state *",
 568             "conninfo_t *" },
 569         { "nfsv4", "op-getattr-done", 1, 0, "struct compound_state *",
 570             "nfsv4opinfo_t *" },
 571         { "nfsv4", "op-getattr-done", 2, 1, "GETATTR4res *" },
 572         { "nfsv4", "op-getfh-start", 0, 0, "struct compound_state *",
 573             "conninfo_t *" },
 574         { "nfsv4", "op-getfh-start", 1, 0, "struct compound_state *",
 575             "nfsv4opinfo_t *" },
 576         { "nfsv4", "op-getfh-done", 0, 0, "struct compound_state *",
 577             "conninfo_t *" },
 578         { "nfsv4", "op-getfh-done", 1, 0, "struct compound_state *",
 579             "nfsv4opinfo_t *" },
 580         { "nfsv4", "op-getfh-done", 2, 1, "GETFH4res *" },
 581         { "nfsv4", "op-link-start", 0, 0, "struct compound_state *",
 582             "conninfo_t *" },
 583         { "nfsv4", "op-link-start", 1, 0, "struct compound_state *",
 584             "nfsv4opinfo_t *" },
 585         { "nfsv4", "op-link-start", 2, 1, "LINK4args *" },
 586         { "nfsv4", "op-link-done", 0, 0, "struct compound_state *",
 587             "conninfo_t *" },
 588         { "nfsv4", "op-link-done", 1, 0, "struct compound_state *",
 589             "nfsv4opinfo_t *" },
 590         { "nfsv4", "op-link-done", 2, 1, "LINK4res *" },
 591         { "nfsv4", "op-lock-start", 0, 0, "struct compound_state *",
 592             "conninfo_t *" },
 593         { "nfsv4", "op-lock-start", 1, 0, "struct compound_state *",
 594             "nfsv4opinfo_t *" },
 595         { "nfsv4", "op-lock-start", 2, 1, "LOCK4args *" },
 596         { "nfsv4", "op-lock-done", 0, 0, "struct compound_state *",
 597             "conninfo_t *" },
 598         { "nfsv4", "op-lock-done", 1, 0, "struct compound_state *",
 599             "nfsv4opinfo_t *" },
 600         { "nfsv4", "op-lock-done", 2, 1, "LOCK4res *" },
 601         { "nfsv4", "op-lockt-start", 0, 0, "struct compound_state *",
 602             "conninfo_t *" },
 603         { "nfsv4", "op-lockt-start", 1, 0, "struct compound_state *",
 604             "nfsv4opinfo_t *" },
 605         { "nfsv4", "op-lockt-start", 2, 1, "LOCKT4args *" },
 606         { "nfsv4", "op-lockt-done", 0, 0, "struct compound_state *",
 607             "conninfo_t *" },
 608         { "nfsv4", "op-lockt-done", 1, 0, "struct compound_state *",
 609             "nfsv4opinfo_t *" },
 610         { "nfsv4", "op-lockt-done", 2, 1, "LOCKT4res *" },
 611         { "nfsv4", "op-locku-start", 0, 0, "struct compound_state *",
 612             "conninfo_t *" },
 613         { "nfsv4", "op-locku-start", 1, 0, "struct compound_state *",
 614             "nfsv4opinfo_t *" },
 615         { "nfsv4", "op-locku-start", 2, 1, "LOCKU4args *" },
 616         { "nfsv4", "op-locku-done", 0, 0, "struct compound_state *",
 617             "conninfo_t *" },
 618         { "nfsv4", "op-locku-done", 1, 0, "struct compound_state *",
 619             "nfsv4opinfo_t *" },
 620         { "nfsv4", "op-locku-done", 2, 1, "LOCKU4res *" },
 621         { "nfsv4", "op-lookup-start", 0, 0, "struct compound_state *",
 622             "conninfo_t *" },
 623         { "nfsv4", "op-lookup-start", 1, 0, "struct compound_state *",
 624             "nfsv4opinfo_t *" },
 625         { "nfsv4", "op-lookup-start", 2, 1, "LOOKUP4args *" },
 626         { "nfsv4", "op-lookup-done", 0, 0, "struct compound_state *",
 627             "conninfo_t *" },
 628         { "nfsv4", "op-lookup-done", 1, 0, "struct compound_state *",
 629             "nfsv4opinfo_t *" },
 630         { "nfsv4", "op-lookup-done", 2, 1, "LOOKUP4res *" },
 631         { "nfsv4", "op-lookupp-start", 0, 0, "struct compound_state *",
 632             "conninfo_t *" },
 633         { "nfsv4", "op-lookupp-start", 1, 0, "struct compound_state *",
 634             "nfsv4opinfo_t *" },
 635         { "nfsv4", "op-lookupp-done", 0, 0, "struct compound_state *",
 636             "conninfo_t *" },
 637         { "nfsv4", "op-lookupp-done", 1, 0, "struct compound_state *",
 638             "nfsv4opinfo_t *" },
 639         { "nfsv4", "op-lookupp-done", 2, 1, "LOOKUPP4res *" },
 640         { "nfsv4", "op-nverify-start", 0, 0, "struct compound_state *",
 641             "conninfo_t *" },
 642         { "nfsv4", "op-nverify-start", 1, 0, "struct compound_state *",
 643             "nfsv4opinfo_t *" },
 644         { "nfsv4", "op-nverify-start", 2, 1, "NVERIFY4args *" },
 645         { "nfsv4", "op-nverify-done", 0, 0, "struct compound_state *",
 646             "conninfo_t *" },
 647         { "nfsv4", "op-nverify-done", 1, 0, "struct compound_state *",
 648             "nfsv4opinfo_t *" },
 649         { "nfsv4", "op-nverify-done", 2, 1, "NVERIFY4res *" },
 650         { "nfsv4", "op-open-start", 0, 0, "struct compound_state *",
 651             "conninfo_t *" },
 652         { "nfsv4", "op-open-start", 1, 0, "struct compound_state *",
 653             "nfsv4opinfo_t *" },
 654         { "nfsv4", "op-open-start", 2, 1, "OPEN4args *" },
 655         { "nfsv4", "op-open-done", 0, 0, "struct compound_state *",
 656             "conninfo_t *" },
 657         { "nfsv4", "op-open-done", 1, 0, "struct compound_state *",
 658             "nfsv4opinfo_t *" },
 659         { "nfsv4", "op-open-done", 2, 1, "OPEN4res *" },
 660         { "nfsv4", "op-open-confirm-start", 0, 0, "struct compound_state *",
 661             "conninfo_t *" },
 662         { "nfsv4", "op-open-confirm-start", 1, 0, "struct compound_state *",
 663             "nfsv4opinfo_t *" },
 664         { "nfsv4", "op-open-confirm-start", 2, 1, "OPEN_CONFIRM4args *" },
 665         { "nfsv4", "op-open-confirm-done", 0, 0, "struct compound_state *",
 666             "conninfo_t *" },
 667         { "nfsv4", "op-open-confirm-done", 1, 0, "struct compound_state *",
 668             "nfsv4opinfo_t *" },
 669         { "nfsv4", "op-open-confirm-done", 2, 1, "OPEN_CONFIRM4res *" },
 670         { "nfsv4", "op-open-downgrade-start", 0, 0, "struct compound_state *",
 671             "conninfo_t *" },
 672         { "nfsv4", "op-open-downgrade-start", 1, 0, "struct compound_state *",
 673             "nfsv4opinfo_t *" },
 674         { "nfsv4", "op-open-downgrade-start", 2, 1, "OPEN_DOWNGRADE4args *" },
 675         { "nfsv4", "op-open-downgrade-done", 0, 0, "struct compound_state *",
 676             "conninfo_t *" },
 677         { "nfsv4", "op-open-downgrade-done", 1, 0, "struct compound_state *",
 678             "nfsv4opinfo_t *" },
 679         { "nfsv4", "op-open-downgrade-done", 2, 1, "OPEN_DOWNGRADE4res *" },
 680         { "nfsv4", "op-openattr-start", 0, 0, "struct compound_state *",
 681             "conninfo_t *" },
 682         { "nfsv4", "op-openattr-start", 1, 0, "struct compound_state *",
 683             "nfsv4opinfo_t *" },
 684         { "nfsv4", "op-openattr-start", 2, 1, "OPENATTR4args *" },
 685         { "nfsv4", "op-openattr-done", 0, 0, "struct compound_state *",
 686             "conninfo_t *" },
 687         { "nfsv4", "op-openattr-done", 1, 0, "struct compound_state *",
 688             "nfsv4opinfo_t *" },
 689         { "nfsv4", "op-openattr-done", 2, 1, "OPENATTR4res *" },
 690         { "nfsv4", "op-putfh-start", 0, 0, "struct compound_state *",
 691             "conninfo_t *" },
 692         { "nfsv4", "op-putfh-start", 1, 0, "struct compound_state *",
 693             "nfsv4opinfo_t *" },
 694         { "nfsv4", "op-putfh-start", 2, 1, "PUTFH4args *" },
 695         { "nfsv4", "op-putfh-done", 0, 0, "struct compound_state *",
 696             "conninfo_t *" },
 697         { "nfsv4", "op-putfh-done", 1, 0, "struct compound_state *",
 698             "nfsv4opinfo_t *" },
 699         { "nfsv4", "op-putfh-done", 2, 1, "PUTFH4res *" },
 700         { "nfsv4", "op-putpubfh-start", 0, 0, "struct compound_state *",
 701             "conninfo_t *" },
 702         { "nfsv4", "op-putpubfh-start", 1, 0, "struct compound_state *",
 703             "nfsv4opinfo_t *" },
 704         { "nfsv4", "op-putpubfh-done", 0, 0, "struct compound_state *",
 705             "conninfo_t *" },
 706         { "nfsv4", "op-putpubfh-done", 1, 0, "struct compound_state *",
 707             "nfsv4opinfo_t *" },
 708         { "nfsv4", "op-putpubfh-done", 2, 1, "PUTPUBFH4res *" },
 709         { "nfsv4", "op-putrootfh-start", 0, 0, "struct compound_state *",
 710             "conninfo_t *" },
 711         { "nfsv4", "op-putrootfh-start", 1, 0, "struct compound_state *",
 712             "nfsv4opinfo_t *" },
 713         { "nfsv4", "op-putrootfh-done", 0, 0, "struct compound_state *",
 714             "conninfo_t *" },
 715         { "nfsv4", "op-putrootfh-done", 1, 0, "struct compound_state *",
 716             "nfsv4opinfo_t *" },
 717         { "nfsv4", "op-putrootfh-done", 2, 1, "PUTROOTFH4res *" },
 718         { "nfsv4", "op-read-start", 0, 0, "struct compound_state *",
 719             "conninfo_t *" },
 720         { "nfsv4", "op-read-start", 1, 0, "struct compound_state *",
 721             "nfsv4opinfo_t *" },
 722         { "nfsv4", "op-read-start", 2, 1, "READ4args *" },
 723         { "nfsv4", "op-read-done", 0, 0, "struct compound_state *",
 724             "conninfo_t *" },
 725         { "nfsv4", "op-read-done", 1, 0, "struct compound_state *",
 726             "nfsv4opinfo_t *" },
 727         { "nfsv4", "op-read-done", 2, 1, "READ4res *" },
 728         { "nfsv4", "op-readdir-start", 0, 0, "struct compound_state *",
 729             "conninfo_t *" },
 730         { "nfsv4", "op-readdir-start", 1, 0, "struct compound_state *",
 731             "nfsv4opinfo_t *" },
 732         { "nfsv4", "op-readdir-start", 2, 1, "READDIR4args *" },
 733         { "nfsv4", "op-readdir-done", 0, 0, "struct compound_state *",
 734             "conninfo_t *" },
 735         { "nfsv4", "op-readdir-done", 1, 0, "struct compound_state *",
 736             "nfsv4opinfo_t *" },
 737         { "nfsv4", "op-readdir-done", 2, 1, "READDIR4res *" },
 738         { "nfsv4", "op-readlink-start", 0, 0, "struct compound_state *",
 739             "conninfo_t *" },
 740         { "nfsv4", "op-readlink-start", 1, 0, "struct compound_state *",
 741             "nfsv4opinfo_t *" },
 742         { "nfsv4", "op-readlink-done", 0, 0, "struct compound_state *",
 743             "conninfo_t *" },
 744         { "nfsv4", "op-readlink-done", 1, 0, "struct compound_state *",
 745             "nfsv4opinfo_t *" },
 746         { "nfsv4", "op-readlink-done", 2, 1, "READLINK4res *" },
 747         { "nfsv4", "op-release-lockowner-start", 0, 0,
 748             "struct compound_state *", "conninfo_t *" },
 749         { "nfsv4", "op-release-lockowner-start", 1, 0,
 750             "struct compound_state *", "nfsv4opinfo_t *" },
 751         { "nfsv4", "op-release-lockowner-start", 2, 1,
 752             "RELEASE_LOCKOWNER4args *" },
 753         { "nfsv4", "op-release-lockowner-done", 0, 0,
 754             "struct compound_state *", "conninfo_t *" },
 755         { "nfsv4", "op-release-lockowner-done", 1, 0,
 756             "struct compound_state *", "nfsv4opinfo_t *" },
 757         { "nfsv4", "op-release-lockowner-done", 2, 1,
 758             "RELEASE_LOCKOWNER4res *" },
 759         { "nfsv4", "op-remove-start", 0, 0, "struct compound_state *",
 760             "conninfo_t *" },
 761         { "nfsv4", "op-remove-start", 1, 0, "struct compound_state *",
 762             "nfsv4opinfo_t *" },
 763         { "nfsv4", "op-remove-start", 2, 1, "REMOVE4args *" },
 764         { "nfsv4", "op-remove-done", 0, 0, "struct compound_state *",
 765             "conninfo_t *" },
 766         { "nfsv4", "op-remove-done", 1, 0, "struct compound_state *",
 767             "nfsv4opinfo_t *" },
 768         { "nfsv4", "op-remove-done", 2, 1, "REMOVE4res *" },
 769         { "nfsv4", "op-rename-start", 0, 0, "struct compound_state *",
 770             "conninfo_t *" },
 771         { "nfsv4", "op-rename-start", 1, 0, "struct compound_state *",
 772             "nfsv4opinfo_t *" },
 773         { "nfsv4", "op-rename-start", 2, 1, "RENAME4args *" },
 774         { "nfsv4", "op-rename-done", 0, 0, "struct compound_state *",
 775             "conninfo_t *" },
 776         { "nfsv4", "op-rename-done", 1, 0, "struct compound_state *",
 777             "nfsv4opinfo_t *" },
 778         { "nfsv4", "op-rename-done", 2, 1, "RENAME4res *" },
 779         { "nfsv4", "op-renew-start", 0, 0, "struct compound_state *",
 780             "conninfo_t *" },
 781         { "nfsv4", "op-renew-start", 1, 0, "struct compound_state *",
 782             "nfsv4opinfo_t *" },
 783         { "nfsv4", "op-renew-start", 2, 1, "RENEW4args *" },
 784         { "nfsv4", "op-renew-done", 0, 0, "struct compound_state *",
 785             "conninfo_t *" },
 786         { "nfsv4", "op-renew-done", 1, 0, "struct compound_state *",
 787             "nfsv4opinfo_t *" },
 788         { "nfsv4", "op-renew-done", 2, 1, "RENEW4res *" },
 789         { "nfsv4", "op-restorefh-start", 0, 0, "struct compound_state *",
 790             "conninfo_t *" },
 791         { "nfsv4", "op-restorefh-start", 1, 0, "struct compound_state *",
 792             "nfsv4opinfo_t *" },
 793         { "nfsv4", "op-restorefh-done", 0, 0, "struct compound_state *",
 794             "conninfo_t *" },
 795         { "nfsv4", "op-restorefh-done", 1, 0, "struct compound_state *",
 796             "nfsv4opinfo_t *" },
 797         { "nfsv4", "op-restorefh-done", 2, 1, "RESTOREFH4res *" },
 798         { "nfsv4", "op-savefh-start", 0, 0, "struct compound_state *",
 799             "conninfo_t *" },
 800         { "nfsv4", "op-savefh-start", 1, 0, "struct compound_state *",
 801             "nfsv4opinfo_t *" },
 802         { "nfsv4", "op-savefh-done", 0, 0, "struct compound_state *",
 803             "conninfo_t *" },
 804         { "nfsv4", "op-savefh-done", 1, 0, "struct compound_state *",
 805             "nfsv4opinfo_t *" },
 806         { "nfsv4", "op-savefh-done", 2, 1, "SAVEFH4res *" },
 807         { "nfsv4", "op-secinfo-start", 0, 0, "struct compound_state *",
 808             "conninfo_t *" },
 809         { "nfsv4", "op-secinfo-start", 1, 0, "struct compound_state *",
 810             "nfsv4opinfo_t *" },
 811         { "nfsv4", "op-secinfo-start", 2, 1, "SECINFO4args *" },
 812         { "nfsv4", "op-secinfo-done", 0, 0, "struct compound_state *",
 813             "conninfo_t *" },
 814         { "nfsv4", "op-secinfo-done", 1, 0, "struct compound_state *",
 815             "nfsv4opinfo_t *" },
 816         { "nfsv4", "op-secinfo-done", 2, 1, "SECINFO4res *" },
 817         { "nfsv4", "op-setattr-start", 0, 0, "struct compound_state *",
 818             "conninfo_t *" },
 819         { "nfsv4", "op-setattr-start", 1, 0, "struct compound_state *",
 820             "nfsv4opinfo_t *" },
 821         { "nfsv4", "op-setattr-start", 2, 1, "SETATTR4args *" },
 822         { "nfsv4", "op-setattr-done", 0, 0, "struct compound_state *",
 823             "conninfo_t *" },
 824         { "nfsv4", "op-setattr-done", 1, 0, "struct compound_state *",
 825             "nfsv4opinfo_t *" },
 826         { "nfsv4", "op-setattr-done", 2, 1, "SETATTR4res *" },
 827         { "nfsv4", "op-setclientid-start", 0, 0, "struct compound_state *",
 828             "conninfo_t *" },
 829         { "nfsv4", "op-setclientid-start", 1, 0, "struct compound_state *",
 830             "nfsv4opinfo_t *" },
 831         { "nfsv4", "op-setclientid-start", 2, 1, "SETCLIENTID4args *" },
 832         { "nfsv4", "op-setclientid-done", 0, 0, "struct compound_state *",
 833             "conninfo_t *" },
 834         { "nfsv4", "op-setclientid-done", 1, 0, "struct compound_state *",
 835             "nfsv4opinfo_t *" },
 836         { "nfsv4", "op-setclientid-done", 2, 1, "SETCLIENTID4res *" },
 837         { "nfsv4", "op-setclientid-confirm-start", 0, 0,
 838             "struct compound_state *", "conninfo_t *" },
 839         { "nfsv4", "op-setclientid-confirm-start", 1, 0,
 840             "struct compound_state *", "nfsv4opinfo_t *" },
 841         { "nfsv4", "op-setclientid-confirm-start", 2, 1,
 842             "SETCLIENTID_CONFIRM4args *" },
 843         { "nfsv4", "op-setclientid-confirm-done", 0, 0,
 844             "struct compound_state *", "conninfo_t *" },
 845         { "nfsv4", "op-setclientid-confirm-done", 1, 0,
 846             "struct compound_state *", "nfsv4opinfo_t *" },
 847         { "nfsv4", "op-setclientid-confirm-done", 2, 1,
 848             "SETCLIENTID_CONFIRM4res *" },
 849         { "nfsv4", "op-verify-start", 0, 0, "struct compound_state *",
 850             "conninfo_t *" },
 851         { "nfsv4", "op-verify-start", 1, 0, "struct compound_state *",
 852             "nfsv4opinfo_t *" },
 853         { "nfsv4", "op-verify-start", 2, 1, "VERIFY4args *" },
 854         { "nfsv4", "op-verify-done", 0, 0, "struct compound_state *",
 855             "conninfo_t *" },
 856         { "nfsv4", "op-verify-done", 1, 0, "struct compound_state *",
 857             "nfsv4opinfo_t *" },
 858         { "nfsv4", "op-verify-done", 2, 1, "VERIFY4res *" },
 859         { "nfsv4", "op-write-start", 0, 0, "struct compound_state *",
 860             "conninfo_t *" },
 861         { "nfsv4", "op-write-start", 1, 0, "struct compound_state *",
 862             "nfsv4opinfo_t *" },
 863         { "nfsv4", "op-write-start", 2, 1, "WRITE4args *" },
 864         { "nfsv4", "op-write-done", 0, 0, "struct compound_state *",
 865             "conninfo_t *" },
 866         { "nfsv4", "op-write-done", 1, 0, "struct compound_state *",
 867             "nfsv4opinfo_t *" },
 868         { "nfsv4", "op-write-done", 2, 1, "WRITE4res *" },
 869         { "nfsv4", "cb-recall-start", 0, 0, "rfs4_client_t *",
 870             "conninfo_t *" },
 871         { "nfsv4", "cb-recall-start", 1, 1, "rfs4_deleg_state_t *",
 872             "nfsv4cbinfo_t *" },
 873         { "nfsv4", "cb-recall-start", 2, 2, "CB_RECALL4args *" },
 874         { "nfsv4", "cb-recall-done", 0, 0, "rfs4_client_t *",
 875             "conninfo_t *" },
 876         { "nfsv4", "cb-recall-done", 1, 1, "rfs4_deleg_state_t *",
 877             "nfsv4cbinfo_t *" },
 878         { "nfsv4", "cb-recall-done", 2, 2, "CB_RECALL4res *" },
 879 
 880         /* Tables like this get really ugly when line-wrapped. */
 881         /* BEGIN CSTYLED */
 882         { "smb", "op-Close-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 883         { "smb", "op-Close-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 884         { "smb", "op-Close-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 885         { "smb", "op-Close-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 886 
 887         { "smb", "op-CloseAndTreeDisconnect-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 888         { "smb", "op-CloseAndTreeDisconnect-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 889         { "smb", "op-CloseAndTreeDisconnect-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 890         { "smb", "op-CloseAndTreeDisconnect-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 891 
 892         { "smb", "op-Transaction-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 893         { "smb", "op-Transaction-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 894         { "smb", "op-Transaction-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 895         { "smb", "op-Transaction-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 896 
 897         { "smb", "op-TransactionSecondary-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 898         { "smb", "op-TransactionSecondary-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 899         { "smb", "op-TransactionSecondary-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 900         { "smb", "op-TransactionSecondary-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 901 
 902         { "smb", "op-Ioctl-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 903         { "smb", "op-Ioctl-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 904         { "smb", "op-Ioctl-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 905         { "smb", "op-Ioctl-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 906 
 907         { "smb", "op-Transaction2-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 908         { "smb", "op-Transaction2-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 909         { "smb", "op-Transaction2-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 910         { "smb", "op-Transaction2-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 911 
 912         { "smb", "op-Transaction2Secondary-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 913         { "smb", "op-Transaction2Secondary-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 914         { "smb", "op-Transaction2Secondary-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 915         { "smb", "op-Transaction2Secondary-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 916 
 917         { "smb", "op-NtTransact-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 918         { "smb", "op-NtTransact-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 919         { "smb", "op-NtTransact-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 920         { "smb", "op-NtTransact-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 921 
 922         { "smb", "op-NtTransactSecondary-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 923         { "smb", "op-NtTransactSecondary-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 924         { "smb", "op-NtTransactSecondary-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 925         { "smb", "op-NtTransactSecondary-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 926 
 927         { "smb", "op-Create-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 928         { "smb", "op-Create-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 929         { "smb", "op-Create-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
 930         { "smb", "op-Create-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 931         { "smb", "op-Create-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 932 
 933         { "smb", "op-CreateNew-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 934         { "smb", "op-CreateNew-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 935         { "smb", "op-CreateNew-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
 936         { "smb", "op-CreateNew-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 937         { "smb", "op-CreateNew-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 938 
 939         { "smb", "op-CreateTemporary-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 940         { "smb", "op-CreateTemporary-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 941         { "smb", "op-CreateTemporary-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
 942         { "smb", "op-CreateTemporary-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 943         { "smb", "op-CreateTemporary-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 944 
 945         { "smb", "op-Delete-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 946         { "smb", "op-Delete-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 947         { "smb", "op-Delete-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
 948         { "smb", "op-Delete-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 949         { "smb", "op-Delete-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 950 
 951         { "smb", "op-CreateDirectory-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 952         { "smb", "op-CreateDirectory-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 953         { "smb", "op-CreateDirectory-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
 954         { "smb", "op-CreateDirectory-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 955         { "smb", "op-CreateDirectory-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 956 
 957         { "smb", "op-DeleteDirectory-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 958         { "smb", "op-DeleteDirectory-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 959         { "smb", "op-DeleteDirectory-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
 960         { "smb", "op-DeleteDirectory-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 961         { "smb", "op-DeleteDirectory-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 962 
 963         { "smb", "op-CheckDirectory-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 964         { "smb", "op-CheckDirectory-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 965         { "smb", "op-CheckDirectory-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
 966         { "smb", "op-CheckDirectory-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 967         { "smb", "op-CheckDirectory-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 968 
 969         { "smb", "op-Invalid-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 970         { "smb", "op-Invalid-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 971         { "smb", "op-Invalid-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 972         { "smb", "op-Invalid-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 973 
 974         { "smb", "op-Echo-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 975         { "smb", "op-Echo-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 976         { "smb", "op-Echo-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 977         { "smb", "op-Echo-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 978 
 979         { "smb", "op-Search-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 980         { "smb", "op-Search-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 981         { "smb", "op-Search-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 982         { "smb", "op-Search-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 983 
 984         { "smb", "op-Find-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 985         { "smb", "op-Find-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 986         { "smb", "op-Find-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 987         { "smb", "op-Find-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 988 
 989         { "smb", "op-FindClose-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 990         { "smb", "op-FindClose-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 991         { "smb", "op-FindClose-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 992         { "smb", "op-FindClose-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 993 
 994         { "smb", "op-FindUnique-start", 0, 0, "smb_request_t *", "conninfo_t *" },
 995         { "smb", "op-FindUnique-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 996         { "smb", "op-FindUnique-done", 0, 0, "smb_request_t *", "conninfo_t *" },
 997         { "smb", "op-FindUnique-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
 998 
 999         { "smb", "op-Flush-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1000         { "smb", "op-Flush-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1001         { "smb", "op-Flush-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1002         { "smb", "op-Flush-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1003 
1004         { "smb", "op-QueryInformationDisk-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1005         { "smb", "op-QueryInformationDisk-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1006         { "smb", "op-QueryInformationDisk-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1007         { "smb", "op-QueryInformationDisk-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1008 
1009         { "smb", "op-LockByteRange-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1010         { "smb", "op-LockByteRange-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1011         { "smb", "op-LockByteRange-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1012         { "smb", "op-LockByteRange-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1013 
1014         { "smb", "op-LockingX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1015         { "smb", "op-LockingX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1016         { "smb", "op-LockingX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1017         { "smb", "op-LockingX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1018 
1019         { "smb", "op-LogoffX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1020         { "smb", "op-LogoffX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1021         { "smb", "op-LogoffX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1022         { "smb", "op-LogoffX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1023 
1024         { "smb", "op-Negotiate-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1025         { "smb", "op-Negotiate-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1026         { "smb", "op-Negotiate-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1027         { "smb", "op-Negotiate-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1028 
1029         { "smb", "op-NtCancel-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1030         { "smb", "op-NtCancel-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1031         { "smb", "op-NtCancel-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1032         { "smb", "op-NtCancel-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1033 
1034         { "smb", "op-NtCreateX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1035         { "smb", "op-NtCreateX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1036         { "smb", "op-NtCreateX-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
1037         { "smb", "op-NtCreateX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1038         { "smb", "op-NtCreateX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1039 
1040         { "smb", "op-NtTransactCreate-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1041         { "smb", "op-NtTransactCreate-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1042         { "smb", "op-NtTransactCreate-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
1043         { "smb", "op-NtTransactCreate-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1044         { "smb", "op-NtTransactCreate-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1045 
1046         { "smb", "op-Open-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1047         { "smb", "op-Open-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1048         { "smb", "op-Open-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
1049         { "smb", "op-Open-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1050         { "smb", "op-Open-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1051 
1052         { "smb", "op-OpenX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1053         { "smb", "op-OpenX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1054         { "smb", "op-OpenX-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
1055         { "smb", "op-OpenX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1056         { "smb", "op-OpenX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1057 
1058         { "smb", "op-OpenPrintFile-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1059         { "smb", "op-OpenPrintFile-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1060         { "smb", "op-OpenPrintFile-start", 2, 0, "smb_request_t *", "smb_open_args_t *" },
1061         { "smb", "op-OpenPrintFile-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1062         { "smb", "op-OpenPrintFile-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1063 
1064         { "smb", "op-ClosePrintFile-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1065         { "smb", "op-ClosePrintFile-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1066         { "smb", "op-ClosePrintFile-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1067         { "smb", "op-ClosePrintFile-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1068 
1069         { "smb", "op-GetPrintQueue-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1070         { "smb", "op-GetPrintQueue-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1071         { "smb", "op-GetPrintQueue-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1072         { "smb", "op-GetPrintQueue-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1073 
1074         { "smb", "op-WritePrintFile-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1075         { "smb", "op-WritePrintFile-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1076         { "smb", "op-WritePrintFile-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1077         { "smb", "op-WritePrintFile-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1078 
1079         { "smb", "op-ProcessExit-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1080         { "smb", "op-ProcessExit-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1081         { "smb", "op-ProcessExit-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1082         { "smb", "op-ProcessExit-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1083 
1084         { "smb", "op-QueryInformation-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1085         { "smb", "op-QueryInformation-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1086         { "smb", "op-QueryInformation-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
1087         { "smb", "op-QueryInformation-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1088         { "smb", "op-QueryInformation-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1089 
1090         { "smb", "op-QueryInformation2-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1091         { "smb", "op-QueryInformation2-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1092         { "smb", "op-QueryInformation2-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1093         { "smb", "op-QueryInformation2-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1094 
1095         { "smb", "op-Read-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1096         { "smb", "op-Read-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1097         { "smb", "op-Read-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1098         { "smb", "op-Read-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1099         { "smb", "op-Read-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1100         { "smb", "op-Read-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1101 
1102         { "smb", "op-LockAndRead-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1103         { "smb", "op-LockAndRead-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1104         { "smb", "op-LockAndRead-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1105         { "smb", "op-LockAndRead-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1106         { "smb", "op-LockAndRead-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1107         { "smb", "op-LockAndRead-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1108 
1109         { "smb", "op-ReadRaw-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1110         { "smb", "op-ReadRaw-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1111         { "smb", "op-ReadRaw-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1112         { "smb", "op-ReadRaw-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1113         { "smb", "op-ReadRaw-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1114         { "smb", "op-ReadRaw-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1115 
1116         { "smb", "op-ReadX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1117         { "smb", "op-ReadX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1118         { "smb", "op-ReadX-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1119         { "smb", "op-ReadX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1120         { "smb", "op-ReadX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1121         { "smb", "op-ReadX-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1122 
1123         { "smb", "op-Rename-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1124         { "smb", "op-Rename-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1125         { "smb", "op-Rename-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
1126         { "smb", "op-Rename-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1127         { "smb", "op-Rename-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1128 
1129         { "smb", "op-NtRename-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1130         { "smb", "op-NtRename-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1131         { "smb", "op-NtRename-start", 2, 0, "smb_request_t *", "smb_name_args_t *" },
1132         { "smb", "op-NtRename-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1133         { "smb", "op-NtRename-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1134 
1135         { "smb", "op-Seek-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1136         { "smb", "op-Seek-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1137         { "smb", "op-Seek-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1138         { "smb", "op-Seek-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1139 
1140         { "smb", "op-SessionSetupX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1141         { "smb", "op-SessionSetupX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1142         { "smb", "op-SessionSetupX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1143         { "smb", "op-SessionSetupX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1144 
1145         { "smb", "op-SetInformation-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1146         { "smb", "op-SetInformation-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1147         { "smb", "op-SetInformation-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1148         { "smb", "op-SetInformation-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1149 
1150         { "smb", "op-SetInformation2-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1151         { "smb", "op-SetInformation2-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1152         { "smb", "op-SetInformation2-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1153         { "smb", "op-SetInformation2-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1154 
1155         { "smb", "op-FindClose2-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1156         { "smb", "op-FindClose2-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1157         { "smb", "op-FindClose2-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1158         { "smb", "op-FindClose2-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1159 
1160         { "smb", "op-TreeConnect-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1161         { "smb", "op-TreeConnect-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1162         { "smb", "op-TreeConnect-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1163         { "smb", "op-TreeConnect-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1164 
1165         { "smb", "op-TreeConnectX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1166         { "smb", "op-TreeConnectX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1167         { "smb", "op-TreeConnectX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1168         { "smb", "op-TreeConnectX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1169 
1170         { "smb", "op-TreeDisconnect-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1171         { "smb", "op-TreeDisconnect-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1172         { "smb", "op-TreeDisconnect-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1173         { "smb", "op-TreeDisconnect-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1174 
1175         { "smb", "op-UnlockByteRange-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1176         { "smb", "op-UnlockByteRange-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1177         { "smb", "op-UnlockByteRange-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1178         { "smb", "op-UnlockByteRange-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1179 
1180         { "smb", "op-Write-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1181         { "smb", "op-Write-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1182         { "smb", "op-Write-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1183         { "smb", "op-Write-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1184         { "smb", "op-Write-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1185         { "smb", "op-Write-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1186 
1187         { "smb", "op-WriteAndClose-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1188         { "smb", "op-WriteAndClose-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1189         { "smb", "op-WriteAndClose-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1190         { "smb", "op-WriteAndClose-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1191         { "smb", "op-WriteAndClose-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1192         { "smb", "op-WriteAndClose-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1193 
1194         { "smb", "op-WriteAndUnlock-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1195         { "smb", "op-WriteAndUnlock-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1196         { "smb", "op-WriteAndUnlock-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1197         { "smb", "op-WriteAndUnlock-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1198         { "smb", "op-WriteAndUnlock-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1199         { "smb", "op-WriteAndUnlock-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1200 
1201         { "smb", "op-WriteRaw-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1202         { "smb", "op-WriteRaw-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1203         { "smb", "op-WriteRaw-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1204         { "smb", "op-WriteRaw-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1205         { "smb", "op-WriteRaw-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1206         { "smb", "op-WriteRaw-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1207 
1208         { "smb", "op-WriteX-start", 0, 0, "smb_request_t *", "conninfo_t *" },
1209         { "smb", "op-WriteX-start", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1210         { "smb", "op-WriteX-start", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1211         { "smb", "op-WriteX-done", 0, 0, "smb_request_t *", "conninfo_t *" },
1212         { "smb", "op-WriteX-done", 1, 0, "smb_request_t *", "smbopinfo_t *" },
1213         { "smb", "op-WriteX-done", 2, 0, "smb_request_t *", "smb_rw_args_t *" },
1214         /* END CSTYLED */
1215 
1216         { "ip", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
1217         { "ip", "send", 1, 1, "conn_t *", "csinfo_t *" },
1218         { "ip", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
1219         { "ip", "send", 3, 3, "__dtrace_ipsr_ill_t *", "ifinfo_t *" },
1220         { "ip", "send", 4, 4, "ipha_t *", "ipv4info_t *" },
1221         { "ip", "send", 5, 5, "ip6_t *", "ipv6info_t *" },
1222         { "ip", "send", 6, 6, "int" }, /* used by __dtrace_ipsr_ill_t */
1223         { "ip", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
1224         { "ip", "receive", 1, 1, "conn_t *", "csinfo_t *" },
1225         { "ip", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
1226         { "ip", "receive", 3, 3, "__dtrace_ipsr_ill_t *", "ifinfo_t *" },
1227         { "ip", "receive", 4, 4, "ipha_t *", "ipv4info_t *" },
1228         { "ip", "receive", 5, 5, "ip6_t *", "ipv6info_t *" },
1229         { "ip", "receive", 6, 6, "int" }, /* used by __dtrace_ipsr_ill_t */
1230 
1231         { "tcp", "connect-established", 0, 0, "mblk_t *", "pktinfo_t *" },
1232         { "tcp", "connect-established", 1, 1, "ip_xmit_attr_t *",
1233             "csinfo_t *" },
1234         { "tcp", "connect-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
1235         { "tcp", "connect-established", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1236         { "tcp", "connect-established", 4, 4, "tcph_t *", "tcpinfo_t *" },
1237         { "tcp", "connect-refused", 0, 0, "mblk_t *", "pktinfo_t *" },
1238         { "tcp", "connect-refused", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1239         { "tcp", "connect-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
1240         { "tcp", "connect-refused", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1241         { "tcp", "connect-refused", 4, 4, "tcph_t *", "tcpinfo_t *" },
1242         { "tcp", "connect-request", 0, 0, "mblk_t *", "pktinfo_t *" },
1243         { "tcp", "connect-request", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1244         { "tcp", "connect-request", 2, 2, "void_ip_t *", "ipinfo_t *" },
1245         { "tcp", "connect-request", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1246         { "tcp", "connect-request", 4, 4, "tcph_t *", "tcpinfo_t *" },
1247         { "tcp", "accept-established", 0, 0, "mblk_t *", "pktinfo_t *" },
1248         { "tcp", "accept-established", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1249         { "tcp", "accept-established", 2, 2, "void_ip_t *", "ipinfo_t *" },
1250         { "tcp", "accept-established", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1251         { "tcp", "accept-established", 4, 4, "tcph_t *", "tcpinfo_t *" },
1252         { "tcp", "accept-refused", 0, 0, "mblk_t *", "pktinfo_t *" },
1253         { "tcp", "accept-refused", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1254         { "tcp", "accept-refused", 2, 2, "void_ip_t *", "ipinfo_t *" },
1255         { "tcp", "accept-refused", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1256         { "tcp", "accept-refused", 4, 4, "tcph_t *", "tcpinfo_t *" },
1257         { "tcp", "state-change", 0, 0, "void", "void" },
1258         { "tcp", "state-change", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1259         { "tcp", "state-change", 2, 2, "void", "void" },
1260         { "tcp", "state-change", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1261         { "tcp", "state-change", 4, 4, "void", "void" },
1262         { "tcp", "state-change", 5, 5, "int32_t", "tcplsinfo_t *" },
1263         { "tcp", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
1264         { "tcp", "send", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1265         { "tcp", "send", 2, 2, "__dtrace_tcp_void_ip_t *", "ipinfo_t *" },
1266         { "tcp", "send", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1267         { "tcp", "send", 4, 4, "__dtrace_tcp_tcph_t *", "tcpinfo_t *" },
1268         { "tcp", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
1269         { "tcp", "receive", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1270         { "tcp", "receive", 2, 2, "__dtrace_tcp_void_ip_t *", "ipinfo_t *" },
1271         { "tcp", "receive", 3, 3, "tcp_t *", "tcpsinfo_t *" },
1272         { "tcp", "receive", 4, 4, "__dtrace_tcp_tcph_t *", "tcpinfo_t *" },
1273 
1274         { "udp", "send", 0, 0, "mblk_t *", "pktinfo_t *" },
1275         { "udp", "send", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1276         { "udp", "send", 2, 2, "void_ip_t *", "ipinfo_t *" },
1277         { "udp", "send", 3, 3, "udp_t *", "udpsinfo_t *" },
1278         { "udp", "send", 4, 4, "udpha_t *", "udpinfo_t *" },
1279         { "udp", "receive", 0, 0, "mblk_t *", "pktinfo_t *" },
1280         { "udp", "receive", 1, 1, "ip_xmit_attr_t *", "csinfo_t *" },
1281         { "udp", "receive", 2, 2, "void_ip_t *", "ipinfo_t *" },
1282         { "udp", "receive", 3, 3, "udp_t *", "udpsinfo_t *" },
1283         { "udp", "receive", 4, 4, "udpha_t *", "udpinfo_t *" },
1284 
1285         { "sysevent", "post", 0, 0, "evch_bind_t *", "syseventchaninfo_t *" },
1286         { "sysevent", "post", 1, 1, "sysevent_impl_t *", "syseventinfo_t *" },
1287 
1288         { "xpv", "add-to-physmap-end", 0, 0, "int" },
1289         { "xpv", "add-to-physmap-start", 0, 0, "domid_t" },
1290         { "xpv", "add-to-physmap-start", 1, 1, "uint_t" },
1291         { "xpv", "add-to-physmap-start", 2, 2, "ulong_t" },
1292         { "xpv", "add-to-physmap-start", 3, 3, "ulong_t" },
1293         { "xpv", "decrease-reservation-end", 0, 0, "int" },
1294         { "xpv", "decrease-reservation-start", 0, 0, "domid_t" },
1295         { "xpv", "decrease-reservation-start", 1, 1, "ulong_t" },
1296         { "xpv", "decrease-reservation-start", 2, 2, "uint_t" },
1297         { "xpv", "decrease-reservation-start", 3, 3, "ulong_t *" },
1298         { "xpv", "dom-create-start", 0, 0, "xen_domctl_t *" },
1299         { "xpv", "dom-destroy-start", 0, 0, "domid_t" },
1300         { "xpv", "dom-pause-start", 0, 0, "domid_t" },
1301         { "xpv", "dom-unpause-start", 0, 0, "domid_t" },
1302         { "xpv", "dom-create-end", 0, 0, "int" },
1303         { "xpv", "dom-destroy-end", 0, 0, "int" },
1304         { "xpv", "dom-pause-end", 0, 0, "int" },
1305         { "xpv", "dom-unpause-end", 0, 0, "int" },
1306         { "xpv", "evtchn-op-end", 0, 0, "int" },
1307         { "xpv", "evtchn-op-start", 0, 0, "int" },
1308         { "xpv", "evtchn-op-start", 1, 1, "void *" },
1309         { "xpv", "increase-reservation-end", 0, 0, "int" },
1310         { "xpv", "increase-reservation-start", 0, 0, "domid_t" },
1311         { "xpv", "increase-reservation-start", 1, 1, "ulong_t" },
1312         { "xpv", "increase-reservation-start", 2, 2, "uint_t" },
1313         { "xpv", "increase-reservation-start", 3, 3, "ulong_t *" },
1314         { "xpv", "mmap-end", 0, 0, "int" },
1315         { "xpv", "mmap-entry", 0, 0, "ulong_t" },
1316         { "xpv", "mmap-entry", 1, 1, "ulong_t" },
1317         { "xpv", "mmap-entry", 2, 2, "ulong_t" },
1318         { "xpv", "mmap-start", 0, 0, "domid_t" },
1319         { "xpv", "mmap-start", 1, 1, "int" },
1320         { "xpv", "mmap-start", 2, 2, "privcmd_mmap_entry_t *" },
1321         { "xpv", "mmapbatch-end", 0, 0, "int" },
1322         { "xpv", "mmapbatch-end", 1, 1, "struct seg *" },
1323         { "xpv", "mmapbatch-end", 2, 2, "caddr_t" },
1324         { "xpv", "mmapbatch-start", 0, 0, "domid_t" },
1325         { "xpv", "mmapbatch-start", 1, 1, "int" },
1326         { "xpv", "mmapbatch-start", 2, 2, "caddr_t" },
1327         { "xpv", "mmu-ext-op-end", 0, 0, "int" },
1328         { "xpv", "mmu-ext-op-start", 0, 0, "int" },
1329         { "xpv", "mmu-ext-op-start", 1, 1, "struct mmuext_op *" },
1330         { "xpv", "mmu-update-start", 0, 0, "int" },
1331         { "xpv", "mmu-update-start", 1, 1, "int" },
1332         { "xpv", "mmu-update-start", 2, 2, "mmu_update_t *" },
1333         { "xpv", "mmu-update-end", 0, 0, "int" },
1334         { "xpv", "populate-physmap-end", 0, 0, "int" },
1335         { "xpv", "populate-physmap-start", 0, 0, "domid_t" },
1336         { "xpv", "populate-physmap-start", 1, 1, "ulong_t" },
1337         { "xpv", "populate-physmap-start", 2, 2, "ulong_t *" },
1338         { "xpv", "set-memory-map-end", 0, 0, "int" },
1339         { "xpv", "set-memory-map-start", 0, 0, "domid_t" },
1340         { "xpv", "set-memory-map-start", 1, 1, "int" },
1341         { "xpv", "set-memory-map-start", 2, 2, "struct xen_memory_map *" },
1342         { "xpv", "setvcpucontext-end", 0, 0, "int" },
1343         { "xpv", "setvcpucontext-start", 0, 0, "domid_t" },
1344         { "xpv", "setvcpucontext-start", 1, 1, "vcpu_guest_context_t *" },
1345 
1346         { "srp", "service-up", 0, 0, "srpt_session_t *", "conninfo_t *" },
1347         { "srp", "service-up", 1, 0, "srpt_session_t *", "srp_portinfo_t *" },
1348         { "srp", "service-down", 0, 0, "srpt_session_t *", "conninfo_t *" },
1349         { "srp", "service-down", 1, 0, "srpt_session_t *",
1350             "srp_portinfo_t *" },
1351         { "srp", "login-command", 0, 0, "srpt_session_t *", "conninfo_t *" },
1352         { "srp", "login-command", 1, 0, "srpt_session_t *",
1353             "srp_portinfo_t *" },
1354         { "srp", "login-command", 2, 1, "srp_login_req_t *",
1355             "srp_logininfo_t *" },
1356         { "srp", "login-response", 0, 0, "srpt_session_t *", "conninfo_t *" },
1357         { "srp", "login-response", 1, 0, "srpt_session_t *",
1358             "srp_portinfo_t *" },
1359         { "srp", "login-response", 2, 1, "srp_login_rsp_t *",
1360             "srp_logininfo_t *" },
1361         { "srp", "login-response", 3, 2, "srp_login_rej_t *" },
1362         { "srp", "logout-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1363         { "srp", "logout-command", 1, 0, "srpt_channel_t *",
1364             "srp_portinfo_t *" },
1365         { "srp", "task-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1366         { "srp", "task-command", 1, 0, "srpt_channel_t *",
1367             "srp_portinfo_t *" },
1368         { "srp", "task-command", 2, 1, "srp_cmd_req_t *", "srp_taskinfo_t *" },
1369         { "srp", "task-response", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1370         { "srp", "task-response", 1, 0, "srpt_channel_t *",
1371             "srp_portinfo_t *" },
1372         { "srp", "task-response", 2, 1, "srp_rsp_t *", "srp_taskinfo_t *" },
1373         { "srp", "task-response", 3, 2, "scsi_task_t *" },
1374         { "srp", "task-response", 4, 3, "int8_t" },
1375         { "srp", "scsi-command", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1376         { "srp", "scsi-command", 1, 0, "srpt_channel_t *",
1377             "srp_portinfo_t *" },
1378         { "srp", "scsi-command", 2, 1, "scsi_task_t *", "scsicmd_t *" },
1379         { "srp", "scsi-command", 3, 2, "srp_cmd_req_t *", "srp_taskinfo_t *" },
1380         { "srp", "scsi-response", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1381         { "srp", "scsi-response", 1, 0, "srpt_channel_t *",
1382             "srp_portinfo_t *" },
1383         { "srp", "scsi-response", 2, 1, "srp_rsp_t *", "srp_taskinfo_t *" },
1384         { "srp", "scsi-response", 3, 2, "scsi_task_t *" },
1385         { "srp", "scsi-response", 4, 3, "int8_t" },
1386         { "srp", "xfer-start", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1387         { "srp", "xfer-start", 1, 0, "srpt_channel_t *",
1388             "srp_portinfo_t *" },
1389         { "srp", "xfer-start", 2, 1, "ibt_wr_ds_t *", "xferinfo_t *" },
1390         { "srp", "xfer-start", 3, 2, "srpt_iu_t *", "srp_taskinfo_t *" },
1391         { "srp", "xfer-start", 4, 3, "ibt_send_wr_t *"},
1392         { "srp", "xfer-start", 5, 4, "uint32_t" },
1393         { "srp", "xfer-start", 6, 5, "uint32_t" },
1394         { "srp", "xfer-start", 7, 6, "uint32_t" },
1395         { "srp", "xfer-start", 8, 7, "uint32_t" },
1396         { "srp", "xfer-done", 0, 0, "srpt_channel_t *", "conninfo_t *" },
1397         { "srp", "xfer-done", 1, 0, "srpt_channel_t *",
1398             "srp_portinfo_t *" },
1399         { "srp", "xfer-done", 2, 1, "ibt_wr_ds_t *", "xferinfo_t *" },
1400         { "srp", "xfer-done", 3, 2, "srpt_iu_t *", "srp_taskinfo_t *" },
1401         { "srp", "xfer-done", 4, 3, "ibt_send_wr_t *"},
1402         { "srp", "xfer-done", 5, 4, "uint32_t" },
1403         { "srp", "xfer-done", 6, 5, "uint32_t" },
1404         { "srp", "xfer-done", 7, 6, "uint32_t" },
1405         { "srp", "xfer-done", 8, 7, "uint32_t" },
1406 
1407         { "fc", "link-up",   0, 0, "fct_i_local_port_t *", "conninfo_t *" },
1408         { "fc", "link-down", 0, 0, "fct_i_local_port_t *", "conninfo_t *" },
1409         { "fc", "fabric-login-start", 0, 0, "fct_i_local_port_t *",
1410             "conninfo_t *" },
1411         { "fc", "fabric-login-start", 1, 0, "fct_i_local_port_t *",
1412             "fc_port_info_t *" },
1413         { "fc", "fabric-login-end", 0, 0, "fct_i_local_port_t *",
1414             "conninfo_t *" },
1415         { "fc", "fabric-login-end", 1, 0, "fct_i_local_port_t *",
1416             "fc_port_info_t *" },
1417         { "fc", "rport-login-start", 0, 0, "fct_cmd_t *",
1418             "conninfo_t *" },
1419         { "fc", "rport-login-start", 1, 1, "fct_local_port_t *",
1420             "fc_port_info_t *" },
1421         { "fc", "rport-login-start", 2, 2, "fct_i_remote_port_t *",
1422             "fc_port_info_t *" },
1423         { "fc", "rport-login-start", 3, 3, "int", "int" },
1424         { "fc", "rport-login-end", 0, 0, "fct_cmd_t *",
1425             "conninfo_t *" },
1426         { "fc", "rport-login-end", 1, 1, "fct_local_port_t *",
1427             "fc_port_info_t *" },
1428         { "fc", "rport-login-end", 2, 2, "fct_i_remote_port_t *",
1429             "fc_port_info_t *" },
1430         { "fc", "rport-login-end", 3, 3, "int", "int" },
1431         { "fc", "rport-login-end", 4, 4, "int", "int" },
1432         { "fc", "rport-logout-start", 0, 0, "fct_cmd_t *",
1433             "conninfo_t *" },
1434         { "fc", "rport-logout-start", 1, 1, "fct_local_port_t *",
1435             "fc_port_info_t *" },
1436         { "fc", "rport-logout-start", 2, 2, "fct_i_remote_port_t *",
1437             "fc_port_info_t *" },
1438         { "fc", "rport-logout-start", 3, 3, "int", "int" },
1439         { "fc", "rport-logout-end", 0, 0, "fct_cmd_t *",
1440             "conninfo_t *" },
1441         { "fc", "rport-logout-end", 1, 1, "fct_local_port_t *",
1442             "fc_port_info_t *" },
1443         { "fc", "rport-logout-end", 2, 2, "fct_i_remote_port_t *",
1444             "fc_port_info_t *" },
1445         { "fc", "rport-logout-end", 3, 3, "int", "int" },
1446         { "fc", "scsi-command", 0, 0, "fct_cmd_t *",
1447             "conninfo_t *" },
1448         { "fc", "scsi-command", 1, 1, "fct_i_local_port_t *",
1449             "fc_port_info_t *" },
1450         { "fc", "scsi-command", 2, 2, "scsi_task_t *",
1451             "scsicmd_t *" },
1452         { "fc", "scsi-command", 3, 3, "fct_i_remote_port_t *",
1453             "fc_port_info_t *" },
1454         { "fc", "scsi-response", 0, 0, "fct_cmd_t *",
1455             "conninfo_t *" },
1456         { "fc", "scsi-response", 1, 1, "fct_i_local_port_t *",
1457             "fc_port_info_t *" },
1458         { "fc", "scsi-response", 2, 2, "scsi_task_t *",
1459             "scsicmd_t *" },
1460         { "fc", "scsi-response", 3, 3, "fct_i_remote_port_t *",
1461             "fc_port_info_t *" },
1462         { "fc", "xfer-start", 0, 0, "fct_cmd_t *",
1463             "conninfo_t *" },
1464         { "fc", "xfer-start", 1, 1, "fct_i_local_port_t *",
1465             "fc_port_info_t *" },
1466         { "fc", "xfer-start", 2, 2, "scsi_task_t *",
1467             "scsicmd_t *" },
1468         { "fc", "xfer-start", 3, 3, "fct_i_remote_port_t *",
1469             "fc_port_info_t *" },
1470         { "fc", "xfer-start", 4, 4, "stmf_data_buf_t *",
1471             "fc_xferinfo_t *" },
1472         { "fc", "xfer-done", 0, 0, "fct_cmd_t *",
1473             "conninfo_t *" },
1474         { "fc", "xfer-done", 1, 1, "fct_i_local_port_t *",
1475             "fc_port_info_t *" },
1476         { "fc", "xfer-done", 2, 2, "scsi_task_t *",
1477             "scsicmd_t *" },
1478         { "fc", "xfer-done", 3, 3, "fct_i_remote_port_t *",
1479             "fc_port_info_t *" },
1480         { "fc", "xfer-done", 4, 4, "stmf_data_buf_t *",
1481             "fc_xferinfo_t *" },
1482         { "fc", "rscn-receive", 0, 0, "fct_i_local_port_t *",
1483             "conninfo_t *" },
1484         { "fc", "rscn-receive", 1, 1, "int", "int"},
1485         { "fc", "abts-receive", 0, 0, "fct_cmd_t *",
1486             "conninfo_t *" },
1487         { "fc", "abts-receive", 1, 1, "fct_i_local_port_t *",
1488             "fc_port_info_t *" },
1489         { "fc", "abts-receive", 2, 2, "fct_i_remote_port_t *",
1490             "fc_port_info_t *" },
1491 
1492 
1493         { NULL }
1494 };
1495 
1496 /*ARGSUSED*/
1497 int
1498 sdt_mode(void *arg, dtrace_id_t id, void *parg)
1499 {
1500         /*
1501          * We tell DTrace that we're in kernel mode, that the firing needs to
1502          * be dropped for anything that doesn't have necessary privileges, and
1503          * that it needs to be restricted for anything that has restricted
1504          * (i.e., not all-zone) privileges.
1505          */
1506         return (DTRACE_MODE_KERNEL | DTRACE_MODE_NOPRIV_DROP |
1507             DTRACE_MODE_LIMITEDPRIV_RESTRICT);
1508 }
1509 
1510 /*ARGSUSED*/
1511 void
1512 sdt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc)
1513 {
1514         sdt_probe_t *sdp = parg;
1515         int i;
1516 
1517         desc->dtargd_native[0] = '\0';
1518         desc->dtargd_xlate[0] = '\0';
1519 
1520         for (i = 0; sdt_args[i].sda_provider != NULL; i++) {
1521                 sdt_argdesc_t *a = &sdt_args[i];
1522 
1523                 if (strcmp(sdp->sdp_provider->sdtp_name, a->sda_provider) != 0)
1524                         continue;
1525 
1526                 if (a->sda_name != NULL &&
1527                     strcmp(sdp->sdp_name, a->sda_name) != 0)
1528                         continue;
1529 
1530                 if (desc->dtargd_ndx != a->sda_ndx)
1531                         continue;
1532 
1533                 if (a->sda_native != NULL)
1534                         (void) strcpy(desc->dtargd_native, a->sda_native);
1535 
1536                 if (a->sda_xlate != NULL)
1537                         (void) strcpy(desc->dtargd_xlate, a->sda_xlate);
1538 
1539                 desc->dtargd_mapping = a->sda_mapping;
1540                 return;
1541         }
1542 
1543         desc->dtargd_ndx = DTRACE_ARGNONE;
1544 }