Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
* Solaris system and DTrace subsystem and are subject to change at any time | * Solaris system and DTrace subsystem and are subject to change at any time | ||||
* without notice. Applications and drivers using these interfaces will fail | * without notice. Applications and drivers using these interfaces will fail | ||||
* to run on future releases. These interfaces should not be used for any | * to run on future releases. These interfaces should not be used for any | ||||
* purpose except those expressly outlined in dtrace(7D) and libdtrace(3LIB). | * purpose except those expressly outlined in dtrace(7D) and libdtrace(3LIB). | ||||
* Please refer to the "Solaris Dynamic Tracing Guide" for more information. | * Please refer to the "Solaris Dynamic Tracing Guide" for more information. | ||||
*/ | */ | ||||
#include <sys/dtrace.h> | #include <sys/dtrace.h> | ||||
#ifndef illumos | #ifndef illumos | ||||
#ifdef __sparcv9 | #ifdef __sparcv9 | ||||
typedef uint32_t pc_t; | typedef uint32_t pc_t; | ||||
#else | #else | ||||
typedef uintptr_t pc_t; | typedef uintptr_t pc_t; | ||||
#endif | #endif | ||||
typedef u_long greg_t; | typedef u_long greg_t; | ||||
#endif | #endif | ||||
/* | /* | ||||
* DTrace Implementation Constants and Typedefs | * DTrace Implementation Constants and Typedefs | ||||
*/ | */ | ||||
#define DTRACE_MAXPROPLEN 128 | #define DTRACE_MAXPROPLEN 128 | ||||
#define DTRACE_DYNVAR_CHUNKSIZE 256 | #define DTRACE_DYNVAR_CHUNKSIZE 256 | ||||
#ifdef __FreeBSD__ | |||||
#define NCPU MAXCPU | |||||
#endif /* __FreeBSD__ */ | |||||
struct dtrace_probe; | struct dtrace_probe; | ||||
struct dtrace_ecb; | struct dtrace_ecb; | ||||
struct dtrace_predicate; | struct dtrace_predicate; | ||||
struct dtrace_action; | struct dtrace_action; | ||||
struct dtrace_provider; | struct dtrace_provider; | ||||
struct dtrace_state; | struct dtrace_state; | ||||
typedef struct dtrace_probe dtrace_probe_t; | typedef struct dtrace_probe dtrace_probe_t; | ||||
▲ Show 20 Lines • Show All 1,088 Lines • ▼ Show 20 Lines | #endif | ||||
char dts_speculates; /* boolean: has speculations */ | char dts_speculates; /* boolean: has speculations */ | ||||
char dts_destructive; /* boolean: has dest. actions */ | char dts_destructive; /* boolean: has dest. actions */ | ||||
int dts_nformats; /* number of formats */ | int dts_nformats; /* number of formats */ | ||||
char **dts_formats; /* format string array */ | char **dts_formats; /* format string array */ | ||||
dtrace_optval_t dts_options[DTRACEOPT_MAX]; /* options */ | dtrace_optval_t dts_options[DTRACEOPT_MAX]; /* options */ | ||||
dtrace_cred_t dts_cred; /* credentials */ | dtrace_cred_t dts_cred; /* credentials */ | ||||
size_t dts_nretained; /* number of retained enabs */ | size_t dts_nretained; /* number of retained enabs */ | ||||
int dts_getf; /* number of getf() calls */ | int dts_getf; /* number of getf() calls */ | ||||
uint64_t dts_rstate[NCPU][2]; /* per-CPU random state */ | |||||
}; | }; | ||||
struct dtrace_provider { | struct dtrace_provider { | ||||
dtrace_pattr_t dtpv_attr; /* provider attributes */ | dtrace_pattr_t dtpv_attr; /* provider attributes */ | ||||
dtrace_ppriv_t dtpv_priv; /* provider privileges */ | dtrace_ppriv_t dtpv_priv; /* provider privileges */ | ||||
dtrace_pops_t dtpv_pops; /* provider operations */ | dtrace_pops_t dtpv_pops; /* provider operations */ | ||||
char *dtpv_name; /* provider name */ | char *dtpv_name; /* provider name */ | ||||
void *dtpv_arg; /* provider argument */ | void *dtpv_arg; /* provider argument */ | ||||
▲ Show 20 Lines • Show All 166 Lines • Show Last 20 Lines |