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