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