PageRenderTime 48ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/bionic/libc/kernel/common/linux/skbuff.h

https://gitlab.com/brian0218/rk3188_r-box_android4.2.2_sdk
C Header | 166 lines | 119 code | 0 blank | 47 comment | 0 complexity | 3d09ba333ccdceca2e70601b7e39ef93 MD5 | raw file
  1. /****************************************************************************
  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. ***
  10. *** 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. ***
  17. ****************************************************************************
  18. ****************************************************************************/
  19. #ifndef _LINUX_SKBUFF_H
  20. #define _LINUX_SKBUFF_H
  21. #include <linux/kernel.h>
  22. #include <linux/compiler.h>
  23. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  24. #include <linux/time.h>
  25. #include <linux/cache.h>
  26. #include <asm/atomic.h>
  27. #include <asm/types.h>
  28. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  29. #include <linux/spinlock.h>
  30. #include <linux/mm.h>
  31. #include <linux/highmem.h>
  32. #include <linux/poll.h>
  33. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  34. #include <linux/net.h>
  35. #include <linux/textsearch.h>
  36. #include <net/checksum.h>
  37. #include <linux/dmaengine.h>
  38. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  39. #define HAVE_ALLOC_SKB
  40. #define HAVE_ALIGNABLE_SKB
  41. #define CHECKSUM_NONE 0
  42. #define CHECKSUM_HW 1
  43. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  44. #define CHECKSUM_UNNECESSARY 2
  45. #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))
  48. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  49. #define SKB_MAX_ALLOC (SKB_MAX_ORDER(0, 2))
  50. struct net_device;
  51. struct sk_buff_head {
  52. struct sk_buff *next;
  53. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  54. struct sk_buff *prev;
  55. __u32 qlen;
  56. spinlock_t lock;
  57. };
  58. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  59. struct sk_buff;
  60. #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
  61. typedef struct skb_frag_struct skb_frag_t;
  62. struct skb_frag_struct {
  63. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  64. struct page *page;
  65. __u16 page_offset;
  66. __u16 size;
  67. };
  68. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  69. struct skb_shared_info {
  70. atomic_t dataref;
  71. unsigned short nr_frags;
  72. unsigned short gso_size;
  73. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  74. unsigned short gso_segs;
  75. unsigned short gso_type;
  76. unsigned int ip6_frag_id;
  77. struct sk_buff *frag_list;
  78. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  79. skb_frag_t frags[MAX_SKB_FRAGS];
  80. };
  81. #define SKB_DATAREF_SHIFT 16
  82. #define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)
  83. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  84. struct skb_timeval {
  85. u32 off_sec;
  86. u32 off_usec;
  87. };
  88. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  89. enum {
  90. SKB_FCLONE_UNAVAILABLE,
  91. SKB_FCLONE_ORIG,
  92. SKB_FCLONE_CLONE,
  93. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  94. };
  95. enum {
  96. SKB_GSO_TCPV4 = 1 << 0,
  97. SKB_GSO_UDP = 1 << 1,
  98. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  99. SKB_GSO_DODGY = 1 << 2,
  100. SKB_GSO_TCP_ECN = 1 << 3,
  101. SKB_GSO_TCPV6 = 1 << 4,
  102. };
  103. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  104. struct sk_buff {
  105. struct sk_buff *next;
  106. struct sk_buff *prev;
  107. struct sock *sk;
  108. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  109. struct skb_timeval tstamp;
  110. struct net_device *dev;
  111. struct net_device *input_dev;
  112. union {
  113. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  114. struct tcphdr *th;
  115. struct udphdr *uh;
  116. struct icmphdr *icmph;
  117. struct igmphdr *igmph;
  118. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  119. struct iphdr *ipiph;
  120. struct ipv6hdr *ipv6h;
  121. unsigned char *raw;
  122. } h;
  123. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  124. union {
  125. struct iphdr *iph;
  126. struct ipv6hdr *ipv6h;
  127. struct arphdr *arph;
  128. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  129. unsigned char *raw;
  130. } nh;
  131. union {
  132. unsigned char *raw;
  133. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  134. } mac;
  135. struct dst_entry *dst;
  136. struct sec_path *sp;
  137. char cb[48];
  138. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  139. unsigned int len,
  140. data_len,
  141. mac_len,
  142. csum;
  143. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  144. __u32 priority;
  145. __u8 local_df:1,
  146. cloned:1,
  147. ip_summed:2,
  148. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  149. nohdr:1,
  150. nfctinfo:3;
  151. __u8 pkt_type:3,
  152. fclone:2,
  153. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  154. ipvs_property:1;
  155. __be16 protocol;
  156. void (*destructor)(struct sk_buff *skb);
  157. unsigned int truesize;
  158. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  159. atomic_t users;
  160. unsigned char *head,
  161. *data,
  162. *tail,
  163. /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  164. *end;
  165. };
  166. #endif