Blame include/linux/netfilter/xt_set.h

Packit 7b22a4
#ifndef _XT_SET_H
Packit 7b22a4
#define _XT_SET_H
Packit 7b22a4
Packit 7b22a4
#include <linux/types.h>
Packit 7b22a4
#include <linux/netfilter/ipset/ip_set.h>
Packit 7b22a4
Packit 7b22a4
/* Revision 0 interface: backward compatible with netfilter/iptables */
Packit 7b22a4
Packit 7b22a4
/*
Packit 7b22a4
 * Option flags for kernel operations (xt_set_info_v0)
Packit 7b22a4
 */
Packit 7b22a4
#define IPSET_SRC		0x01	/* Source match/add */
Packit 7b22a4
#define IPSET_DST		0x02	/* Destination match/add */
Packit 7b22a4
#define IPSET_MATCH_INV		0x04	/* Inverse matching */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_v0 {
Packit 7b22a4
	ip_set_id_t index;
Packit 7b22a4
	union {
Packit 7b22a4
		__u32 flags[IPSET_DIM_MAX + 1];
Packit 7b22a4
		struct {
Packit 7b22a4
			__u32 __flags[IPSET_DIM_MAX];
Packit 7b22a4
			__u8 dim;
Packit 7b22a4
			__u8 flags;
Packit 7b22a4
		} compat;
Packit 7b22a4
	} u;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* match and target infos */
Packit 7b22a4
struct xt_set_info_match_v0 {
Packit 7b22a4
	struct xt_set_info_v0 match_set;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_target_v0 {
Packit 7b22a4
	struct xt_set_info_v0 add_set;
Packit 7b22a4
	struct xt_set_info_v0 del_set;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* Revision 1  match and target */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info {
Packit 7b22a4
	ip_set_id_t index;
Packit 7b22a4
	__u8 dim;
Packit 7b22a4
	__u8 flags;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* match and target infos */
Packit 7b22a4
struct xt_set_info_match_v1 {
Packit 7b22a4
	struct xt_set_info match_set;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_target_v1 {
Packit 7b22a4
	struct xt_set_info add_set;
Packit 7b22a4
	struct xt_set_info del_set;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* Revision 2 target */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_target_v2 {
Packit 7b22a4
	struct xt_set_info add_set;
Packit 7b22a4
	struct xt_set_info del_set;
Packit 7b22a4
	__u32 flags;
Packit 7b22a4
	__u32 timeout;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* Revision 3 match */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_match_v3 {
Packit 7b22a4
	struct xt_set_info match_set;
Packit 7b22a4
	struct ip_set_counter_match0 packets;
Packit 7b22a4
	struct ip_set_counter_match0 bytes;
Packit 7b22a4
	__u32 flags;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* Revision 4 match */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_match_v4 {
Packit 7b22a4
	struct xt_set_info match_set;
Packit 7b22a4
	struct ip_set_counter_match packets;
Packit 7b22a4
	struct ip_set_counter_match bytes;
Packit 7b22a4
	__u32 flags;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
/* Revision 3 target */
Packit 7b22a4
Packit 7b22a4
struct xt_set_info_target_v3 {
Packit 7b22a4
	struct xt_set_info add_set;
Packit 7b22a4
	struct xt_set_info del_set;
Packit 7b22a4
	struct xt_set_info map_set;
Packit 7b22a4
	__u32 flags;
Packit 7b22a4
	__u32 timeout;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
#endif /*_XT_SET_H*/