Lines Matching refs:oid

147 	 * First check if another oid with the same name already
162 * If this oid has a number OID_AUTO, give it a number which
163 * is greater than any current oid.
178 printf("static sysctl oid too high: %d", oidp->oid_number);
183 * Insert the oid into the parent's list in order.
510 /* Register this oid */
517 * Rename an existing oid.
534 * Reparent an existing oid.
537 sysctl_move_oid(struct sysctl_oid *oid, struct sysctl_oid_list *parent)
542 if (oid->oid_parent == parent) {
546 oidp = sysctl_find_oidname(oid->oid_name, parent);
551 sysctl_unregister_oid(oid);
552 oid->oid_parent = parent;
553 oid->oid_number = OID_AUTO;
554 sysctl_register_oid(oid);
665 struct sysctl_oid *oid;
684 SLIST_FOREACH(oid, lsp, oid_link) {
685 if (oid->oid_number != *name)
691 error = SYSCTL_OUT(req, oid->oid_name,
692 strlen(oid->oid_name));
699 if ((oid->oid_kind & CTLTYPE) != CTLTYPE_NODE)
702 if (oid->oid_handler)
705 lsp2 = SYSCTL_CHILDREN(oid);
789 struct sysctl_oid *oid;
794 i = sysctl_sysctl_next_ls(lsp, name, namelen, newoid, &j, 1, &oid);
810 name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp)
828 *oid++ = oidp->oid_number;
852 int error, oid[CTL_MAXNAME], len = 0;
871 error = name2oid(p, oid, &len, &op);
879 error = SYSCTL_OUT(req, oid, len * sizeof *oid);
894 struct sysctl_oid *oid;
898 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req);
902 if (oid->oid_fmt == NULL) {
906 error = SYSCTL_OUT(req, &oid->oid_kind, sizeof(oid->oid_kind));
909 error = SYSCTL_OUT(req, oid->oid_fmt, strlen(oid->oid_fmt) + 1);
922 struct sysctl_oid *oid;
926 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req);
930 if (oid->oid_descr == NULL) {
934 error = SYSCTL_OUT(req, oid->oid_descr, strlen(oid->oid_descr) + 1);
1253 int oid[CTL_MAXNAME];
1257 oid[0] = 0; /* sysctl internal magic */
1258 oid[1] = 3; /* name2oid */
1259 oidlen = sizeof(oid);
1261 error = kernel_sysctl(td, oid, 2, oid, &oidlen,
1266 error = kernel_sysctl(td, oid, plen / sizeof(int), old, oldlenp,
1361 struct sysctl_oid *oid;
1368 SLIST_FOREACH(oid, lsp, oid_link) {
1369 if (oid->oid_number == name[indx])
1372 if (oid == NULL)
1376 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) {
1377 if (oid->oid_handler != NULL || indx == namelen) {
1378 *noid = oid;
1381 KASSERT((oid->oid_kind & CTLFLAG_DYING) == 0,
1382 ("%s found DYING node %p", __func__, oid));
1385 lsp = SYSCTL_CHILDREN(oid);
1387 *noid = oid;
1390 KASSERT((oid->oid_kind & CTLFLAG_DYING) == 0,
1391 ("%s found DYING node %p", __func__, oid));
1408 struct sysctl_oid *oid;
1413 error = sysctl_find_oid(arg1, arg2, &oid, &indx, req);
1417 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) {
1423 if (oid->oid_handler == NULL)
1428 if (req->newptr && !(oid->oid_kind & CTLFLAG_WR))
1439 if (req->oldptr && !(oid->oid_kind & CTLFLAG_CAPRD))
1441 if (req->newptr && !(oid->oid_kind & CTLFLAG_CAPWR))
1447 if (req->newptr && (oid->oid_kind & CTLFLAG_SECURE)) {
1448 lvl = (oid->oid_kind & CTLMASK_SECURE) >> CTLSHIFT_SECURE;
1455 if (req->newptr && !(oid->oid_kind & CTLFLAG_ANYBODY)) {
1458 if (oid->oid_kind & CTLFLAG_PRISON)
1461 else if ((oid->oid_kind & CTLFLAG_VNET) &&
1472 if (!oid->oid_handler)
1475 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) {
1479 arg1 = oid->oid_arg1;
1480 arg2 = oid->oid_arg2;
1483 error = mac_system_check_sysctl(req->td->td_ucred, oid, arg1, arg2,
1488 oid->oid_running++;
1491 if (!(oid->oid_kind & CTLFLAG_MPSAFE))
1493 error = oid->oid_handler(oid, arg1, arg2, req);
1494 if (!(oid->oid_kind & CTLFLAG_MPSAFE))
1500 oid->oid_running--;
1501 if (oid->oid_running == 0 && (oid->oid_kind & CTLFLAG_DYING) != 0)
1502 wakeup(&oid->oid_running);