ip.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * INET An implementation of the TCP/IP protocol suite for the LINUX
  3. * operating system. INET is implemented using the BSD Socket
  4. * interface as the means of communication with the user level.
  5. *
  6. * Definitions for the IP protocol.
  7. *
  8. * Version: @(#)ip.h 1.0.2 04/28/93
  9. *
  10. * Authors: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  11. *
  12. * This program is free software; you can redistribute it and/or
  13. * modify it under the terms of the GNU General Public License
  14. * as published by the Free Software Foundation; either version
  15. * 2 of the License, or (at your option) any later version.
  16. */
  17. #ifndef _LINUX_IP_H
  18. #define _LINUX_IP_H
  19. #include <linux/skbuff.h>
  20. #include <uapi/linux/ip.h>
  21. static inline struct iphdr *ip_hdr(const struct sk_buff *skb)
  22. {
  23. return (struct iphdr *)skb_network_header(skb);
  24. }
  25. static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb)
  26. {
  27. return (struct iphdr *)skb_inner_network_header(skb);
  28. }
  29. static inline struct iphdr *ipip_hdr(const struct sk_buff *skb)
  30. {
  31. return (struct iphdr *)skb_transport_header(skb);
  32. }
  33. #endif /* _LINUX_IP_H */