1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2#ifndef _XT_STATISTIC_H 3#define _XT_STATISTIC_H 4 5#include <linux/types.h> 6 7enum xt_statistic_mode { 8 XT_STATISTIC_MODE_RANDOM, 9 XT_STATISTIC_MODE_NTH, 10 __XT_STATISTIC_MODE_MAX 11}; 12#define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1) 13 14enum xt_statistic_flags { 15 XT_STATISTIC_INVERT = 0x1, 16}; 17#define XT_STATISTIC_MASK 0x1 18 19struct xt_statistic_priv; 20 21struct xt_statistic_info { 22 __u16 mode; 23 __u16 flags; 24 union { 25 struct { 26 __u32 probability; 27 } random; 28 struct { 29 __u32 every; 30 __u32 packet; 31 __u32 count; /* unused */ 32 } nth; 33 } u; 34 struct xt_statistic_priv *master __attribute__((aligned(8))); 35}; 36 37#endif /* _XT_STATISTIC_H */ 38