11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _LINUX_IP_H
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_IP_H
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/types.h>
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/byteorder.h>
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_TOS_MASK 0x1E
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_LOWDELAY 0x10
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_THROUGHPUT 0x08
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_RELIABILITY 0x04
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_MINCOST 0x02
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_MASK 0xE0
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK)
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_NETCONTROL 0xe0
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_INTERNETCONTROL 0xc0
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_CRITIC_ECP 0xa0
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_FLASHOVERRIDE 0x80
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_FLASH 0x60
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_IMMEDIATE 0x40
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_PRIORITY 0x20
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPTOS_PREC_ROUTINE 0x00
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_COPY 0x80
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_CLASS_MASK 0x60
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_NUMBER_MASK 0x1f
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_COPIED(o) ((o)&IPOPT_COPY)
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK)
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK)
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_CONTROL 0x00
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_RESERVED1 0x20
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_MEASUREMENT 0x40
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_RESERVED2 0x60
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_END (0 |IPOPT_CONTROL)
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_NOOP (1 |IPOPT_CONTROL)
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY)
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY)
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT)
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_RR (7 |IPOPT_CONTROL)
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY)
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY)
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY)
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPVERSION 4
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MAXTTL 255
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPDEFTTL 64
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_OPTVAL 0
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_OLEN 1
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_OFFSET 2
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_MINOFF 4
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MAX_IPOPTLEN 40
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_NOP IPOPT_NOOP
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_EOL IPOPT_END
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_TS IPOPT_TIMESTAMP
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_TS_TSONLY 0
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_TS_TSANDADDR 1
83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPOPT_TS_PRESPEC 3
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct iphdr {
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __LITTLE_ENDIAN_BITFIELD
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 ihl:4,
88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project version:4;
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#elif defined (__BIG_ENDIAN_BITFIELD)
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 version:4,
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ihl:4;
93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#error "Please fix <asm/byteorder.h>"
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 tos;
98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be16 tot_len;
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be16 id;
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be16 frag_off;
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 ttl;
103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 protocol;
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 check;
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be32 saddr;
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be32 daddr;
108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ip_auth_hdr {
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 nexthdr;
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 hdrlen;
113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 reserved;
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 spi;
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 seq_no;
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 auth_data[0];
118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ip_esp_hdr {
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 spi;
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 seq_no;
123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 enc_data[0];
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ip_comp_hdr {
1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 nexthdr;
128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 flags;
1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 cpi;
1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134