blob: d40a6196842ab3496aa74388d6dfae0b876b920f [file] [log] [blame]
Patrick McHardy50c164a2007-12-04 13:02:19 +01001#ifndef _XT_RATEEST_MATCH_H
2#define _XT_RATEEST_MATCH_H
3
Arnd Bergmann60c195c2009-02-26 00:51:43 +01004#include <linux/types.h>
5
Patrick McHardy50c164a2007-12-04 13:02:19 +01006enum 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];
Arnd Bergmann60c195c2009-02-26 00:51:43 +010025 __u16 flags;
26 __u16 mode;
27 __u32 bps1;
28 __u32 pps1;
29 __u32 bps2;
30 __u32 pps2;
Jan Engelhardt8b6f3f62008-01-14 23:33:14 -080031
32 /* Used internally by the kernel */
Patrick McHardy50c164a2007-12-04 13:02:19 +010033 struct xt_rateest *est1 __attribute__((aligned(8)));
34 struct xt_rateest *est2 __attribute__((aligned(8)));
35};
36
37#endif /* _XT_RATEEST_MATCH_H */