xref: /linux/include/linux/errqueue.h (revision d218439feccafaa3e852bbaecc0d9f6110096b65)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_ERRQUEUE_H
3 #define _LINUX_ERRQUEUE_H 1
4 
5 
6 #include <net/ip.h>
7 #if IS_ENABLED(CONFIG_IPV6)
8 #include <linux/ipv6.h>
9 #endif
10 #include <uapi/linux/errqueue.h>
11 
12 #define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))
13 
14 struct sock_exterr_skb {
15 	union {
16 		struct inet_skb_parm	h4;
17 #if IS_ENABLED(CONFIG_IPV6)
18 		struct inet6_skb_parm	h6;
19 #endif
20 	} header;
21 	struct sock_extended_err	ee;
22 	u16				addr_offset;
23 	__be16				port;
24 	u8				opt_stats:1,
25 					unused:7;
26 };
27 
28 #endif
29