1
2 #ifndef _XT_SET_H
3 #define _XT_SET_H
4
5 #include <linux/types.h>
6 #include <linux/netfilter/ipset/ip_set.h>
7
8
9
10
11
12
13 #define IPSET_SRC 0x01
14 #define IPSET_DST 0x02
15 #define IPSET_MATCH_INV 0x04
16
17 struct xt_set_info_v0 {
18 ip_set_id_t index;
19 union {
20 __u32 flags[IPSET_DIM_MAX + 1];
21 struct {
22 __u32 __flags[IPSET_DIM_MAX];
23 __u8 dim;
24 __u8 flags;
25 } compat;
26 } u;
27 };
28
29
30 struct xt_set_info_match_v0 {
31 struct xt_set_info_v0 match_set;
32 };
33
34 struct xt_set_info_target_v0 {
35 struct xt_set_info_v0 add_set;
36 struct xt_set_info_v0 del_set;
37 };
38
39
40
41 struct xt_set_info {
42 ip_set_id_t index;
43 __u8 dim;
44 __u8 flags;
45 };
46
47
48 struct xt_set_info_match_v1 {
49 struct xt_set_info match_set;
50 };
51
52 struct xt_set_info_target_v1 {
53 struct xt_set_info add_set;
54 struct xt_set_info del_set;
55 };
56
57
58
59 struct xt_set_info_target_v2 {
60 struct xt_set_info add_set;
61 struct xt_set_info del_set;
62 __u32 flags;
63 __u32 timeout;
64 };
65
66
67
68 struct xt_set_info_match_v3 {
69 struct xt_set_info match_set;
70 struct ip_set_counter_match0 packets;
71 struct ip_set_counter_match0 bytes;
72 __u32 flags;
73 };
74
75
76
77 struct xt_set_info_target_v3 {
78 struct xt_set_info add_set;
79 struct xt_set_info del_set;
80 struct xt_set_info map_set;
81 __u32 flags;
82 __u32 timeout;
83 };
84
85
86
87 struct xt_set_info_match_v4 {
88 struct xt_set_info match_set;
89 struct ip_set_counter_match packets;
90 struct ip_set_counter_match bytes;
91 __u32 flags;
92 };
93
94 #endif