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