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