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