Lines Matching refs:dtp

52 dtrace_handle_err(dtrace_hdl_t *dtp, dtrace_handle_err_f *hdlr, void *arg)
61 if (dtp->dt_errhdlr != NULL)
62 return (dt_set_errno(dtp, EALREADY));
69 if (dtp->dt_options[DTRACEOPT_GRABANON] != DTRACEOPT_UNSET)
72 if ((pgp = dtrace_program_strcompile(dtp, _dt_errprog,
74 return (dt_set_errno(dtp, dtrace_errno(dtp)));
84 dtp->dt_errhdlr = hdlr;
85 dtp->dt_errarg = arg;
86 dtp->dt_errprog = pgp;
92 dtrace_handle_drop(dtrace_hdl_t *dtp, dtrace_handle_drop_f *hdlr, void *arg)
94 if (dtp->dt_drophdlr != NULL)
95 return (dt_set_errno(dtp, EALREADY));
97 dtp->dt_drophdlr = hdlr;
98 dtp->dt_droparg = arg;
104 dtrace_handle_proc(dtrace_hdl_t *dtp, dtrace_handle_proc_f *hdlr, void *arg)
106 if (dtp->dt_prochdlr != NULL)
107 return (dt_set_errno(dtp, EALREADY));
109 dtp->dt_prochdlr = hdlr;
110 dtp->dt_procarg = arg;
116 dtrace_handle_buffered(dtrace_hdl_t *dtp, dtrace_handle_buffered_f *hdlr,
119 if (dtp->dt_bufhdlr != NULL)
120 return (dt_set_errno(dtp, EALREADY));
123 return (dt_set_errno(dtp, EINVAL));
125 dtp->dt_bufhdlr = hdlr;
126 dtp->dt_bufarg = arg;
132 dtrace_handle_setopt(dtrace_hdl_t *dtp, dtrace_handle_setopt_f *hdlr,
136 return (dt_set_errno(dtp, EINVAL));
138 dtp->dt_setopthdlr = hdlr;
139 dtp->dt_setoptarg = arg;
148 dt_handle_err(dtrace_hdl_t *dtp, dtrace_probedata_t *data)
167 return (dt_set_errno(dtp, EDT_BADERROR));
175 if (dt_epid_lookup(dtp, epid, &errepd, &errpd) != 0)
176 return (dt_set_errno(dtp, EDT_BADERROR));
186 faultstr = dtrace_faultstr(dtp, err.dteda_fault);
222 errpd->dtpd_name, dtrace_faultstr(dtp, err.dteda_fault),
227 if (dtp->dt_errhdlr == NULL)
228 return (dt_set_errno(dtp, EDT_ERRABORT));
230 if ((*dtp->dt_errhdlr)(&err, dtp->dt_errarg) == DTRACE_HANDLE_ABORT)
231 return (dt_set_errno(dtp, EDT_ERRABORT));
237 dt_handle_liberr(dtrace_hdl_t *dtp, const dtrace_probedata_t *data,
270 if (dtp->dt_errhdlr == NULL)
271 return (dt_set_errno(dtp, EDT_ERRABORT));
273 if ((*dtp->dt_errhdlr)(&err, dtp->dt_errarg) == DTRACE_HANDLE_ABORT)
274 return (dt_set_errno(dtp, EDT_ERRABORT));
312 dt_handle_cpudrop(dtrace_hdl_t *dtp, processorid_t cpu,
322 drop.dtdda_handle = dtp;
328 if (dtp->dt_droptags) {
342 if (dtp->dt_drophdlr == NULL)
343 return (dt_set_errno(dtp, EDT_DROPABORT));
345 if ((*dtp->dt_drophdlr)(&drop, dtp->dt_droparg) == DTRACE_HANDLE_ABORT)
346 return (dt_set_errno(dtp, EDT_DROPABORT));
393 dt_handle_status(dtrace_hdl_t *dtp, dtrace_status_t *old, dtrace_status_t *new)
401 drop.dtdda_handle = dtp;
409 return (dt_set_errno(dtp, EDT_BRICKED));
421 if (dtp->dt_droptags) {
441 if (dtp->dt_drophdlr == NULL)
442 return (dt_set_errno(dtp, EDT_DROPABORT));
444 if ((*dtp->dt_drophdlr)(&drop,
445 dtp->dt_droparg) == DTRACE_HANDLE_ABORT)
446 return (dt_set_errno(dtp, EDT_DROPABORT));
453 dt_handle_setopt(dtrace_hdl_t *dtp, dtrace_setoptdata_t *data)
455 void *arg = dtp->dt_setoptarg;
457 if (dtp->dt_setopthdlr == NULL)
460 if ((*dtp->dt_setopthdlr)(data, arg) == DTRACE_HANDLE_ABORT)
461 return (dt_set_errno(dtp, EDT_DIRABORT));
467 dt_handle(dtrace_hdl_t *dtp, dtrace_probedata_t *data)
474 rval = dt_handle_err(dtp, data);