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_SKBUFF_H
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_SKBUFF_H
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/kernel.h>
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/compiler.h>
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/time.h>
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/cache.h>
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/atomic.h>
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/types.h>
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/spinlock.h>
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/mm.h>
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/highmem.h>
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/poll.h>
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/net.h>
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/textsearch.h>
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <net/checksum.h>
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/dmaengine.h>
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HAVE_ALLOC_SKB
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define HAVE_ALIGNABLE_SKB
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CHECKSUM_NONE 0
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CHECKSUM_HW 1
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CHECKSUM_UNNECESSARY 2
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_DATA_ALIGN(X) (((X) + (SMP_CACHE_BYTES - 1)) &   ~(SMP_CACHE_BYTES - 1))
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_MAX_ORDER(X, ORDER) (((PAGE_SIZE << (ORDER)) - (X) -   sizeof(struct skb_shared_info)) &   ~(SMP_CACHE_BYTES - 1))
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_MAX_HEAD(X) (SKB_MAX_ORDER((X), 0))
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_MAX_ALLOC (SKB_MAX_ORDER(0, 2))
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct net_device;
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct sk_buff_head {
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sk_buff *next;
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sk_buff *prev;
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 qlen;
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project spinlock_t lock;
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct sk_buff;
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct skb_frag_struct skb_frag_t;
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct skb_frag_struct {
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct page *page;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 page_offset;
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 size;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct skb_shared_info {
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project atomic_t dataref;
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short nr_frags;
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short gso_size;
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short gso_segs;
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned short gso_type;
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int ip6_frag_id;
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sk_buff *frag_list;
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project skb_frag_t frags[MAX_SKB_FRAGS];
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_DATAREF_SHIFT 16
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)
83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct skb_timeval {
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 off_sec;
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 off_usec;
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectenum {
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_FCLONE_UNAVAILABLE,
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_FCLONE_ORIG,
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_FCLONE_CLONE,
93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectenum {
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_GSO_TCPV4 = 1 << 0,
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_GSO_UDP = 1 << 1,
98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_GSO_DODGY = 1 << 2,
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_GSO_TCP_ECN = 1 << 3,
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project SKB_GSO_TCPV6 = 1 << 4,
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct sk_buff {
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sk_buff *next;
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sk_buff *prev;
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sock *sk;
108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct skb_timeval tstamp;
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct net_device *dev;
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct net_device *input_dev;
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct tcphdr *th;
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct udphdr *uh;
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct icmphdr *icmph;
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct igmphdr *igmph;
118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct iphdr *ipiph;
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct ipv6hdr *ipv6h;
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char *raw;
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } h;
123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct iphdr *iph;
1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct ipv6hdr *ipv6h;
1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct arphdr *arph;
128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char *raw;
1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } nh;
1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char *raw;
133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } mac;
1351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct dst_entry *dst;
1361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct sec_path *sp;
1371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char cb[48];
138654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int len,
1401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project data_len,
1411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project mac_len,
1421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project csum;
143654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 priority;
1451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 local_df:1,
1461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project cloned:1,
1471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ip_summed:2,
148654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project nohdr:1,
1501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project nfctinfo:3;
1511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 pkt_type:3,
1521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project fclone:2,
153654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ipvs_property:1;
1551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __be16 protocol;
1561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*destructor)(struct sk_buff *skb);
1571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int truesize;
158654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project atomic_t users;
1601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned char *head,
1611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *data,
1621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *tail,
163654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *end;
1651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
167