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 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright 2017 Joyent, Inc.
29 * Copyright (c) 2013 by Delphix. All rights reserved.
30 */
31
32 #ifndef _SYS_DTRACE_H
33 #define _SYS_DTRACE_H
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /*
40 * DTrace Dynamic Tracing Software: Kernel Interfaces
41 *
42 * Note: The contents of this file are private to the implementation of the
43 * Solaris system and DTrace subsystem and are subject to change at any time
44 * without notice. Applications and drivers using these interfaces will fail
45 * to run on future releases. These interfaces should not be used for any
46 * purpose except those expressly outlined in dtrace(7D) and libdtrace(3LIB).
47 * Please refer to the "Solaris Dynamic Tracing Guide" for more information.
48 */
225 #define DIF_VAR_ARG7 0x010d /* eighth argument */
226 #define DIF_VAR_ARG8 0x010e /* ninth argument */
227 #define DIF_VAR_ARG9 0x010f /* tenth argument */
228 #define DIF_VAR_STACKDEPTH 0x0110 /* stack depth */
229 #define DIF_VAR_CALLER 0x0111 /* caller */
230 #define DIF_VAR_PROBEPROV 0x0112 /* probe provider */
231 #define DIF_VAR_PROBEMOD 0x0113 /* probe module */
232 #define DIF_VAR_PROBEFUNC 0x0114 /* probe function */
233 #define DIF_VAR_PROBENAME 0x0115 /* probe name */
234 #define DIF_VAR_PID 0x0116 /* process ID */
235 #define DIF_VAR_TID 0x0117 /* (per-process) thread ID */
236 #define DIF_VAR_EXECNAME 0x0118 /* name of executable */
237 #define DIF_VAR_ZONENAME 0x0119 /* zone name associated with process */
238 #define DIF_VAR_WALLTIMESTAMP 0x011a /* wall-clock timestamp */
239 #define DIF_VAR_USTACKDEPTH 0x011b /* user-land stack depth */
240 #define DIF_VAR_UCALLER 0x011c /* user-level caller */
241 #define DIF_VAR_PPID 0x011d /* parent process ID */
242 #define DIF_VAR_UID 0x011e /* process user ID */
243 #define DIF_VAR_GID 0x011f /* process group ID */
244 #define DIF_VAR_ERRNO 0x0120 /* thread errno */
245
246 #define DIF_SUBR_RAND 0
247 #define DIF_SUBR_MUTEX_OWNED 1
248 #define DIF_SUBR_MUTEX_OWNER 2
249 #define DIF_SUBR_MUTEX_TYPE_ADAPTIVE 3
250 #define DIF_SUBR_MUTEX_TYPE_SPIN 4
251 #define DIF_SUBR_RW_READ_HELD 5
252 #define DIF_SUBR_RW_WRITE_HELD 6
253 #define DIF_SUBR_RW_ISWRITER 7
254 #define DIF_SUBR_COPYIN 8
255 #define DIF_SUBR_COPYINSTR 9
256 #define DIF_SUBR_SPECULATION 10
257 #define DIF_SUBR_PROGENYOF 11
258 #define DIF_SUBR_STRLEN 12
259 #define DIF_SUBR_COPYOUT 13
260 #define DIF_SUBR_COPYOUTSTR 14
261 #define DIF_SUBR_ALLOCA 15
262 #define DIF_SUBR_BCOPY 16
263 #define DIF_SUBR_COPYINTO 17
264 #define DIF_SUBR_MSGDSIZE 18
|
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 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright 2018 Joyent, Inc.
29 * Copyright (c) 2013 by Delphix. All rights reserved.
30 */
31
32 #ifndef _SYS_DTRACE_H
33 #define _SYS_DTRACE_H
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /*
40 * DTrace Dynamic Tracing Software: Kernel Interfaces
41 *
42 * Note: The contents of this file are private to the implementation of the
43 * Solaris system and DTrace subsystem and are subject to change at any time
44 * without notice. Applications and drivers using these interfaces will fail
45 * to run on future releases. These interfaces should not be used for any
46 * purpose except those expressly outlined in dtrace(7D) and libdtrace(3LIB).
47 * Please refer to the "Solaris Dynamic Tracing Guide" for more information.
48 */
225 #define DIF_VAR_ARG7 0x010d /* eighth argument */
226 #define DIF_VAR_ARG8 0x010e /* ninth argument */
227 #define DIF_VAR_ARG9 0x010f /* tenth argument */
228 #define DIF_VAR_STACKDEPTH 0x0110 /* stack depth */
229 #define DIF_VAR_CALLER 0x0111 /* caller */
230 #define DIF_VAR_PROBEPROV 0x0112 /* probe provider */
231 #define DIF_VAR_PROBEMOD 0x0113 /* probe module */
232 #define DIF_VAR_PROBEFUNC 0x0114 /* probe function */
233 #define DIF_VAR_PROBENAME 0x0115 /* probe name */
234 #define DIF_VAR_PID 0x0116 /* process ID */
235 #define DIF_VAR_TID 0x0117 /* (per-process) thread ID */
236 #define DIF_VAR_EXECNAME 0x0118 /* name of executable */
237 #define DIF_VAR_ZONENAME 0x0119 /* zone name associated with process */
238 #define DIF_VAR_WALLTIMESTAMP 0x011a /* wall-clock timestamp */
239 #define DIF_VAR_USTACKDEPTH 0x011b /* user-land stack depth */
240 #define DIF_VAR_UCALLER 0x011c /* user-level caller */
241 #define DIF_VAR_PPID 0x011d /* parent process ID */
242 #define DIF_VAR_UID 0x011e /* process user ID */
243 #define DIF_VAR_GID 0x011f /* process group ID */
244 #define DIF_VAR_ERRNO 0x0120 /* thread errno */
245 #define DIF_VAR_THREADNAME 0x0121 /* thread name */
246
247 #define DIF_SUBR_RAND 0
248 #define DIF_SUBR_MUTEX_OWNED 1
249 #define DIF_SUBR_MUTEX_OWNER 2
250 #define DIF_SUBR_MUTEX_TYPE_ADAPTIVE 3
251 #define DIF_SUBR_MUTEX_TYPE_SPIN 4
252 #define DIF_SUBR_RW_READ_HELD 5
253 #define DIF_SUBR_RW_WRITE_HELD 6
254 #define DIF_SUBR_RW_ISWRITER 7
255 #define DIF_SUBR_COPYIN 8
256 #define DIF_SUBR_COPYINSTR 9
257 #define DIF_SUBR_SPECULATION 10
258 #define DIF_SUBR_PROGENYOF 11
259 #define DIF_SUBR_STRLEN 12
260 #define DIF_SUBR_COPYOUT 13
261 #define DIF_SUBR_COPYOUTSTR 14
262 #define DIF_SUBR_ALLOCA 15
263 #define DIF_SUBR_BCOPY 16
264 #define DIF_SUBR_COPYINTO 17
265 #define DIF_SUBR_MSGDSIZE 18
|