Lines Matching defs:dtp
50 dtrace_handle_err(dtrace_hdl_t *dtp, dtrace_handle_err_f *hdlr, void *arg)
59 if (dtp->dt_errhdlr != NULL)
60 return (dt_set_errno(dtp, EALREADY));
67 if (dtp->dt_options[DTRACEOPT_GRABANON] != DTRACEOPT_UNSET)
70 if ((pgp = dtrace_program_strcompile(dtp, _dt_errprog,
72 return (dt_set_errno(dtp, dtrace_errno(dtp)));
82 dtp->dt_errhdlr = hdlr;
83 dtp->dt_errarg = arg;
84 dtp->dt_errprog = pgp;
90 dtrace_handle_drop(dtrace_hdl_t *dtp, dtrace_handle_drop_f *hdlr, void *arg)
92 if (dtp->dt_drophdlr != NULL)
93 return (dt_set_errno(dtp, EALREADY));
95 dtp->dt_drophdlr = hdlr;
96 dtp->dt_droparg = arg;
102 dtrace_handle_proc(dtrace_hdl_t *dtp, dtrace_handle_proc_f *hdlr, void *arg)
104 if (dtp->dt_prochdlr != NULL)
105 return (dt_set_errno(dtp, EALREADY));
107 dtp->dt_prochdlr = hdlr;
108 dtp->dt_procarg = arg;
114 dtrace_handle_buffered(dtrace_hdl_t *dtp, dtrace_handle_buffered_f *hdlr,
117 if (dtp->dt_bufhdlr != NULL)
118 return (dt_set_errno(dtp, EALREADY));
121 return (dt_set_errno(dtp, EINVAL));
123 dtp->dt_bufhdlr = hdlr;
124 dtp->dt_bufarg = arg;
130 dtrace_handle_setopt(dtrace_hdl_t *dtp, dtrace_handle_setopt_f *hdlr,
134 return (dt_set_errno(dtp, EINVAL));
136 dtp->dt_setopthdlr = hdlr;
137 dtp->dt_setoptarg = arg;
146 dt_handle_err(dtrace_hdl_t *dtp, dtrace_probedata_t *data)
165 return (dt_set_errno(dtp, EDT_BADERROR));
173 if (dt_epid_lookup(dtp, epid, &errepd, &errpd) != 0)
174 return (dt_set_errno(dtp, EDT_BADERROR));
184 faultstr = dtrace_faultstr(dtp, err.dteda_fault);
220 errpd->dtpd_name, dtrace_faultstr(dtp, err.dteda_fault),
225 if (dtp->dt_errhdlr == NULL)
226 return (dt_set_errno(dtp, EDT_ERRABORT));
228 if ((*dtp->dt_errhdlr)(&err, dtp->dt_errarg) == DTRACE_HANDLE_ABORT)
229 return (dt_set_errno(dtp, EDT_ERRABORT));
235 dt_handle_liberr(dtrace_hdl_t *dtp, const dtrace_probedata_t *data,
268 if (dtp->dt_errhdlr == NULL)
269 return (dt_set_errno(dtp, EDT_ERRABORT));
271 if ((*dtp->dt_errhdlr)(&err, dtp->dt_errarg) == DTRACE_HANDLE_ABORT)
272 return (dt_set_errno(dtp, EDT_ERRABORT));
310 dt_handle_cpudrop(dtrace_hdl_t *dtp, processorid_t cpu,
320 drop.dtdda_handle = dtp;
326 if (dtp->dt_droptags) {
339 if (dtp->dt_drophdlr == NULL)
340 return (dt_set_errno(dtp, EDT_DROPABORT));
342 if ((*dtp->dt_drophdlr)(&drop, dtp->dt_droparg) == DTRACE_HANDLE_ABORT)
343 return (dt_set_errno(dtp, EDT_DROPABORT));
390 dt_handle_status(dtrace_hdl_t *dtp, dtrace_status_t *old, dtrace_status_t *new)
398 drop.dtdda_handle = dtp;
406 return (dt_set_errno(dtp, EDT_BRICKED));
418 if (dtp->dt_droptags) {
437 if (dtp->dt_drophdlr == NULL)
438 return (dt_set_errno(dtp, EDT_DROPABORT));
440 if ((*dtp->dt_drophdlr)(&drop,
441 dtp->dt_droparg) == DTRACE_HANDLE_ABORT)
442 return (dt_set_errno(dtp, EDT_DROPABORT));
449 dt_handle_setopt(dtrace_hdl_t *dtp, dtrace_setoptdata_t *data)
451 void *arg = dtp->dt_setoptarg;
453 if (dtp->dt_setopthdlr == NULL)
456 if ((*dtp->dt_setopthdlr)(data, arg) == DTRACE_HANDLE_ABORT)
457 return (dt_set_errno(dtp, EDT_DIRABORT));
463 dt_handle(dtrace_hdl_t *dtp, dtrace_probedata_t *data)
470 rval = dt_handle_err(dtp, data);