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
8enum 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
17enum 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
24struct 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