Lines Matching defs:dtrace_hdl

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