Lines Matching refs:prs
644 struct pfioc_ruleset prs; in remove_stale_rulesets() local
647 memset(&prs, 0, sizeof(prs)); in remove_stale_rulesets()
648 strlcpy(prs.path, anchorname, sizeof(prs.path)); in remove_stale_rulesets()
649 if (ioctl(pfctl_fd(pfh), DIOCGETRULESETS, &prs)) { in remove_stale_rulesets()
656 nr = prs.nr; in remove_stale_rulesets()
661 prs.nr = nr - 1; in remove_stale_rulesets()
662 if (ioctl(pfctl_fd(pfh), DIOCGETRULESET, &prs)) in remove_stale_rulesets()
665 if ((t = strchr(prs.name, '(')) == NULL) in remove_stale_rulesets()
666 t = prs.name; in remove_stale_rulesets()
670 if (!prs.name[0] || errno || in remove_stale_rulesets()
671 (*s && (t == prs.name || *s != ')'))) in remove_stale_rulesets()
674 if (recursive_ruleset_purge(anchorname, prs.name)) in remove_stale_rulesets()
687 struct pfioc_ruleset *prs = NULL; in recursive_ruleset_purge() local
712 if ((prs = calloc(1, sizeof(struct pfioc_ruleset))) == NULL) in recursive_ruleset_purge()
714 snprintf(prs->path, sizeof(prs->path), "%s/%s", an, rs); in recursive_ruleset_purge()
715 if (ioctl(pfctl_fd(pfh), DIOCGETRULESETS, prs)) { in recursive_ruleset_purge()
720 int nr = prs->nr; in recursive_ruleset_purge()
723 prs->nr = 0; in recursive_ruleset_purge()
724 if (ioctl(pfctl_fd(pfh), DIOCGETRULESET, prs)) in recursive_ruleset_purge()
727 if (recursive_ruleset_purge(prs->path, prs->name)) in recursive_ruleset_purge()
740 free(prs); in recursive_ruleset_purge()