• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /****************************************************************************
2   ****************************************************************************
3   ***
4   ***   This header was automatically generated from a Linux kernel header
5   ***   of the same name, to make information necessary for userspace to
6   ***   call into the kernel available to libc.  It contains only constants,
7   ***   structures, and macros generated from the original header, and thus,
8   ***   contains no copyrightable information.
9   ***
10   ***   To edit the content of this header, modify the corresponding
11   ***   source file (e.g. under external/kernel-headers/original/) then
12   ***   run bionic/libc/kernel/tools/update_all.py
13   ***
14   ***   Any manual change here will be lost the next time this script will
15   ***   be run. You've been warned!
16   ***
17   ****************************************************************************
18   ****************************************************************************/
19  #ifndef _UAPI_LINUX_ERRQUEUE_H
20  #define _UAPI_LINUX_ERRQUEUE_H
21  #include <linux/types.h>
22  #include <linux/time_types.h>
23  struct sock_extended_err {
24    __u32 ee_errno;
25    __u8 ee_origin;
26    __u8 ee_type;
27    __u8 ee_code;
28    __u8 ee_pad;
29    __u32 ee_info;
30    __u32 ee_data;
31  };
32  #define SO_EE_ORIGIN_NONE 0
33  #define SO_EE_ORIGIN_LOCAL 1
34  #define SO_EE_ORIGIN_ICMP 2
35  #define SO_EE_ORIGIN_ICMP6 3
36  #define SO_EE_ORIGIN_TXSTATUS 4
37  #define SO_EE_ORIGIN_ZEROCOPY 5
38  #define SO_EE_ORIGIN_TXTIME 6
39  #define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS
40  #define SO_EE_OFFENDER(ee) ((struct sockaddr *) ((ee) + 1))
41  #define SO_EE_CODE_ZEROCOPY_COPIED 1
42  #define SO_EE_CODE_TXTIME_INVALID_PARAM 1
43  #define SO_EE_CODE_TXTIME_MISSED 2
44  struct scm_timestamping {
45    struct timespec ts[3];
46  };
47  struct scm_timestamping64 {
48    struct __kernel_timespec ts[3];
49  };
50  enum {
51    SCM_TSTAMP_SND,
52    SCM_TSTAMP_SCHED,
53    SCM_TSTAMP_ACK,
54  };
55  #endif
56