GNU Linux-libre 4.9.309-gnu1
[releases.git] / include / uapi / linux / netfilter / xt_recent.h
1 #ifndef _LINUX_NETFILTER_XT_RECENT_H
2 #define _LINUX_NETFILTER_XT_RECENT_H 1
3
4 #include <linux/types.h>
5 #include <linux/netfilter.h>
6
7 enum {
8         XT_RECENT_CHECK    = 1 << 0,
9         XT_RECENT_SET      = 1 << 1,
10         XT_RECENT_UPDATE   = 1 << 2,
11         XT_RECENT_REMOVE   = 1 << 3,
12         XT_RECENT_TTL      = 1 << 4,
13         XT_RECENT_REAP     = 1 << 5,
14
15         XT_RECENT_SOURCE   = 0,
16         XT_RECENT_DEST     = 1,
17
18         XT_RECENT_NAME_LEN = 200,
19 };
20
21 /* Only allowed with --rcheck and --update */
22 #define XT_RECENT_MODIFIERS (XT_RECENT_TTL|XT_RECENT_REAP)
23
24 #define XT_RECENT_VALID_FLAGS (XT_RECENT_CHECK|XT_RECENT_SET|XT_RECENT_UPDATE|\
25                                XT_RECENT_REMOVE|XT_RECENT_TTL|XT_RECENT_REAP)
26
27 struct xt_recent_mtinfo {
28         __u32 seconds;
29         __u32 hit_count;
30         __u8 check_set;
31         __u8 invert;
32         char name[XT_RECENT_NAME_LEN];
33         __u8 side;
34 };
35
36 struct xt_recent_mtinfo_v1 {
37         __u32 seconds;
38         __u32 hit_count;
39         __u8 check_set;
40         __u8 invert;
41         char name[XT_RECENT_NAME_LEN];
42         __u8 side;
43         union nf_inet_addr mask;
44 };
45
46 #endif /* _LINUX_NETFILTER_XT_RECENT_H */