1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_IP_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_IP_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/stddef.h> 11*8d67ca89SAndroid Build Coastguard Worker #include <asm/byteorder.h> 12*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_TOS_MASK 0x1E 13*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) 14*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_LOWDELAY 0x10 15*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_THROUGHPUT 0x08 16*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_RELIABILITY 0x04 17*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_MINCOST 0x02 18*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_MASK 0xE0 19*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) 20*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_NETCONTROL 0xe0 21*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_INTERNETCONTROL 0xc0 22*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_CRITIC_ECP 0xa0 23*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_FLASHOVERRIDE 0x80 24*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_FLASH 0x60 25*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_IMMEDIATE 0x40 26*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_PRIORITY 0x20 27*8d67ca89SAndroid Build Coastguard Worker #define IPTOS_PREC_ROUTINE 0x00 28*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_COPY 0x80 29*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_CLASS_MASK 0x60 30*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_NUMBER_MASK 0x1f 31*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_COPIED(o) ((o) & IPOPT_COPY) 32*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) 33*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) 34*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_CONTROL 0x00 35*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_RESERVED1 0x20 36*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_MEASUREMENT 0x40 37*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_RESERVED2 0x60 38*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_END (0 | IPOPT_CONTROL) 39*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_NOOP (1 | IPOPT_CONTROL) 40*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_SEC (2 | IPOPT_CONTROL | IPOPT_COPY) 41*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_LSRR (3 | IPOPT_CONTROL | IPOPT_COPY) 42*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_TIMESTAMP (4 | IPOPT_MEASUREMENT) 43*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_CIPSO (6 | IPOPT_CONTROL | IPOPT_COPY) 44*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_RR (7 | IPOPT_CONTROL) 45*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_SID (8 | IPOPT_CONTROL | IPOPT_COPY) 46*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_SSRR (9 | IPOPT_CONTROL | IPOPT_COPY) 47*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_RA (20 | IPOPT_CONTROL | IPOPT_COPY) 48*8d67ca89SAndroid Build Coastguard Worker #define IPVERSION 4 49*8d67ca89SAndroid Build Coastguard Worker #define MAXTTL 255 50*8d67ca89SAndroid Build Coastguard Worker #define IPDEFTTL 64 51*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_OPTVAL 0 52*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_OLEN 1 53*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_OFFSET 2 54*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_MINOFF 4 55*8d67ca89SAndroid Build Coastguard Worker #define MAX_IPOPTLEN 40 56*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_NOP IPOPT_NOOP 57*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_EOL IPOPT_END 58*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_TS IPOPT_TIMESTAMP 59*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_TS_TSONLY 0 60*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_TS_TSANDADDR 1 61*8d67ca89SAndroid Build Coastguard Worker #define IPOPT_TS_PRESPEC 3 62*8d67ca89SAndroid Build Coastguard Worker #define IPV4_BEET_PHMAXLEN 8 63*8d67ca89SAndroid Build Coastguard Worker struct iphdr { 64*8d67ca89SAndroid Build Coastguard Worker #ifdef __LITTLE_ENDIAN_BITFIELD 65*8d67ca89SAndroid Build Coastguard Worker __u8 ihl : 4, version : 4; 66*8d67ca89SAndroid Build Coastguard Worker #elif defined(__BIG_ENDIAN_BITFIELD) 67*8d67ca89SAndroid Build Coastguard Worker __u8 version : 4, ihl : 4; 68*8d67ca89SAndroid Build Coastguard Worker #else 69*8d67ca89SAndroid Build Coastguard Worker #error "Please fix <asm/byteorder.h>" 70*8d67ca89SAndroid Build Coastguard Worker #endif 71*8d67ca89SAndroid Build Coastguard Worker __u8 tos; 72*8d67ca89SAndroid Build Coastguard Worker __be16 tot_len; 73*8d67ca89SAndroid Build Coastguard Worker __be16 id; 74*8d67ca89SAndroid Build Coastguard Worker __be16 frag_off; 75*8d67ca89SAndroid Build Coastguard Worker __u8 ttl; 76*8d67ca89SAndroid Build Coastguard Worker __u8 protocol; 77*8d67ca89SAndroid Build Coastguard Worker __sum16 check; 78*8d67ca89SAndroid Build Coastguard Worker __struct_group(, addrs,, __be32 saddr; 79*8d67ca89SAndroid Build Coastguard Worker __be32 daddr; 80*8d67ca89SAndroid Build Coastguard Worker ); 81*8d67ca89SAndroid Build Coastguard Worker }; 82*8d67ca89SAndroid Build Coastguard Worker struct ip_auth_hdr { 83*8d67ca89SAndroid Build Coastguard Worker __u8 nexthdr; 84*8d67ca89SAndroid Build Coastguard Worker __u8 hdrlen; 85*8d67ca89SAndroid Build Coastguard Worker __be16 reserved; 86*8d67ca89SAndroid Build Coastguard Worker __be32 spi; 87*8d67ca89SAndroid Build Coastguard Worker __be32 seq_no; 88*8d67ca89SAndroid Build Coastguard Worker __u8 auth_data[]; 89*8d67ca89SAndroid Build Coastguard Worker }; 90*8d67ca89SAndroid Build Coastguard Worker struct ip_esp_hdr { 91*8d67ca89SAndroid Build Coastguard Worker __be32 spi; 92*8d67ca89SAndroid Build Coastguard Worker __be32 seq_no; 93*8d67ca89SAndroid Build Coastguard Worker __u8 enc_data[]; 94*8d67ca89SAndroid Build Coastguard Worker }; 95*8d67ca89SAndroid Build Coastguard Worker struct ip_comp_hdr { 96*8d67ca89SAndroid Build Coastguard Worker __u8 nexthdr; 97*8d67ca89SAndroid Build Coastguard Worker __u8 flags; 98*8d67ca89SAndroid Build Coastguard Worker __be16 cpi; 99*8d67ca89SAndroid Build Coastguard Worker }; 100*8d67ca89SAndroid Build Coastguard Worker struct ip_beet_phdr { 101*8d67ca89SAndroid Build Coastguard Worker __u8 nexthdr; 102*8d67ca89SAndroid Build Coastguard Worker __u8 hdrlen; 103*8d67ca89SAndroid Build Coastguard Worker __u8 padlen; 104*8d67ca89SAndroid Build Coastguard Worker __u8 reserved; 105*8d67ca89SAndroid Build Coastguard Worker }; 106*8d67ca89SAndroid Build Coastguard Worker enum { 107*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_FORWARDING = 1, 108*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_MC_FORWARDING, 109*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_PROXY_ARP, 110*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ACCEPT_REDIRECTS, 111*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_SECURE_REDIRECTS, 112*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_SEND_REDIRECTS, 113*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_SHARED_MEDIA, 114*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_RP_FILTER, 115*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE, 116*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_BOOTP_RELAY, 117*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_LOG_MARTIANS, 118*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_TAG, 119*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARPFILTER, 120*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_MEDIUM_ID, 121*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_NOXFRM, 122*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_NOPOLICY, 123*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_FORCE_IGMP_VERSION, 124*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARP_ANNOUNCE, 125*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARP_IGNORE, 126*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_PROMOTE_SECONDARIES, 127*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARP_ACCEPT, 128*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARP_NOTIFY, 129*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ACCEPT_LOCAL, 130*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_SRC_VMARK, 131*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_PROXY_ARP_PVLAN, 132*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ROUTE_LOCALNET, 133*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL, 134*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL, 135*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, 136*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, 137*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_DROP_GRATUITOUS_ARP, 138*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_BC_FORWARDING, 139*8d67ca89SAndroid Build Coastguard Worker IPV4_DEVCONF_ARP_EVICT_NOCARRIER, 140*8d67ca89SAndroid Build Coastguard Worker __IPV4_DEVCONF_MAX 141*8d67ca89SAndroid Build Coastguard Worker }; 142*8d67ca89SAndroid Build Coastguard Worker #define IPV4_DEVCONF_MAX (__IPV4_DEVCONF_MAX - 1) 143*8d67ca89SAndroid Build Coastguard Worker #endif 144