blob: 69261876a7c89951728fcb1ee9fb03e058977b78 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 __ASM_GENERIC_SOCKET_H
20#define __ASM_GENERIC_SOCKET_H
Christopher Ferris24f97eb2019-05-20 12:58:13 -070021#include <linux/posix_types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070022#include <asm/sockios.h>
23#define SOL_SOCKET 1
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define SO_DEBUG 1
25#define SO_REUSEADDR 2
26#define SO_TYPE 3
27#define SO_ERROR 4
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define SO_DONTROUTE 5
29#define SO_BROADCAST 6
30#define SO_SNDBUF 7
31#define SO_RCVBUF 8
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define SO_SNDBUFFORCE 32
33#define SO_RCVBUFFORCE 33
34#define SO_KEEPALIVE 9
35#define SO_OOBINLINE 10
Ben Cheng655a7c02013-10-16 16:09:24 -070036#define SO_NO_CHECK 11
37#define SO_PRIORITY 12
38#define SO_LINGER 13
39#define SO_BSDCOMPAT 14
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define SO_REUSEPORT 15
41#ifndef SO_PASSCRED
42#define SO_PASSCRED 16
43#define SO_PEERCRED 17
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define SO_RCVLOWAT 18
45#define SO_SNDLOWAT 19
Christopher Ferris24f97eb2019-05-20 12:58:13 -070046#define SO_RCVTIMEO_OLD 20
47#define SO_SNDTIMEO_OLD 21
Ben Cheng655a7c02013-10-16 16:09:24 -070048#endif
49#define SO_SECURITY_AUTHENTICATION 22
50#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
51#define SO_SECURITY_ENCRYPTION_NETWORK 24
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define SO_BINDTODEVICE 25
53#define SO_ATTACH_FILTER 26
54#define SO_DETACH_FILTER 27
55#define SO_GET_FILTER SO_ATTACH_FILTER
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define SO_PEERNAME 28
Ben Cheng655a7c02013-10-16 16:09:24 -070057#define SO_ACCEPTCONN 30
Ben Cheng655a7c02013-10-16 16:09:24 -070058#define SO_PEERSEC 31
59#define SO_PASSSEC 34
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define SO_MARK 36
Ben Cheng655a7c02013-10-16 16:09:24 -070061#define SO_PROTOCOL 38
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define SO_DOMAIN 39
63#define SO_RXQ_OVFL 40
64#define SO_WIFI_STATUS 41
65#define SCM_WIFI_STATUS SO_WIFI_STATUS
Ben Cheng655a7c02013-10-16 16:09:24 -070066#define SO_PEEK_OFF 42
67#define SO_NOFCS 43
68#define SO_LOCK_FILTER 44
69#define SO_SELECT_ERR_QUEUE 45
Christopher Ferris38062f92014-07-09 15:33:25 -070070#define SO_BUSY_POLL 46
71#define SO_MAX_PACING_RATE 47
72#define SO_BPF_EXTENSIONS 48
Christopher Ferris05d08e92016-02-04 13:16:38 -080073#define SO_INCOMING_CPU 49
Christopher Ferris05d08e92016-02-04 13:16:38 -080074#define SO_ATTACH_BPF 50
75#define SO_DETACH_BPF SO_DETACH_FILTER
Christopher Ferris106b3a82016-08-24 12:15:38 -070076#define SO_ATTACH_REUSEPORT_CBPF 51
77#define SO_ATTACH_REUSEPORT_EBPF 52
Christopher Ferris106b3a82016-08-24 12:15:38 -070078#define SO_CNX_ADVICE 53
Christopher Ferris48af7cb2017-02-21 12:35:09 -080079#define SCM_TIMESTAMPING_OPT_STATS 54
Christopher Ferris525ce912017-07-26 13:12:53 -070080#define SO_MEMINFO 55
81#define SO_INCOMING_NAPI_ID 56
82#define SO_COOKIE 57
Christopher Ferris1308ad32017-11-14 17:32:13 -080083#define SCM_TIMESTAMPING_PKTINFO 58
84#define SO_PEERGROUPS 59
85#define SO_ZEROCOPY 60
Christopher Ferris9ce28842018-10-25 12:11:39 -070086#define SO_TXTIME 61
87#define SCM_TXTIME SO_TXTIME
Christopher Ferris24f97eb2019-05-20 12:58:13 -070088#define SO_BINDTOIFINDEX 62
89#define SO_TIMESTAMP_OLD 29
90#define SO_TIMESTAMPNS_OLD 35
91#define SO_TIMESTAMPING_OLD 37
92#define SO_TIMESTAMP_NEW 63
93#define SO_TIMESTAMPNS_NEW 64
94#define SO_TIMESTAMPING_NEW 65
95#define SO_RCVTIMEO_NEW 66
96#define SO_SNDTIMEO_NEW 67
Christopher Ferrisb8a95e22019-10-02 18:29:20 -070097#define SO_DETACH_REUSEPORT_BPF 68
Christopher Ferris05667cd2021-02-16 16:01:34 -080098#define SO_PREFER_BUSY_POLL 69
99#define SO_BUSY_POLL_BUDGET 70
Christopher Ferris3a39c0b2021-09-02 00:03:38 +0000100#define SO_NETNS_COOKIE 71
Christopher Ferris2abfa9e2021-11-01 16:26:06 -0700101#define SO_BUF_LOCK 72
Christopher Ferrisa4792612022-01-10 13:51:15 -0800102#define SO_RESERVE_MEM 73
Christopher Ferris10a76e62022-06-08 13:31:52 -0700103#define SO_TXREHASH 74
Christopher Ferris24f97eb2019-05-20 12:58:13 -0700104#if __BITS_PER_LONG == 64 || defined(__x86_64__) && defined(__ILP32__)
105#define SO_TIMESTAMP SO_TIMESTAMP_OLD
106#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
107#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
108#define SO_RCVTIMEO SO_RCVTIMEO_OLD
109#define SO_SNDTIMEO SO_SNDTIMEO_OLD
110#else
111#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
112#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
113#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
114#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
115#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
116#endif
117#define SCM_TIMESTAMP SO_TIMESTAMP
118#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
119#define SCM_TIMESTAMPING SO_TIMESTAMPING
Christopher Ferris05d08e92016-02-04 13:16:38 -0800120#endif