/* * we may need to check for version mismatch */ int build_st(struct iptables_target *target, struct ipt_entry_target *t) { unsigned int nfcache = 0; if (target) { size_t size; size = IPT_ALIGN(sizeof (struct ipt_entry_target)) + target->size; if (NULL == t) { target->t = fw_calloc(1, size); target->t->u.target_size = size; if (target->init != NULL) target->init(target->t, &nfcache); set_revision(target->t->u.user.name, target->revision); } else { target->t = t; } strcpy(target->t->u.user.name, target->name); return 0; } return -1; }
/* * we may need to check for version mismatch */ int build_st(struct xtables_target *target, struct xt_entry_target *t) { size_t size = XT_ALIGN(sizeof(struct xt_entry_target)) + target->size; if (t == NULL) { target->t = fw_calloc(1, size); target->t->u.target_size = size; strcpy(target->t->u.user.name, target->name); set_revision(target->t->u.user.name, target->revision); if (target->init != NULL) target->init(target->t); } else { target->t = t; } return 0; }