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