xt_set.h revision 5276e16bb6f35412583518d6f04651dd9dc114be
1#ifndef _XT_SET_H 2#define _XT_SET_H 3 4#include <linux/types.h> 5#include <linux/netfilter/ipset/ip_set.h> 6 7/* Revision 0 interface: backward compatible with netfilter/iptables */ 8 9/* 10 * Option flags for kernel operations (xt_set_info_v0) 11 */ 12#define IPSET_SRC 0x01 /* Source match/add */ 13#define IPSET_DST 0x02 /* Destination match/add */ 14#define IPSET_MATCH_INV 0x04 /* Inverse matching */ 15 16struct xt_set_info_v0 { 17 ip_set_id_t index; 18 union { 19 __u32 flags[IPSET_DIM_MAX + 1]; 20 struct { 21 __u32 __flags[IPSET_DIM_MAX]; 22 __u8 dim; 23 __u8 flags; 24 } compat; 25 } u; 26}; 27 28/* match and target infos */ 29struct xt_set_info_match_v0 { 30 struct xt_set_info_v0 match_set; 31}; 32 33struct xt_set_info_target_v0 { 34 struct xt_set_info_v0 add_set; 35 struct xt_set_info_v0 del_set; 36}; 37 38/* Revision 1 match and target */ 39 40struct xt_set_info { 41 ip_set_id_t index; 42 __u8 dim; 43 __u8 flags; 44}; 45 46/* match and target infos */ 47struct xt_set_info_match_v1 { 48 struct xt_set_info match_set; 49}; 50 51struct xt_set_info_target_v1 { 52 struct xt_set_info add_set; 53 struct xt_set_info del_set; 54}; 55 56/* Revision 2 target */ 57 58struct xt_set_info_target_v2 { 59 struct xt_set_info add_set; 60 struct xt_set_info del_set; 61 __u32 flags; 62 __u32 timeout; 63}; 64 65#endif /*_XT_SET_H*/ 66