11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _XT_STATISTIC_H
131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _XT_STATISTIC_H
141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectenum xt_statistic_mode {
161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project XT_STATISTIC_MODE_RANDOM,
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project XT_STATISTIC_MODE_NTH,
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __XT_STATISTIC_MODE_MAX
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1)
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectenum xt_statistic_flags {
231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project XT_STATISTIC_INVERT = 0x1,
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define XT_STATISTIC_MASK 0x1
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct xt_statistic_info {
281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int16_t mode;
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int16_t flags;
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int32_t probability;
331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } random;
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int32_t every;
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int32_t packet;
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u_int32_t count;
381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } nth;
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } u;
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct xt_statistic_info *master __attribute__((aligned(8)));
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
44