Example #1
0
static void state_parse(struct xt_option_call *cb)
{
    struct xt_state_info *sinfo = cb->data;

    xtables_option_parse(cb);
    state_parse_states(cb->arg, sinfo);
    if (cb->invert)
        sinfo->statemask = ~sinfo->statemask;
}
static void state_ct23_parse(struct xt_option_call *cb)
{
	struct xt_conntrack_mtinfo3 *sinfo = cb->data;

	xtables_option_parse(cb);
	sinfo->match_flags = XT_CONNTRACK_STATE;
	sinfo->state_mask = state_parse_states(cb->arg);
	if (cb->invert)
		sinfo->invert_flags |= XT_CONNTRACK_STATE;
}
Example #3
0
static int
state_parse(int c, char **argv, int invert, unsigned int *flags,
      const void *entry,
      struct xt_entry_match **match)
{
	struct xt_state_info *sinfo = (struct xt_state_info *)(*match)->data;

	switch (c) {
	case '1':
		xtables_check_inverse(optarg, &invert, &optind, 0, argv);

		state_parse_states(optarg, sinfo);
		if (invert)
			sinfo->statemask = ~sinfo->statemask;
		*flags = 1;
		break;
	}

	return 1;
}