dtrace_provider
static int dtrace_provider(di_minor_t minor, di_node_t node);
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
TYPE_EXACT | DRV_EXACT, ILEVEL_0, dtrace_provider },
(probe != NULL && probe->dtpr_provider == dtrace_provider)) {
prv = dtrace_provider;
probe->dtpr_provider == dtrace_provider) {
probe->dtpr_provider == dtrace_provider) {
for (prv = dtrace_provider; prv != NULL; prv = prv->dtpv_next)
ASSERT(dtrace_provider != NULL);
ASSERT((dtrace_provider_id_t)dtrace_provider == id);
dtrace_provider, NULL, NULL, "BEGIN", 0, NULL);
dtrace_provider, NULL, NULL, "END", 0, NULL);
dtrace_provider, NULL, NULL, "ERROR", 1, NULL);
for (pvp = dtrace_provider; pvp != NULL; pvp = pvp->dtpv_next) {
static dtrace_provider_t *dtrace_provider; /* provider list */
if (dtrace_unregister((dtrace_provider_id_t)dtrace_provider) != 0) {
dtrace_provider = NULL;
if (prov == dtrace_provider) {
if (prov != dtrace_provider)
provider->dtpv_next = dtrace_provider;
dtrace_provider = provider;
if (dtrace_provider != NULL) {
provider->dtpv_next = dtrace_provider->dtpv_next;
dtrace_provider->dtpv_next = provider;
dtrace_provider = provider;
ASSERT(old == dtrace_provider);
if (dtrace_provider->dtpv_next != NULL) {
if ((prev = dtrace_provider) == old) {
dtrace_provider = old->dtpv_next;
return (dtrace_provider != NULL);
if (provider == dtrace_provider) {
if (provider != dtrace_provider)
prv = dtrace_provider;
struct dtrace_provider *dtpv_next; /* next provider */
struct dtrace_provider;
typedef struct dtrace_provider dtrace_provider_t;