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_IP_SET_H 20 #define _UAPI_IP_SET_H 21 #include <linux/types.h> 22 #define IPSET_PROTOCOL 6 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define IPSET_MAX_COMMENT_SIZE 255 25 #define IPSET_MAXNAMELEN 32 26 enum ipset_cmd { 27 IPSET_CMD_NONE, 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 IPSET_CMD_PROTOCOL, 30 IPSET_CMD_CREATE, 31 IPSET_CMD_DESTROY, 32 IPSET_CMD_FLUSH, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 IPSET_CMD_RENAME, 35 IPSET_CMD_SWAP, 36 IPSET_CMD_LIST, 37 IPSET_CMD_SAVE, 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 IPSET_CMD_ADD, 40 IPSET_CMD_DEL, 41 IPSET_CMD_TEST, 42 IPSET_CMD_HEADER, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 IPSET_CMD_TYPE, 45 IPSET_MSG_MAX, 46 IPSET_CMD_RESTORE = IPSET_MSG_MAX, 47 IPSET_CMD_HELP, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 IPSET_CMD_VERSION, 50 IPSET_CMD_QUIT, 51 IPSET_CMD_MAX, 52 IPSET_CMD_COMMIT = IPSET_CMD_MAX, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 }; 55 enum { 56 IPSET_ATTR_UNSPEC, 57 IPSET_ATTR_PROTOCOL, 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 IPSET_ATTR_SETNAME, 60 IPSET_ATTR_TYPENAME, 61 IPSET_ATTR_SETNAME2 = IPSET_ATTR_TYPENAME, 62 IPSET_ATTR_REVISION, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 IPSET_ATTR_FAMILY, 65 IPSET_ATTR_FLAGS, 66 IPSET_ATTR_DATA, 67 IPSET_ATTR_ADT, 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 IPSET_ATTR_LINENO, 70 IPSET_ATTR_PROTOCOL_MIN, 71 IPSET_ATTR_REVISION_MIN = IPSET_ATTR_PROTOCOL_MIN, 72 __IPSET_ATTR_CMD_MAX, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 }; 75 #define IPSET_ATTR_CMD_MAX (__IPSET_ATTR_CMD_MAX - 1) 76 enum { 77 IPSET_ATTR_IP = IPSET_ATTR_UNSPEC + 1, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 IPSET_ATTR_IP_FROM = IPSET_ATTR_IP, 80 IPSET_ATTR_IP_TO, 81 IPSET_ATTR_CIDR, 82 IPSET_ATTR_PORT, 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 IPSET_ATTR_PORT_FROM = IPSET_ATTR_PORT, 85 IPSET_ATTR_PORT_TO, 86 IPSET_ATTR_TIMEOUT, 87 IPSET_ATTR_PROTO, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 IPSET_ATTR_CADT_FLAGS, 90 IPSET_ATTR_CADT_LINENO = IPSET_ATTR_LINENO, 91 IPSET_ATTR_MARK, 92 IPSET_ATTR_MARKMASK, 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 IPSET_ATTR_CADT_MAX = 16, 95 IPSET_ATTR_GC, 96 IPSET_ATTR_HASHSIZE, 97 IPSET_ATTR_MAXELEM, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 IPSET_ATTR_NETMASK, 100 IPSET_ATTR_PROBES, 101 IPSET_ATTR_RESIZE, 102 IPSET_ATTR_SIZE, 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 IPSET_ATTR_ELEMENTS, 105 IPSET_ATTR_REFERENCES, 106 IPSET_ATTR_MEMSIZE, 107 __IPSET_ATTR_CREATE_MAX, 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 }; 110 #define IPSET_ATTR_CREATE_MAX (__IPSET_ATTR_CREATE_MAX - 1) 111 enum { 112 IPSET_ATTR_ETHER = IPSET_ATTR_CADT_MAX + 1, 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 IPSET_ATTR_NAME, 115 IPSET_ATTR_NAMEREF, 116 IPSET_ATTR_IP2, 117 IPSET_ATTR_CIDR2, 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 IPSET_ATTR_IP2_TO, 120 IPSET_ATTR_IFACE, 121 IPSET_ATTR_BYTES, 122 IPSET_ATTR_PACKETS, 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 IPSET_ATTR_COMMENT, 125 IPSET_ATTR_SKBMARK, 126 IPSET_ATTR_SKBPRIO, 127 IPSET_ATTR_SKBQUEUE, 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __IPSET_ATTR_ADT_MAX, 130 }; 131 #define IPSET_ATTR_ADT_MAX (__IPSET_ATTR_ADT_MAX - 1) 132 enum { 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 IPSET_ATTR_IPADDR_IPV4 = IPSET_ATTR_UNSPEC + 1, 135 IPSET_ATTR_IPADDR_IPV6, 136 __IPSET_ATTR_IPADDR_MAX, 137 }; 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 #define IPSET_ATTR_IPADDR_MAX (__IPSET_ATTR_IPADDR_MAX - 1) 140 enum ipset_errno { 141 IPSET_ERR_PRIVATE = 4096, 142 IPSET_ERR_PROTOCOL, 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 IPSET_ERR_FIND_TYPE, 145 IPSET_ERR_MAX_SETS, 146 IPSET_ERR_BUSY, 147 IPSET_ERR_EXIST_SETNAME2, 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 IPSET_ERR_TYPE_MISMATCH, 150 IPSET_ERR_EXIST, 151 IPSET_ERR_INVALID_CIDR, 152 IPSET_ERR_INVALID_NETMASK, 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 IPSET_ERR_INVALID_FAMILY, 155 IPSET_ERR_TIMEOUT, 156 IPSET_ERR_REFERENCED, 157 IPSET_ERR_IPADDR_IPV4, 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 IPSET_ERR_IPADDR_IPV6, 160 IPSET_ERR_COUNTER, 161 IPSET_ERR_COMMENT, 162 IPSET_ERR_INVALID_MARKMASK, 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 IPSET_ERR_SKBINFO, 165 IPSET_ERR_TYPE_SPECIFIC = 4352, 166 }; 167 enum ipset_cmd_flags { 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 IPSET_FLAG_BIT_EXIST = 0, 170 IPSET_FLAG_EXIST = (1 << IPSET_FLAG_BIT_EXIST), 171 IPSET_FLAG_BIT_LIST_SETNAME = 1, 172 IPSET_FLAG_LIST_SETNAME = (1 << IPSET_FLAG_BIT_LIST_SETNAME), 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 IPSET_FLAG_BIT_LIST_HEADER = 2, 175 IPSET_FLAG_LIST_HEADER = (1 << IPSET_FLAG_BIT_LIST_HEADER), 176 IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE = 3, 177 IPSET_FLAG_SKIP_COUNTER_UPDATE = (1 << IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE), 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE = 4, 180 IPSET_FLAG_SKIP_SUBCOUNTER_UPDATE = (1 << IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE), 181 IPSET_FLAG_BIT_MATCH_COUNTERS = 5, 182 IPSET_FLAG_MATCH_COUNTERS = (1 << IPSET_FLAG_BIT_MATCH_COUNTERS), 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 IPSET_FLAG_BIT_RETURN_NOMATCH = 7, 185 IPSET_FLAG_RETURN_NOMATCH = (1 << IPSET_FLAG_BIT_RETURN_NOMATCH), 186 IPSET_FLAG_BIT_MAP_SKBMARK = 8, 187 IPSET_FLAG_MAP_SKBMARK = (1 << IPSET_FLAG_BIT_MAP_SKBMARK), 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 IPSET_FLAG_BIT_MAP_SKBPRIO = 9, 190 IPSET_FLAG_MAP_SKBPRIO = (1 << IPSET_FLAG_BIT_MAP_SKBPRIO), 191 IPSET_FLAG_BIT_MAP_SKBQUEUE = 10, 192 IPSET_FLAG_MAP_SKBQUEUE = (1 << IPSET_FLAG_BIT_MAP_SKBQUEUE), 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 IPSET_FLAG_CMD_MAX = 15, 195 }; 196 enum ipset_cadt_flags { 197 IPSET_FLAG_BIT_BEFORE = 0, 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 IPSET_FLAG_BEFORE = (1 << IPSET_FLAG_BIT_BEFORE), 200 IPSET_FLAG_BIT_PHYSDEV = 1, 201 IPSET_FLAG_PHYSDEV = (1 << IPSET_FLAG_BIT_PHYSDEV), 202 IPSET_FLAG_BIT_NOMATCH = 2, 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 IPSET_FLAG_NOMATCH = (1 << IPSET_FLAG_BIT_NOMATCH), 205 IPSET_FLAG_BIT_WITH_COUNTERS = 3, 206 IPSET_FLAG_WITH_COUNTERS = (1 << IPSET_FLAG_BIT_WITH_COUNTERS), 207 IPSET_FLAG_BIT_WITH_COMMENT = 4, 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 IPSET_FLAG_WITH_COMMENT = (1 << IPSET_FLAG_BIT_WITH_COMMENT), 210 IPSET_FLAG_BIT_WITH_FORCEADD = 5, 211 IPSET_FLAG_WITH_FORCEADD = (1 << IPSET_FLAG_BIT_WITH_FORCEADD), 212 IPSET_FLAG_BIT_WITH_SKBINFO = 6, 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 IPSET_FLAG_WITH_SKBINFO = (1 << IPSET_FLAG_BIT_WITH_SKBINFO), 215 IPSET_FLAG_CADT_MAX = 15, 216 }; 217 enum ipset_create_flags { 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 IPSET_CREATE_FLAG_BIT_FORCEADD = 0, 220 IPSET_CREATE_FLAG_FORCEADD = (1 << IPSET_CREATE_FLAG_BIT_FORCEADD), 221 IPSET_CREATE_FLAG_BIT_MAX = 7, 222 }; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 enum ipset_adt { 225 IPSET_ADD, 226 IPSET_DEL, 227 IPSET_TEST, 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 IPSET_ADT_MAX, 230 IPSET_CREATE = IPSET_ADT_MAX, 231 IPSET_CADT_MAX, 232 }; 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 typedef __u16 ip_set_id_t; 235 #define IPSET_INVALID_ID 65535 236 enum ip_set_dim { 237 IPSET_DIM_ZERO = 0, 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 IPSET_DIM_ONE, 240 IPSET_DIM_TWO, 241 IPSET_DIM_THREE, 242 IPSET_DIM_MAX = 6, 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 IPSET_BIT_RETURN_NOMATCH = 7, 245 }; 246 enum ip_set_kopt { 247 IPSET_INV_MATCH = (1 << IPSET_DIM_ZERO), 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 IPSET_DIM_ONE_SRC = (1 << IPSET_DIM_ONE), 250 IPSET_DIM_TWO_SRC = (1 << IPSET_DIM_TWO), 251 IPSET_DIM_THREE_SRC = (1 << IPSET_DIM_THREE), 252 IPSET_RETURN_NOMATCH = (1 << IPSET_BIT_RETURN_NOMATCH), 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 }; 255 enum { 256 IPSET_COUNTER_NONE = 0, 257 IPSET_COUNTER_EQ, 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 IPSET_COUNTER_NE, 260 IPSET_COUNTER_LT, 261 IPSET_COUNTER_GT, 262 }; 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 struct ip_set_counter_match { 265 __u8 op; 266 __u64 value; 267 }; 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 #define SO_IP_SET 83 270 union ip_set_name_index { 271 char name[IPSET_MAXNAMELEN]; 272 ip_set_id_t index; 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 }; 275 #define IP_SET_OP_GET_BYNAME 0x00000006 276 struct ip_set_req_get_set { 277 unsigned int op; 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 unsigned int version; 280 union ip_set_name_index set; 281 }; 282 #define IP_SET_OP_GET_BYINDEX 0x00000007 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 #define IP_SET_OP_GET_FNAME 0x00000008 285 struct ip_set_req_get_set_family { 286 unsigned int op; 287 unsigned int version; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 unsigned int family; 290 union ip_set_name_index set; 291 }; 292 #define IP_SET_OP_VERSION 0x00000100 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 struct ip_set_req_version { 295 unsigned int op; 296 unsigned int version; 297 }; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 #endif 300