blob: d52b46ca8add293950d32b9c5aff9b9c6edb6a90 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_SKBUFF_H
20#define _LINUX_SKBUFF_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/kernel.h>
22#include <linux/compiler.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#include <linux/time.h>
25#include <linux/cache.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080026#include <asm/atomic.h>
27#include <asm/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#include <linux/spinlock.h>
30#include <linux/mm.h>
31#include <linux/highmem.h>
32#include <linux/poll.h>
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#include <linux/net.h>
35#include <linux/textsearch.h>
36#include <net/checksum.h>
37#include <linux/dmaengine.h>
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define HAVE_ALLOC_SKB
40#define HAVE_ALIGNABLE_SKB
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041#define CHECKSUM_NONE 0
42#define CHECKSUM_HW 1
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044#define CHECKSUM_UNNECESSARY 2
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080045#define SKB_DATA_ALIGN(X) (((X) + (SMP_CACHE_BYTES - 1)) & ~(SMP_CACHE_BYTES - 1))
46#define SKB_MAX_ORDER(X, ORDER) (((PAGE_SIZE << (ORDER)) - (X) - sizeof(struct skb_shared_info)) & ~(SMP_CACHE_BYTES - 1))
47#define SKB_MAX_HEAD(X) (SKB_MAX_ORDER((X), 0))
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define SKB_MAX_ALLOC (SKB_MAX_ORDER(0, 2))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080050struct net_device;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080051struct sk_buff_head {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080052 struct sk_buff *next;
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054 struct sk_buff *prev;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080055 __u32 qlen;
56 spinlock_t lock;
57};
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059struct sk_buff;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080060#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061typedef struct skb_frag_struct skb_frag_t;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080062struct skb_frag_struct {
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064 struct page *page;
65 __u16 page_offset;
66 __u16 size;
67};
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069struct skb_shared_info {
70 atomic_t dataref;
71 unsigned short nr_frags;
72 unsigned short gso_size;
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074 unsigned short gso_segs;
75 unsigned short gso_type;
76 unsigned int ip6_frag_id;
77 struct sk_buff *frag_list;
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079 skb_frag_t frags[MAX_SKB_FRAGS];
80};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081#define SKB_DATAREF_SHIFT 16
82#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084struct skb_timeval {
85 u32 off_sec;
86 u32 off_usec;
87};
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089enum {
90 SKB_FCLONE_UNAVAILABLE,
91 SKB_FCLONE_ORIG,
92 SKB_FCLONE_CLONE,
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080095enum {
96 SKB_GSO_TCPV4 = 1 << 0,
97 SKB_GSO_UDP = 1 << 1,
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099 SKB_GSO_DODGY = 1 << 2,
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800100 SKB_GSO_TCP_ECN = 1 << 3,
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800101 SKB_GSO_TCPV6 = 1 << 4,
102};
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104struct sk_buff {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800105 struct sk_buff *next;
106 struct sk_buff *prev;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800107 struct sock *sk;
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109 struct skb_timeval tstamp;
110 struct net_device *dev;
111 struct net_device *input_dev;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800112 union {
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114 struct tcphdr *th;
115 struct udphdr *uh;
116 struct icmphdr *icmph;
117 struct igmphdr *igmph;
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119 struct iphdr *ipiph;
120 struct ipv6hdr *ipv6h;
121 unsigned char *raw;
122 } h;
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124 union {
125 struct iphdr *iph;
126 struct ipv6hdr *ipv6h;
127 struct arphdr *arph;
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129 unsigned char *raw;
130 } nh;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800131 union {
132 unsigned char *raw;
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134 } mac;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800135 struct dst_entry *dst;
136 struct sec_path *sp;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800137 char cb[48];
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139 unsigned int len,
140 data_len,
141 mac_len,
142 csum;
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800144 __u32 priority;
145 __u8 local_df:1,
146 cloned:1,
147 ip_summed:2,
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800149 nohdr:1,
150 nfctinfo:3;
151 __u8 pkt_type:3,
152 fclone:2,
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800154 ipvs_property:1;
155 __be16 protocol;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800156 void (*destructor)(struct sk_buff *skb);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800157 unsigned int truesize;
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800159 atomic_t users;
160 unsigned char *head,
161 *data,
162 *tail,
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800164 *end;
165};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800166#endif