1#ifndef _XT_RATEEST_MATCH_H
2#define _XT_RATEEST_MATCH_H
3
4#include <linux/types.h>
5
6enum xt_rateest_match_flags {
7	XT_RATEEST_MATCH_INVERT	= 1<<0,
8	XT_RATEEST_MATCH_ABS	= 1<<1,
9	XT_RATEEST_MATCH_REL	= 1<<2,
10	XT_RATEEST_MATCH_DELTA	= 1<<3,
11	XT_RATEEST_MATCH_BPS	= 1<<4,
12	XT_RATEEST_MATCH_PPS	= 1<<5,
13};
14
15enum xt_rateest_match_mode {
16	XT_RATEEST_MATCH_NONE,
17	XT_RATEEST_MATCH_EQ,
18	XT_RATEEST_MATCH_LT,
19	XT_RATEEST_MATCH_GT,
20};
21
22struct xt_rateest_match_info {
23	char			name1[IFNAMSIZ];
24	char			name2[IFNAMSIZ];
25	__u16		flags;
26	__u16		mode;
27	__u32		bps1;
28	__u32		pps1;
29	__u32		bps2;
30	__u32		pps2;
31
32	/* Used internally by the kernel */
33	struct xt_rateest	*est1 __attribute__((aligned(8)));
34	struct xt_rateest	*est2 __attribute__((aligned(8)));
35};
36
37#endif /* _XT_RATEEST_MATCH_H */
38