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