Lines Matching refs:ioe
4174 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4178 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4182 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4184 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4185 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4187 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4191 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4192 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4197 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4200 &ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4202 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4207 if ((error = pf_begin_rules(&ioe->ticket, in pfioctl_ioc_trans()
4208 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4210 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4215 if (copyout(ioe, buf, sizeof(*ioe))) { in pfioctl_ioc_trans()
4217 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
4232 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4236 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4238 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4239 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4241 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4245 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4246 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4251 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4254 ioe->ticket, NULL, 0))) { in pfioctl_ioc_trans()
4256 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4261 if ((error = pf_rollback_rules(ioe->ticket, in pfioctl_ioc_trans()
4262 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4264 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4271 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4276 struct pfioc_trans_e *ioe; in pfioctl_ioc_trans() local
4281 if (esize != sizeof(*ioe)) { in pfioctl_ioc_trans()
4285 ioe = kalloc_type(struct pfioc_trans_e, Z_WAITOK); in pfioctl_ioc_trans()
4288 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4289 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4291 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4295 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4296 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4300 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4301 if (rs == NULL || !rs->topen || ioe->ticket != in pfioctl_ioc_trans()
4304 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4310 if (ioe->rs_num < 0 || ioe->rs_num >= in pfioctl_ioc_trans()
4313 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4317 rs = pf_find_ruleset(ioe->anchor); in pfioctl_ioc_trans()
4319 !rs->rules[ioe->rs_num].inactive.open || in pfioctl_ioc_trans()
4320 rs->rules[ioe->rs_num].inactive.ticket != in pfioctl_ioc_trans()
4321 ioe->ticket) { in pfioctl_ioc_trans()
4323 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4332 for (i = 0; i < size; i++, buf += sizeof(*ioe)) { in pfioctl_ioc_trans()
4333 if (copyin(buf, ioe, sizeof(*ioe))) { in pfioctl_ioc_trans()
4335 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4339 ioe->anchor[sizeof(ioe->anchor) - 1] = '\0'; in pfioctl_ioc_trans()
4340 switch (ioe->rs_num) { in pfioctl_ioc_trans()
4345 strlcpy(table->pfrt_anchor, ioe->anchor, in pfioctl_ioc_trans()
4347 if ((error = pfr_ina_commit(table, ioe->ticket, in pfioctl_ioc_trans()
4350 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4355 if ((error = pf_commit_rules(ioe->ticket, in pfioctl_ioc_trans()
4356 ioe->rs_num, ioe->anchor))) { in pfioctl_ioc_trans()
4358 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()
4365 kfree_type(struct pfioc_trans_e, ioe); in pfioctl_ioc_trans()