Lines Matching refs:ruleset
176 pf_init_ruleset(struct pf_ruleset *ruleset) in pf_init_ruleset() argument
180 memset(ruleset, 0, sizeof(struct pf_ruleset)); in pf_init_ruleset()
182 TAILQ_INIT(&ruleset->rules[i].queues[0]); in pf_init_ruleset()
183 TAILQ_INIT(&ruleset->rules[i].queues[1]); in pf_init_ruleset()
184 ruleset->rules[i].active.ptr = &ruleset->rules[i].queues[0]; in pf_init_ruleset()
185 ruleset->rules[i].inactive.ptr = &ruleset->rules[i].queues[1]; in pf_init_ruleset()
216 return &anchor->ruleset; in pf_find_ruleset()
239 return &anchor->ruleset; in pf_find_ruleset_with_owner()
250 struct pf_ruleset *ruleset; in pf_find_or_create_ruleset() local
259 ruleset = pf_find_ruleset(path); in pf_find_or_create_ruleset()
260 if (ruleset != NULL) { in pf_find_or_create_ruleset()
261 return ruleset; in pf_find_or_create_ruleset()
267 if ((ruleset = pf_find_ruleset(p)) != NULL) { in pf_find_or_create_ruleset()
268 parent = ruleset->anchor; in pf_find_or_create_ruleset()
329 pf_init_ruleset(&anchor->ruleset); in pf_find_or_create_ruleset()
330 anchor->ruleset.anchor = anchor; in pf_find_or_create_ruleset()
345 return anchor ? &anchor->ruleset : 0; in pf_find_or_create_ruleset()
349 pf_remove_if_empty_ruleset(struct pf_ruleset *ruleset) in pf_remove_if_empty_ruleset() argument
354 while (ruleset != NULL) { in pf_remove_if_empty_ruleset()
355 if (ruleset == &pf_main_ruleset || ruleset->anchor == NULL || in pf_remove_if_empty_ruleset()
356 !RB_EMPTY(&ruleset->anchor->children) || in pf_remove_if_empty_ruleset()
357 ruleset->anchor->refcnt > 0 || ruleset->tables > 0 || in pf_remove_if_empty_ruleset()
358 ruleset->topen) { in pf_remove_if_empty_ruleset()
362 if (!TAILQ_EMPTY(ruleset->rules[i].active.ptr) || in pf_remove_if_empty_ruleset()
363 !TAILQ_EMPTY(ruleset->rules[i].inactive.ptr) || in pf_remove_if_empty_ruleset()
364 ruleset->rules[i].inactive.open) { in pf_remove_if_empty_ruleset()
368 RB_REMOVE(pf_anchor_global, &pf_anchors, ruleset->anchor); in pf_remove_if_empty_ruleset()
370 if (strncmp("com.apple.nlc", ruleset->anchor->name, in pf_remove_if_empty_ruleset()
379 if ((parent = ruleset->anchor->parent) != NULL) { in pf_remove_if_empty_ruleset()
381 ruleset->anchor); in pf_remove_if_empty_ruleset()
383 rs_free_type(struct pf_anchor, ruleset->anchor); in pf_remove_if_empty_ruleset()
387 ruleset = &parent->ruleset; in pf_remove_if_empty_ruleset()
396 struct pf_ruleset *ruleset; in pf_anchor_setup() local
438 ruleset = pf_find_or_create_ruleset(path); in pf_anchor_setup()
440 if (ruleset == NULL || ruleset->anchor == NULL) { in pf_anchor_setup()
444 r->anchor = ruleset->anchor; in pf_anchor_setup()
510 pf_remove_if_empty_ruleset(&r->anchor->ruleset); in pf_anchor_remove()