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