0001
0002 #ifndef _LINUX_ERRQUEUE_H
0003 #define _LINUX_ERRQUEUE_H 1
0004
0005
0006 #include <net/ip.h>
0007 #if IS_ENABLED(CONFIG_IPV6)
0008 #include <linux/ipv6.h>
0009 #endif
0010 #include <uapi/linux/errqueue.h>
0011
0012 #define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))
0013
0014 struct sock_exterr_skb {
0015 union {
0016 struct inet_skb_parm h4;
0017 #if IS_ENABLED(CONFIG_IPV6)
0018 struct inet6_skb_parm h6;
0019 #endif
0020 } header;
0021 struct sock_extended_err ee;
0022 u16 addr_offset;
0023 __be16 port;
0024 u8 opt_stats:1,
0025 unused:7;
0026 };
0027
0028 #endif