blob: 196189be232dd803aaff116c298bd6877a2a4542 [file] [log] [blame]
Nick Kralevicha67e4de2013-01-14 11:28:26 -08001/****************************************************************************
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 ****************************************************************************/
Ben Cheng655a7c02013-10-16 16:09:24 -070019#ifndef _UAPI_LINUX_ERRQUEUE_H
20#define _UAPI_LINUX_ERRQUEUE_H
21#include <linux/types.h>
22struct sock_extended_err {
Tao Baod7db5942015-01-28 10:07:51 -080023 __u32 ee_errno;
24 __u8 ee_origin;
25 __u8 ee_type;
26 __u8 ee_code;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u8 ee_pad;
28 __u32 ee_info;
29 __u32 ee_data;
Ben Cheng655a7c02013-10-16 16:09:24 -070030};
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define SO_EE_ORIGIN_NONE 0
32#define SO_EE_ORIGIN_LOCAL 1
33#define SO_EE_ORIGIN_ICMP 2
34#define SO_EE_ORIGIN_ICMP6 3
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define SO_EE_ORIGIN_TXSTATUS 4
Christopher Ferris1308ad32017-11-14 17:32:13 -080036#define SO_EE_ORIGIN_ZEROCOPY 5
Ben Cheng655a7c02013-10-16 16:09:24 -070037#define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS
Tao Baod7db5942015-01-28 10:07:51 -080038#define SO_EE_OFFENDER(ee) ((struct sockaddr *) ((ee) + 1))
Christopher Ferris1308ad32017-11-14 17:32:13 -080039#define SO_EE_CODE_ZEROCOPY_COPIED 1
Christopher Ferris82d75042015-01-26 10:57:07 -080040struct scm_timestamping {
Tao Baod7db5942015-01-28 10:07:51 -080041 struct timespec ts[3];
Christopher Ferris82d75042015-01-26 10:57:07 -080042};
43enum {
Tao Baod7db5942015-01-28 10:07:51 -080044 SCM_TSTAMP_SND,
Tao Baod7db5942015-01-28 10:07:51 -080045 SCM_TSTAMP_SCHED,
46 SCM_TSTAMP_ACK,
Christopher Ferris82d75042015-01-26 10:57:07 -080047};
Nick Kralevicha67e4de2013-01-14 11:28:26 -080048#endif