1af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt#ifndef _LINUX_NETFILTER_XT_RECENT_H
2af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt#define _LINUX_NETFILTER_XT_RECENT_H 1
3af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt
4350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt#include <linux/types.h>
5350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt
6af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardtenum {
7af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_CHECK    = 1 << 0,
8af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_SET      = 1 << 1,
9af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_UPDATE   = 1 << 2,
10af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_REMOVE   = 1 << 3,
11af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_TTL      = 1 << 4,
12491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt	XT_RECENT_REAP     = 1 << 5,
13af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt
14af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_SOURCE   = 0,
15af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_DEST     = 1,
16af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt
17af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	XT_RECENT_NAME_LEN = 200,
18af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt};
19af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt
20491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt/* Only allowed with --rcheck and --update */
21491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt#define XT_RECENT_MODIFIERS (XT_RECENT_TTL|XT_RECENT_REAP)
22491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt
23491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt#define XT_RECENT_VALID_FLAGS (XT_RECENT_CHECK|XT_RECENT_SET|XT_RECENT_UPDATE|\
24491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt			       XT_RECENT_REMOVE|XT_RECENT_TTL|XT_RECENT_REAP)
25491c1660fced08e2d1a08c101c63af04250275d0Jan Engelhardt
26af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardtstruct xt_recent_mtinfo {
27350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt	__u32 seconds;
28350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt	__u32 hit_count;
29350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt	__u8 check_set;
30350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt	__u8 invert;
31af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt	char name[XT_RECENT_NAME_LEN];
32350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardt	__u8 side;
33af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt};
34af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt
35af1660fe0e88cd9f1c770864e1c643718cb2cc62Jan Engelhardt#endif /* _LINUX_NETFILTER_XT_RECENT_H */
36