Lines Matching refs:ioe
4083 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4087 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4091 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4093 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4094 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4096 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4100 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4101 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4106 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4109 &ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4111 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4116 if ((error = pf_begin_rules(&ioe->ticket, in pfioctl_ioc_trans()
4117 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4119 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4124 if (copyout(ioe, buf, sizeof(*ioe))) { in pfioctl_ioc_trans()
4126 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4132 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4137 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4141 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4145 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4147 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4148 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4150 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4154 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4155 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4160 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4163 ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4165 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4170 if ((error = pf_rollback_rules(ioe->ticket, in pfioctl_ioc_trans()
4171 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4173 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4180 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4185 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4191 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4195 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4198 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4199 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4201 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4205 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4206 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4210 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4211 if (rs == NULL || !rs->topen || ioe->ticket != in pfioctl_ioc_trans()
4214 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4220 if (ioe->rs_num < 0 || ioe->rs_num >= in pfioctl_ioc_trans()
4223 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4227 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4229 !rs->rules[ioe->rs_num].inactive.open || in pfioctl_ioc_trans()
4230 rs->rules[ioe->rs_num].inactive.ticket != in pfioctl_ioc_trans()
4231 ioe->ticket) { in pfioctl_ioc_trans()
4233 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4242 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4243 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4245 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4249 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4250 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4255 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4257 if ((error = pfr_ina_commit(table, ioe->ticket, in pfioctl_ioc_trans()
4260 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4265 if ((error = pf_commit_rules(ioe->ticket, in pfioctl_ioc_trans()
4266 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4268 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4275 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()