1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _XT_RATE_H
3#define _XT_RATE_H
4
5#include <linux/types.h>
6
7/* timings are in milliseconds. */
8#define XT_LIMIT_SCALE 10000
9
10struct xt_limit_priv;
11
12/* 1/10,000 sec period => max of 10,000/sec.  Min rate is then 429490
13   seconds, or one every 59 hours. */
14struct xt_rateinfo {
15	__u32 avg;    /* Average secs between packets * scale */
16	__u32 burst;  /* Period multiplier for upper limit. */
17
18	/* Used internally by the kernel */
19	unsigned long prev; /* moved to xt_limit_priv */
20	__u32 credit; /* moved to xt_limit_priv */
21	__u32 credit_cap, cost;
22
23	struct xt_limit_priv *master;
24};
25#endif /*_XT_RATE_H*/
26