Linux-libre 5.7.3-gnu
[librecmc/linux-libre.git] / include / uapi / linux / netfilter / xt_rateest.h
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 */