pfr_setflags_ktables(&workq, 0, PFR_TFLAG_ACTIVE);
pfr_setflags_ktables(&workq);
pfr_del_tables(struct pfr_table *tbl, int size, int *ndel, int flags){	struct pfr_ktableworkq	 workq;	struct pfr_ktable	*p, *q, key;	int			 i, s, xdel = 0;	ACCEPT_FLAGS(PFR_FLAG_ATOMIC+PFR_FLAG_DUMMY);	SLIST_INIT(&workq);	for (i = 0; i < size; i++) {		if (copyin(tbl+i, &key.pfrkt_t, sizeof(key.pfrkt_t)))			return (EFAULT);		if (pfr_validate_table(&key.pfrkt_t, 0))			return (EINVAL);		p = RB_FIND(pfr_ktablehead, &pfr_ktables, &key);		if (p != NULL && (p->pfrkt_flags & PFR_TFLAG_ACTIVE)) {			SLIST_FOREACH(q, &workq, pfrkt_workq)				if (!strcmp(p->pfrkt_name, q->pfrkt_name))					goto _skip;			SLIST_INSERT_HEAD(&workq, p, pfrkt_workq);			xdel++;		}_skip:	}	if (!(flags & PFR_FLAG_DUMMY)) {		if (flags & PFR_FLAG_ATOMIC)			s = splsoftnet();		pfr_setflags_ktables(&workq, 0, PFR_TFLAG_ACTIVE);		if (flags & PFR_FLAG_ATOMIC)			splx(s);	}	if (ndel != NULL)		*ndel = xdel;	return (0);}