xref: /aosp_15_r20/prebuilts/build-tools/sysroots/x86_64-unknown-linux-musl/include/linux/errqueue.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_LINUX_ERRQUEUE_H
8 #define _UAPI_LINUX_ERRQUEUE_H
9 #include <linux/types.h>
10 #include <linux/time_types.h>
11 struct sock_ee_data_rfc4884 {
12   __u16 len;
13   __u8 flags;
14   __u8 reserved;
15 };
16 struct sock_extended_err {
17   __u32 ee_errno;
18   __u8 ee_origin;
19   __u8 ee_type;
20   __u8 ee_code;
21   __u8 ee_pad;
22   __u32 ee_info;
23   union {
24     __u32 ee_data;
25     struct sock_ee_data_rfc4884 ee_rfc4884;
26   };
27 };
28 #define SO_EE_ORIGIN_NONE 0
29 #define SO_EE_ORIGIN_LOCAL 1
30 #define SO_EE_ORIGIN_ICMP 2
31 #define SO_EE_ORIGIN_ICMP6 3
32 #define SO_EE_ORIGIN_TXSTATUS 4
33 #define SO_EE_ORIGIN_ZEROCOPY 5
34 #define SO_EE_ORIGIN_TXTIME 6
35 #define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS
36 #define SO_EE_OFFENDER(ee) ((struct sockaddr *) ((ee) + 1))
37 #define SO_EE_CODE_ZEROCOPY_COPIED 1
38 #define SO_EE_CODE_TXTIME_INVALID_PARAM 1
39 #define SO_EE_CODE_TXTIME_MISSED 2
40 #define SO_EE_RFC4884_FLAG_INVALID 1
41 struct scm_timestamping {
42   struct timespec ts[3];
43 };
44 struct scm_timestamping64 {
45   struct __kernel_timespec ts[3];
46 };
47 enum {
48   SCM_TSTAMP_SND,
49   SCM_TSTAMP_SCHED,
50   SCM_TSTAMP_ACK,
51 };
52 #endif
53