Changeset View
Changeset View
Standalone View
Standalone View
stable/12/sys/cddl/compat/opensolaris/kern/opensolaris_kstat.c
Show First 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | kstat_install(kstat_t *ksp) | ||||
u_int i; | u_int i; | ||||
ksent = ksp->ks_data; | ksent = ksp->ks_data; | ||||
for (i = 0; i < ksp->ks_ndata; i++, ksent++) { | for (i = 0; i < ksp->ks_ndata; i++, ksent++) { | ||||
if (ksent->data_type == KSTAT_DATA_STRING) { | if (ksent->data_type == KSTAT_DATA_STRING) { | ||||
SYSCTL_ADD_PROC(&ksp->ks_sysctl_ctx, | SYSCTL_ADD_PROC(&ksp->ks_sysctl_ctx, | ||||
SYSCTL_CHILDREN(ksp->ks_sysctl_root), | SYSCTL_CHILDREN(ksp->ks_sysctl_root), | ||||
OID_AUTO, ksent->name, | OID_AUTO, ksent->name, | ||||
CTLTYPE_STRING | CTLFLAG_RD, ksp, i, | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, | ||||
kstat_sysctl_string, "A", ksent->desc); | ksp, i, kstat_sysctl_string, "A", ksent->desc); | ||||
continue; | continue; | ||||
} | } | ||||
KASSERT(ksent->data_type == KSTAT_DATA_UINT64, | KASSERT(ksent->data_type == KSTAT_DATA_UINT64, | ||||
("data_type=%d", ksent->data_type)); | ("data_type=%d", ksent->data_type)); | ||||
SYSCTL_ADD_PROC(&ksp->ks_sysctl_ctx, | SYSCTL_ADD_PROC(&ksp->ks_sysctl_ctx, | ||||
SYSCTL_CHILDREN(ksp->ks_sysctl_root), OID_AUTO, ksent->name, | SYSCTL_CHILDREN(ksp->ks_sysctl_root), OID_AUTO, ksent->name, | ||||
CTLTYPE_U64 | CTLFLAG_RD, ksp, i, | CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_MPSAFE, | ||||
kstat_sysctl, "QU", ksent->desc); | ksp, i, kstat_sysctl, "QU", ksent->desc); | ||||
} | } | ||||
} | } | ||||
void | void | ||||
kstat_delete(kstat_t *ksp) | kstat_delete(kstat_t *ksp) | ||||
{ | { | ||||
sysctl_ctx_free(&ksp->ks_sysctl_ctx); | sysctl_ctx_free(&ksp->ks_sysctl_ctx); | ||||
Show All 18 Lines |