Lines Matching refs:ioe

4126 		struct pfioc_trans_e    *ioe;  in pfioctl_ioc_trans()  local
4130 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4134 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4136 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4137 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4139 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4143 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4144 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4149 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4152 &ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4154 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4159 if ((error = pf_begin_rules(&ioe->ticket, in pfioctl_ioc_trans()
4160 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4162 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4167 if (copyout(ioe, buf, sizeof(*ioe))) { in pfioctl_ioc_trans()
4169 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4175 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4180 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4184 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4188 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4190 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4191 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4193 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4197 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4198 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4203 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4206 ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4208 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4213 if ((error = pf_rollback_rules(ioe->ticket, in pfioctl_ioc_trans()
4214 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4216 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4223 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4228 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4233 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4237 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4240 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4241 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4243 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4247 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4248 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4252 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4253 if (rs == NULL || !rs->topen || ioe->ticket != in pfioctl_ioc_trans()
4256 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4262 if (ioe->rs_num < 0 || ioe->rs_num >= in pfioctl_ioc_trans()
4265 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4269 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4271 !rs->rules[ioe->rs_num].inactive.open || in pfioctl_ioc_trans()
4272 rs->rules[ioe->rs_num].inactive.ticket != in pfioctl_ioc_trans()
4273 ioe->ticket) { in pfioctl_ioc_trans()
4275 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4284 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4285 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4287 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4291 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4292 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4297 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4299 if ((error = pfr_ina_commit(table, ioe->ticket, in pfioctl_ioc_trans()
4302 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4307 if ((error = pf_commit_rules(ioe->ticket, in pfioctl_ioc_trans()
4308 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4310 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4317 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()