Lines Matching refs:pnode

270 __learn_tree(int *name, u_int namelen, struct sysctlnode *pnode)  in __learn_tree()  argument
277 if (pnode == NULL) in __learn_tree()
278 pnode = &sysctl_mibroot; in __learn_tree()
279 if (SYSCTL_TYPE(pnode->sysctl_flags) != CTLTYPE_NODE) { in __learn_tree()
283 if (pnode->sysctl_child != NULL) in __learn_tree()
286 if (pnode->sysctl_clen == 0) in __learn_tree()
289 sz = pnode->sysctl_clen * sizeof(struct sysctlnode); in __learn_tree()
290 pnode->sysctl_child = malloc(sz); in __learn_tree()
291 if (pnode->sysctl_child == NULL) in __learn_tree()
295 pnode->sysctl_clen = 0; in __learn_tree()
296 pnode->sysctl_csize = 0; in __learn_tree()
299 rc = sysctl(name, namelen + 1, pnode->sysctl_child, &sz, in __learn_tree()
303 free(pnode->sysctl_child); in __learn_tree()
305 pnode->sysctl_child = NULL; in __learn_tree()
309 free(pnode->sysctl_child); in __learn_tree()
310 pnode->sysctl_child = NULL; in __learn_tree()
317 if (pnode->sysctl_child == NULL) { in __learn_tree()
318 pnode->sysctl_child = malloc(sz); in __learn_tree()
319 if (pnode->sysctl_child == NULL) in __learn_tree()
322 rc = sysctl(name, namelen + 1, pnode->sysctl_child, &sz, in __learn_tree()
326 free(pnode->sysctl_child); in __learn_tree()
328 pnode->sysctl_child = NULL; in __learn_tree()
337 pnode->sysctl_csize = pnode->sysctl_clen = (uint32_t)sz; in __learn_tree()
338 if (pnode->sysctl_clen != sz) { in __learn_tree()
339 free(pnode->sysctl_child); in __learn_tree()
340 pnode->sysctl_child = NULL; in __learn_tree()
349 qsort(pnode->sysctl_child, pnode->sysctl_clen, in __learn_tree()
355 for (rc = 0; rc < pnode->sysctl_clen; rc++) { in __learn_tree()
356 pnode->sysctl_child[rc].sysctl_parent = pnode; in __learn_tree()
357 if (SYSCTL_TYPE(pnode->sysctl_child[rc].sysctl_flags) == in __learn_tree()
363 pnode->sysctl_child[rc].sysctl_child = NULL; in __learn_tree()
365 pnode->sysctl_child[rc].sysctl_desc = NULL; in __learn_tree()
411 struct sysctlnode *pnode, *node; in sysctlgetmibinfo_unlocked() local
429 pnode = &sysctl_mibroot; in sysctlgetmibinfo_unlocked()
446 pnode = *rnode; in sysctlgetmibinfo_unlocked()
450 pnode = &sysctl_mibroot; in sysctlgetmibinfo_unlocked()
452 if (pnode == &sysctl_mibroot) in sysctlgetmibinfo_unlocked()
523 if (SYSCTL_TYPE(pnode->sysctl_flags) != CTLTYPE_NODE) { in sysctlgetmibinfo_unlocked()
532 if (pnode->sysctl_child == NULL) { in sysctlgetmibinfo_unlocked()
533 if (__learn_tree(name, nl, pnode) == -1) { in sysctlgetmibinfo_unlocked()
538 node = pnode->sysctl_child; in sysctlgetmibinfo_unlocked()
548 for (ni = 0; ni < pnode->sysctl_clen; ni++) in sysctlgetmibinfo_unlocked()
553 if (ni >= pnode->sysctl_clen) { in sysctlgetmibinfo_unlocked()
562 pnode = &node[ni]; in sysctlgetmibinfo_unlocked()
565 if (haven && n != pnode->sysctl_num) { in sysctlgetmibinfo_unlocked()
571 strlcat(pname, pnode->sysctl_name, sizeof(pname)); in sysctlgetmibinfo_unlocked()
572 name[nl] = pnode->sysctl_num; in sysctlgetmibinfo_unlocked()
602 *rnode = pnode; in sysctlgetmibinfo_unlocked()
610 **rnode = *pnode; in sysctlgetmibinfo_unlocked()