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
14struct 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