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 _NFNETLINK_QUEUE_H 20 #define _NFNETLINK_QUEUE_H 21 #include <linux/types.h> 22 #include <linux/netfilter/nfnetlink.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 enum nfqnl_msg_types { 25 NFQNL_MSG_PACKET, 26 NFQNL_MSG_VERDICT, 27 NFQNL_MSG_CONFIG, 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 NFQNL_MSG_VERDICT_BATCH, 30 NFQNL_MSG_MAX 31 }; 32 struct nfqnl_msg_packet_hdr { 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __be32 packet_id; 35 __be16 hw_protocol; 36 __u8 hook; 37 } __attribute__ ((packed)); 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 struct nfqnl_msg_packet_hw { 40 __be16 hw_addrlen; 41 __u16 _pad; 42 __u8 hw_addr[8]; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 }; 45 struct nfqnl_msg_packet_timestamp { 46 __aligned_be64 sec; 47 __aligned_be64 usec; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 }; 50 enum nfqnl_attr_type { 51 NFQA_UNSPEC, 52 NFQA_PACKET_HDR, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 NFQA_VERDICT_HDR, 55 NFQA_MARK, 56 NFQA_TIMESTAMP, 57 NFQA_IFINDEX_INDEV, 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 NFQA_IFINDEX_OUTDEV, 60 NFQA_IFINDEX_PHYSINDEV, 61 NFQA_IFINDEX_PHYSOUTDEV, 62 NFQA_HWADDR, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 NFQA_PAYLOAD, 65 NFQA_CT, 66 NFQA_CT_INFO, 67 NFQA_CAP_LEN, 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 NFQA_SKB_INFO, 70 NFQA_EXP, 71 NFQA_UID, 72 NFQA_GID, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 __NFQA_MAX 75 }; 76 #define NFQA_MAX (__NFQA_MAX - 1) 77 struct nfqnl_msg_verdict_hdr { 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 __be32 verdict; 80 __be32 id; 81 }; 82 enum nfqnl_msg_config_cmds { 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 NFQNL_CFG_CMD_NONE, 85 NFQNL_CFG_CMD_BIND, 86 NFQNL_CFG_CMD_UNBIND, 87 NFQNL_CFG_CMD_PF_BIND, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 NFQNL_CFG_CMD_PF_UNBIND, 90 }; 91 struct nfqnl_msg_config_cmd { 92 __u8 command; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 __u8 _pad; 95 __be16 pf; 96 }; 97 enum nfqnl_config_mode { 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 NFQNL_COPY_NONE, 100 NFQNL_COPY_META, 101 NFQNL_COPY_PACKET, 102 }; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 struct nfqnl_msg_config_params { 105 __be32 copy_range; 106 __u8 copy_mode; 107 } __attribute__ ((packed)); 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 enum nfqnl_attr_config { 110 NFQA_CFG_UNSPEC, 111 NFQA_CFG_CMD, 112 NFQA_CFG_PARAMS, 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 NFQA_CFG_QUEUE_MAXLEN, 115 NFQA_CFG_MASK, 116 NFQA_CFG_FLAGS, 117 __NFQA_CFG_MAX 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 }; 120 #define NFQA_CFG_MAX (__NFQA_CFG_MAX-1) 121 #define NFQA_CFG_F_FAIL_OPEN (1 << 0) 122 #define NFQA_CFG_F_CONNTRACK (1 << 1) 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 #define NFQA_CFG_F_GSO (1 << 2) 125 #define NFQA_CFG_F_UID_GID (1 << 3) 126 #define NFQA_CFG_F_MAX (1 << 4) 127 #define NFQA_SKB_CSUMNOTREADY (1 << 0) 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 #define NFQA_SKB_GSO (1 << 1) 130 #define NFQA_SKB_CSUM_NOTVERIFIED (1 << 2) 131 #endif 132