Lines Matching refs:oid
165 sysctl_root_handler_locked(struct sysctl_oid *oid, void *arg1, intmax_t arg2, in sysctl_root_handler_locked() argument
170 if (oid->oid_kind & CTLFLAG_DYN) in sysctl_root_handler_locked()
171 atomic_add_int(&oid->oid_running, 1); in sysctl_root_handler_locked()
182 if ((oid->oid_kind & CTLFLAG_NEEDGIANT) || in sysctl_root_handler_locked()
183 (!(oid->oid_kind & CTLFLAG_MPSAFE))) in sysctl_root_handler_locked()
185 error = oid->oid_handler(oid, arg1, arg2, req); in sysctl_root_handler_locked()
186 if ((oid->oid_kind & CTLFLAG_NEEDGIANT) || in sysctl_root_handler_locked()
187 (!(oid->oid_kind & CTLFLAG_MPSAFE))) in sysctl_root_handler_locked()
197 if (oid->oid_kind & CTLFLAG_DYN) { in sysctl_root_handler_locked()
198 if (atomic_fetchadd_int(&oid->oid_running, -1) == 1 && in sysctl_root_handler_locked()
199 (oid->oid_kind & CTLFLAG_DYING) != 0) in sysctl_root_handler_locked()
200 wakeup(&oid->oid_running); in sysctl_root_handler_locked()
941 sysctl_move_oid(struct sysctl_oid *oid, struct sysctl_oid_list *parent) in sysctl_move_oid() argument
946 if (oid->oid_parent == parent) { in sysctl_move_oid()
950 oidp = sysctl_find_oidname(oid->oid_name, parent); in sysctl_move_oid()
955 sysctl_unregister_oid(oid); in sysctl_move_oid()
956 oid->oid_parent = parent; in sysctl_move_oid()
957 oid->oid_number = OID_AUTO; in sysctl_move_oid()
958 sysctl_register_oid(oid); in sysctl_move_oid()
1084 struct sysctl_oid *oid; in sysctl_sysctl_name() local
1108 SLIST_FOREACH(oid, lsp, oid_link) { in sysctl_sysctl_name()
1109 if (oid->oid_number != *name) in sysctl_sysctl_name()
1115 error = SYSCTL_OUT(req, oid->oid_name, in sysctl_sysctl_name()
1116 strlen(oid->oid_name)); in sysctl_sysctl_name()
1123 if ((oid->oid_kind & CTLTYPE) != CTLTYPE_NODE) in sysctl_sysctl_name()
1126 if (oid->oid_handler) in sysctl_sysctl_name()
1129 lsp2 = SYSCTL_CHILDREN(oid); in sysctl_sysctl_name()
1324 name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp) in name2oid() argument
1342 *oid++ = oidp->oid_number; in name2oid()
1366 int error, oid[CTL_MAXNAME], len = 0; in sysctl_sysctl_name2oid() local
1390 error = name2oid(p, oid, &len, &op); in sysctl_sysctl_name2oid()
1399 error = SYSCTL_OUT(req, oid, len * sizeof *oid); in sysctl_sysctl_name2oid()
1414 struct sysctl_oid *oid; in sysctl_sysctl_oidfmt() local
1423 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidfmt()
1427 if (oid->oid_fmt == NULL) { in sysctl_sysctl_oidfmt()
1431 error = SYSCTL_OUT(req, &oid->oid_kind, sizeof(oid->oid_kind)); in sysctl_sysctl_oidfmt()
1434 error = SYSCTL_OUT(req, oid->oid_fmt, strlen(oid->oid_fmt) + 1); in sysctl_sysctl_oidfmt()
1446 struct sysctl_oid *oid; in sysctl_sysctl_oiddescr() local
1455 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oiddescr()
1459 if (oid->oid_descr == NULL) { in sysctl_sysctl_oiddescr()
1463 error = SYSCTL_OUT(req, oid->oid_descr, strlen(oid->oid_descr) + 1); in sysctl_sysctl_oiddescr()
1475 struct sysctl_oid *oid; in sysctl_sysctl_oidlabel() local
1484 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidlabel()
1488 if (oid->oid_label == NULL) { in sysctl_sysctl_oidlabel()
1492 error = SYSCTL_OUT(req, oid->oid_label, strlen(oid->oid_label) + 1); in sysctl_sysctl_oidlabel()
2056 int oid[CTL_MAXNAME]; in kernel_sysctlbyname() local
2060 oid[0] = CTL_SYSCTL; in kernel_sysctlbyname()
2061 oid[1] = CTL_SYSCTL_NAME2OID; in kernel_sysctlbyname()
2062 oidlen = sizeof(oid); in kernel_sysctlbyname()
2064 error = kernel_sysctl(td, oid, 2, oid, &oidlen, in kernel_sysctlbyname()
2069 error = kernel_sysctl(td, oid, plen / sizeof(int), old, oldlenp, in kernel_sysctlbyname()
2164 struct sysctl_oid *oid; in sysctl_find_oid() local
2171 SLIST_FOREACH(oid, lsp, oid_link) { in sysctl_find_oid()
2172 if (oid->oid_number == name[indx]) in sysctl_find_oid()
2175 if (oid == NULL) in sysctl_find_oid()
2179 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) { in sysctl_find_oid()
2180 if (oid->oid_handler != NULL || indx == namelen) { in sysctl_find_oid()
2181 *noid = oid; in sysctl_find_oid()
2184 KASSERT((oid->oid_kind & CTLFLAG_DYING) == 0, in sysctl_find_oid()
2185 ("%s found DYING node %p", __func__, oid)); in sysctl_find_oid()
2188 lsp = SYSCTL_CHILDREN(oid); in sysctl_find_oid()
2190 if ((oid->oid_kind & CTLFLAG_DORMANT) != 0) in sysctl_find_oid()
2192 *noid = oid; in sysctl_find_oid()
2195 KASSERT((oid->oid_kind & CTLFLAG_DYING) == 0, in sysctl_find_oid()
2196 ("%s found DYING node %p", __func__, oid)); in sysctl_find_oid()
2213 struct sysctl_oid *oid; in sysctl_root() local
2219 error = sysctl_find_oid(arg1, arg2, &oid, &indx, req); in sysctl_root()
2223 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) { in sysctl_root()
2229 if (oid->oid_handler == NULL) { in sysctl_root()
2236 if (req->newptr && !(oid->oid_kind & CTLFLAG_WR)) { in sysctl_root()
2249 if ((req->oldptr && !(oid->oid_kind & CTLFLAG_CAPRD)) || in sysctl_root()
2250 (req->newptr && !(oid->oid_kind & CTLFLAG_CAPWR))) { in sysctl_root()
2258 if (req->newptr && (oid->oid_kind & CTLFLAG_SECURE)) { in sysctl_root()
2259 lvl = (oid->oid_kind & CTLMASK_SECURE) >> CTLSHIFT_SECURE; in sysctl_root()
2266 if (req->newptr && !(oid->oid_kind & CTLFLAG_ANYBODY)) { in sysctl_root()
2269 if (oid->oid_kind & CTLFLAG_PRISON) in sysctl_root()
2272 else if ((oid->oid_kind & CTLFLAG_VNET) && in sysctl_root()
2283 if (!oid->oid_handler) { in sysctl_root()
2288 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) { in sysctl_root()
2292 arg1 = oid->oid_arg1; in sysctl_root()
2293 arg2 = oid->oid_arg2; in sysctl_root()
2296 error = mac_system_check_sysctl(req->td->td_ucred, oid, arg1, arg2, in sysctl_root()
2302 if ((oid->oid_kind & CTLFLAG_VNET) && arg1 != NULL) in sysctl_root()
2305 error = sysctl_root_handler_locked(oid, arg1, arg2, req, &tracker); in sysctl_root()
2353 int oid[CTL_MAXNAME]; in kern___sysctlbyname() local
2368 oid[0] = CTL_SYSCTL; in kern___sysctlbyname()
2369 oid[1] = CTL_SYSCTL_NAME2OID; in kern___sysctlbyname()
2370 oidlen = sizeof(oid); in kern___sysctlbyname()
2371 error = kernel_sysctl(td, oid, 2, oid, &oidlen, (void *)name, namelen, in kern___sysctlbyname()
2375 error = userland_sysctl(td, oid, *retval / sizeof(int), old, oldlenp, in kern___sysctlbyname()
2773 db_show_oid_name(int *oid, size_t nlen) in db_show_oid_name() argument
2780 memcpy(qoid + 2, oid, nlen * sizeof(int)); in db_show_oid_name()
2811 db_show_oid(struct sysctl_oid *oidp, int *oid, size_t nlen, int flags) in db_show_oid() argument
2826 db_show_oid_name(oid, nlen); in db_show_oid()
2832 db_show_oid_name(oid, nlen); in db_show_oid()
2844 error = db_sysctl(oidp, oid, nlen, in db_show_oid()
2851 error = db_sysctl(oidp, oid, nlen, in db_show_oid()
2864 db_show_sysctl_all(int *oid, size_t len, int flags) in db_show_sysctl_all() argument
2874 memcpy(name1 + 2, oid, len * sizeof(int)); in db_show_sysctl_all()
2899 if (name2[i] != oid[i]) in db_show_sysctl_all()
2924 int oid[CTL_MAXNAME]; in db_sysctlbyname() local
2927 error = name2oid(name, oid, &nlen, &oidp); in db_sysctlbyname()
2933 db_show_sysctl_all(oid, nlen, flags); in db_sysctlbyname()
2935 error = db_show_oid(oidp, oid, nlen, flags); in db_sysctlbyname()