1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_XT_HASHLIMIT_H 20 #define _UAPI_XT_HASHLIMIT_H 21 #include <linux/types.h> 22 #define XT_HASHLIMIT_SCALE 10000 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define XT_HASHLIMIT_BYTE_SHIFT 4 25 struct xt_hashlimit_htable; 26 enum { 27 XT_HASHLIMIT_HASH_DIP = 1 << 0, 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 XT_HASHLIMIT_HASH_DPT = 1 << 1, 30 XT_HASHLIMIT_HASH_SIP = 1 << 2, 31 XT_HASHLIMIT_HASH_SPT = 1 << 3, 32 XT_HASHLIMIT_INVERT = 1 << 4, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 XT_HASHLIMIT_BYTES = 1 << 5, 35 }; 36 struct hashlimit_cfg { 37 __u32 mode; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u32 avg; 40 __u32 burst; 41 __u32 size; 42 __u32 max; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 __u32 gc_interval; 45 __u32 expire; 46 }; 47 struct xt_hashlimit_info { 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 char name [IFNAMSIZ]; 50 struct hashlimit_cfg cfg; 51 struct xt_hashlimit_htable *hinfo; 52 union { 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 void *ptr; 55 struct xt_hashlimit_info *master; 56 } u; 57 }; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 struct hashlimit_cfg1 { 60 __u32 mode; 61 __u32 avg; 62 __u32 burst; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 __u32 size; 65 __u32 max; 66 __u32 gc_interval; 67 __u32 expire; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 __u8 srcmask, dstmask; 70 }; 71 struct xt_hashlimit_mtinfo1 { 72 char name[IFNAMSIZ]; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 struct hashlimit_cfg1 cfg; 75 struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); 76 }; 77 #endif 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79