Lines Matching defs:dtrace_hdl
207 struct dtrace_hdl { struct
208 const dtrace_vector_t *dt_vector; /* library vector, if vectored open */
209 void *dt_varg; /* vector argument, if vectored open */
210 dtrace_conf_t dt_conf; /* DTrace driver configuration profile */
211 char dt_errmsg[BUFSIZ]; /* buffer for formatted syntax error msgs */
212 const char *dt_errtag; /* tag used with last call to dt_set_errmsg() */
213 dt_pcb_t *dt_pcb; /* pointer to current parsing control block */
214 ulong_t dt_gen; /* compiler generation number */
215 dt_list_t dt_programs; /* linked list of dtrace_prog_t's */
216 dt_list_t dt_xlators; /* linked list of dt_xlator_t's */
217 struct dt_xlator **dt_xlatormap; /* dt_xlator_t's indexed by dx_id */
218 id_t dt_xlatorid; /* next dt_xlator_t id to assign */
219 dt_ident_t *dt_externs; /* linked list of external symbol identifiers */
220 dt_idhash_t *dt_macros; /* hash table of macro variable identifiers */
221 dt_idhash_t *dt_aggs; /* hash table of aggregation identifiers */
222 dt_idhash_t *dt_globals; /* hash table of global identifiers */
223 dt_idhash_t *dt_tls; /* hash table of thread-local identifiers */
224 dt_list_t dt_modlist; /* linked list of dt_module_t's */
225 dt_module_t **dt_mods; /* hash table of dt_module_t's */
226 uint_t dt_modbuckets; /* number of module hash buckets */
227 uint_t dt_nmods; /* number of modules in hash and list */
228 dt_provmod_t *dt_provmod; /* linked list of provider modules */
229 dt_module_t *dt_exec; /* pointer to executable module */
230 dt_module_t *dt_rtld; /* pointer to run-time linker module */
231 dt_module_t *dt_cdefs; /* pointer to C dynamic type module */
232 dt_module_t *dt_ddefs; /* pointer to D dynamic type module */
233 dt_list_t dt_provlist; /* linked list of dt_provider_t's */
234 struct dt_provider **dt_provs; /* hash table of dt_provider_t's */
235 uint_t dt_provbuckets; /* number of provider hash buckets */
236 uint_t dt_nprovs; /* number of providers in hash and list */
237 dt_proc_hash_t *dt_procs; /* hash table of grabbed process handles */
238 char **dt_proc_env; /* additional environment variables */
239 dt_intdesc_t dt_ints[6]; /* cached integer type descriptions */
240 ctf_id_t dt_type_func; /* cached CTF identifier for function type */
241 ctf_id_t dt_type_fptr; /* cached CTF identifier for function pointer */
242 ctf_id_t dt_type_str; /* cached CTF identifier for string type */
243 ctf_id_t dt_type_dyn; /* cached CTF identifier for <DYN> type */
244 ctf_id_t dt_type_stack; /* cached CTF identifier for stack type */
245 ctf_id_t dt_type_symaddr; /* cached CTF identifier for _symaddr type */
246 ctf_id_t dt_type_usymaddr; /* cached CTF ident. for _usymaddr type */
247 size_t dt_maxprobe; /* max enabled probe ID */
248 dtrace_eprobedesc_t **dt_edesc; /* enabled probe descriptions */
249 dtrace_probedesc_t **dt_pdesc; /* probe descriptions for enabled prbs */
250 size_t dt_maxagg; /* max aggregation ID */
251 dtrace_aggdesc_t **dt_aggdesc; /* aggregation descriptions */
252 int dt_maxformat; /* max format ID */
253 void **dt_formats; /* pointer to format array */
254 int dt_maxstrdata; /* max strdata ID */
255 char **dt_strdata; /* pointer to strdata array */
256 dt_aggregate_t dt_aggregate; /* aggregate */
257 dt_pq_t *dt_bufq; /* CPU-specific data queue */
258 struct dt_pfdict *dt_pfdict; /* dictionary of printf conversions */
259 dt_version_t dt_vmax; /* optional ceiling on program API binding */
260 dtrace_attribute_t dt_amin; /* optional floor on program attributes */
261 char *dt_cpp_path; /* pathname of cpp(1) to invoke if needed */
262 char **dt_cpp_argv; /* argument vector for exec'ing cpp(1) */
263 int dt_cpp_argc; /* count of initialized cpp(1) arguments */
264 int dt_cpp_args; /* size of dt_cpp_argv[] array */
265 char *dt_ld_path; /* pathname of ld(1) to invoke if needed */
266 dt_list_t dt_lib_path; /* linked-list forming library search path */
267 uint_t dt_lazyload; /* boolean: set via -xlazyload */
268 uint_t dt_droptags; /* boolean: set via -xdroptags */
269 uint_t dt_active; /* boolean: set once tracing is active */
270 uint_t dt_stopped; /* boolean: set once tracing is stopped */
271 processorid_t dt_beganon; /* CPU that executed BEGIN probe (if any) */
272 processorid_t dt_endedon; /* CPU that executed END probe (if any) */
273 uint_t dt_oflags; /* dtrace open-time options (see dtrace.h) */
274 uint_t dt_cflags; /* dtrace compile-time options (see dtrace.h) */
275 uint_t dt_dflags; /* dtrace link-time options (see dtrace.h) */
276 uint_t dt_prcmode; /* dtrace process create mode (see dt_proc.h) */
277 uint_t dt_linkmode; /* dtrace symbol linking mode (see below) */
278 uint_t dt_linktype; /* dtrace link output file type (see below) */
279 uint_t dt_xlatemode; /* dtrace translator linking mode (see below) */
280 uint_t dt_stdcmode; /* dtrace stdc compatibility mode (see below) */
281 uint_t dt_encoding; /* dtrace output encoding (see below) */
282 uint_t dt_treedump; /* dtrace tree debug bitmap (see below) */
283 uint64_t dt_options[DTRACEOPT_MAX]; /* dtrace run-time options */
284 int dt_version; /* library version requested by client */
285 int dt_ctferr; /* error resulting from last CTF failure */
286 int dt_errno; /* error resulting from last failed operation */
287 int dt_fd; /* file descriptor for dtrace pseudo-device */
288 int dt_ftfd; /* file descriptor for fasttrap pseudo-device */
289 int dt_fterr; /* saved errno from failed open of dt_ftfd */
290 int dt_cdefs_fd; /* file descriptor for C CTF debugging cache */
291 int dt_ddefs_fd; /* file descriptor for D CTF debugging cache */
292 int dt_stdout_fd; /* file descriptor for saved stdout */
293 dtrace_handle_err_f *dt_errhdlr; /* error handler, if any */
294 void *dt_errarg; /* error handler argument */
295 dtrace_prog_t *dt_errprog; /* error handler program, if any */
296 dtrace_handle_drop_f *dt_drophdlr; /* drop handler, if any */
297 void *dt_droparg; /* drop handler argument */
298 dtrace_handle_proc_f *dt_prochdlr; /* proc handler, if any */
299 void *dt_procarg; /* proc handler argument */
300 dtrace_handle_setopt_f *dt_setopthdlr; /* setopt handler, if any */
301 void *dt_setoptarg; /* setopt handler argument */
302 dtrace_status_t dt_status[2]; /* status cache */
303 int dt_statusgen; /* current status generation */
304 hrtime_t dt_laststatus; /* last status */
305 hrtime_t dt_lastswitch; /* last switch of buffer data */
306 hrtime_t dt_lastagg; /* last snapshot of aggregation data */
307 char *dt_sprintf_buf; /* buffer for dtrace_sprintf() */
308 int dt_sprintf_buflen; /* length of dtrace_sprintf() buffer */
309 const char *dt_filetag; /* default filetag for dt_set_errmsg() */
310 char *dt_buffered_buf; /* buffer for buffered output */
311 size_t dt_buffered_offs; /* current offset into buffered buffer */
312 size_t dt_buffered_size; /* size of buffered buffer */
313 dtrace_handle_buffered_f *dt_bufhdlr; /* buffered handler, if any */
314 void *dt_bufarg; /* buffered handler argument */
315 dt_dof_t dt_dof; /* DOF generation buffers (see dt_dof.c) */
316 struct utsname dt_uts; /* uname(2) information for system */
317 dt_list_t dt_lib_dep; /* scratch linked-list of lib dependencies */
318 dt_list_t dt_lib_dep_sorted; /* dependency sorted library list */
319 dtrace_flowkind_t dt_flow; /* flow kind */
320 const char *dt_prefix; /* recommended flow prefix */
321 int dt_indent; /* recommended flow indent */
322 dtrace_epid_t dt_last_epid; /* most recently consumed EPID */
323 uint64_t dt_last_timestamp; /* most recently consumed timestamp */
324 boolean_t dt_has_sugar; /* syntactic sugar used? */