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