Branch data Line data Source code
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 : :
20 : : #include <linux/skbuff.h>
21 : : #include <uapi/linux/ip.h>
22 : :
23 : 265594 : static inline struct iphdr *ip_hdr(const struct sk_buff *skb)
24 : : {
25 : : return (struct iphdr *)skb_network_header(skb);
26 : : }
27 : :
28 : 0 : static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb)
29 : : {
30 : : return (struct iphdr *)skb_inner_network_header(skb);
31 : : }
32 : :
33 : 0 : static inline struct iphdr *ipip_hdr(const struct sk_buff *skb)
34 : : {
35 : : return (struct iphdr *)skb_transport_header(skb);
36 : : }
37 : : #endif /* _LINUX_IP_H */
|