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