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 |