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