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