xref: /aosp_15_r20/external/kernel-headers/original/uapi/asm-generic/socket.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef __ASM_GENERIC_SOCKET_H
3*f80ad8b4SAndroid Build Coastguard Worker #define __ASM_GENERIC_SOCKET_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/posix_types.h>
6*f80ad8b4SAndroid Build Coastguard Worker #include <asm/sockios.h>
7*f80ad8b4SAndroid Build Coastguard Worker 
8*f80ad8b4SAndroid Build Coastguard Worker /* For setsockopt(2) */
9*f80ad8b4SAndroid Build Coastguard Worker #define SOL_SOCKET	1
10*f80ad8b4SAndroid Build Coastguard Worker 
11*f80ad8b4SAndroid Build Coastguard Worker #define SO_DEBUG	1
12*f80ad8b4SAndroid Build Coastguard Worker #define SO_REUSEADDR	2
13*f80ad8b4SAndroid Build Coastguard Worker #define SO_TYPE		3
14*f80ad8b4SAndroid Build Coastguard Worker #define SO_ERROR	4
15*f80ad8b4SAndroid Build Coastguard Worker #define SO_DONTROUTE	5
16*f80ad8b4SAndroid Build Coastguard Worker #define SO_BROADCAST	6
17*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDBUF	7
18*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVBUF	8
19*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDBUFFORCE	32
20*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVBUFFORCE	33
21*f80ad8b4SAndroid Build Coastguard Worker #define SO_KEEPALIVE	9
22*f80ad8b4SAndroid Build Coastguard Worker #define SO_OOBINLINE	10
23*f80ad8b4SAndroid Build Coastguard Worker #define SO_NO_CHECK	11
24*f80ad8b4SAndroid Build Coastguard Worker #define SO_PRIORITY	12
25*f80ad8b4SAndroid Build Coastguard Worker #define SO_LINGER	13
26*f80ad8b4SAndroid Build Coastguard Worker #define SO_BSDCOMPAT	14
27*f80ad8b4SAndroid Build Coastguard Worker #define SO_REUSEPORT	15
28*f80ad8b4SAndroid Build Coastguard Worker #ifndef SO_PASSCRED /* powerpc only differs in these */
29*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSCRED	16
30*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERCRED	17
31*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVLOWAT	18
32*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDLOWAT	19
33*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO_OLD	20
34*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO_OLD	21
35*f80ad8b4SAndroid Build Coastguard Worker #endif
36*f80ad8b4SAndroid Build Coastguard Worker 
37*f80ad8b4SAndroid Build Coastguard Worker /* Security levels - as per NRL IPv6 - don't actually do anything */
38*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_AUTHENTICATION		22
39*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_TRANSPORT	23
40*f80ad8b4SAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_NETWORK		24
41*f80ad8b4SAndroid Build Coastguard Worker 
42*f80ad8b4SAndroid Build Coastguard Worker #define SO_BINDTODEVICE	25
43*f80ad8b4SAndroid Build Coastguard Worker 
44*f80ad8b4SAndroid Build Coastguard Worker /* Socket filtering */
45*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_FILTER	26
46*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_FILTER	27
47*f80ad8b4SAndroid Build Coastguard Worker #define SO_GET_FILTER		SO_ATTACH_FILTER
48*f80ad8b4SAndroid Build Coastguard Worker 
49*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERNAME		28
50*f80ad8b4SAndroid Build Coastguard Worker 
51*f80ad8b4SAndroid Build Coastguard Worker #define SO_ACCEPTCONN		30
52*f80ad8b4SAndroid Build Coastguard Worker 
53*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERSEC		31
54*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSSEC		34
55*f80ad8b4SAndroid Build Coastguard Worker 
56*f80ad8b4SAndroid Build Coastguard Worker #define SO_MARK			36
57*f80ad8b4SAndroid Build Coastguard Worker 
58*f80ad8b4SAndroid Build Coastguard Worker #define SO_PROTOCOL		38
59*f80ad8b4SAndroid Build Coastguard Worker #define SO_DOMAIN		39
60*f80ad8b4SAndroid Build Coastguard Worker 
61*f80ad8b4SAndroid Build Coastguard Worker #define SO_RXQ_OVFL             40
62*f80ad8b4SAndroid Build Coastguard Worker 
63*f80ad8b4SAndroid Build Coastguard Worker #define SO_WIFI_STATUS		41
64*f80ad8b4SAndroid Build Coastguard Worker #define SCM_WIFI_STATUS	SO_WIFI_STATUS
65*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEEK_OFF		42
66*f80ad8b4SAndroid Build Coastguard Worker 
67*f80ad8b4SAndroid Build Coastguard Worker /* Instruct lower device to use last 4-bytes of skb data as FCS */
68*f80ad8b4SAndroid Build Coastguard Worker #define SO_NOFCS		43
69*f80ad8b4SAndroid Build Coastguard Worker 
70*f80ad8b4SAndroid Build Coastguard Worker #define SO_LOCK_FILTER		44
71*f80ad8b4SAndroid Build Coastguard Worker 
72*f80ad8b4SAndroid Build Coastguard Worker #define SO_SELECT_ERR_QUEUE	45
73*f80ad8b4SAndroid Build Coastguard Worker 
74*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUSY_POLL		46
75*f80ad8b4SAndroid Build Coastguard Worker 
76*f80ad8b4SAndroid Build Coastguard Worker #define SO_MAX_PACING_RATE	47
77*f80ad8b4SAndroid Build Coastguard Worker 
78*f80ad8b4SAndroid Build Coastguard Worker #define SO_BPF_EXTENSIONS	48
79*f80ad8b4SAndroid Build Coastguard Worker 
80*f80ad8b4SAndroid Build Coastguard Worker #define SO_INCOMING_CPU		49
81*f80ad8b4SAndroid Build Coastguard Worker 
82*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_BPF		50
83*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_BPF		SO_DETACH_FILTER
84*f80ad8b4SAndroid Build Coastguard Worker 
85*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_CBPF	51
86*f80ad8b4SAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_EBPF	52
87*f80ad8b4SAndroid Build Coastguard Worker 
88*f80ad8b4SAndroid Build Coastguard Worker #define SO_CNX_ADVICE		53
89*f80ad8b4SAndroid Build Coastguard Worker 
90*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_OPT_STATS	54
91*f80ad8b4SAndroid Build Coastguard Worker 
92*f80ad8b4SAndroid Build Coastguard Worker #define SO_MEMINFO		55
93*f80ad8b4SAndroid Build Coastguard Worker 
94*f80ad8b4SAndroid Build Coastguard Worker #define SO_INCOMING_NAPI_ID	56
95*f80ad8b4SAndroid Build Coastguard Worker 
96*f80ad8b4SAndroid Build Coastguard Worker #define SO_COOKIE		57
97*f80ad8b4SAndroid Build Coastguard Worker 
98*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_PKTINFO	58
99*f80ad8b4SAndroid Build Coastguard Worker 
100*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERGROUPS		59
101*f80ad8b4SAndroid Build Coastguard Worker 
102*f80ad8b4SAndroid Build Coastguard Worker #define SO_ZEROCOPY		60
103*f80ad8b4SAndroid Build Coastguard Worker 
104*f80ad8b4SAndroid Build Coastguard Worker #define SO_TXTIME		61
105*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TXTIME		SO_TXTIME
106*f80ad8b4SAndroid Build Coastguard Worker 
107*f80ad8b4SAndroid Build Coastguard Worker #define SO_BINDTOIFINDEX	62
108*f80ad8b4SAndroid Build Coastguard Worker 
109*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP_OLD        29
110*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS_OLD      35
111*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING_OLD     37
112*f80ad8b4SAndroid Build Coastguard Worker 
113*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP_NEW        63
114*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS_NEW      64
115*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING_NEW     65
116*f80ad8b4SAndroid Build Coastguard Worker 
117*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO_NEW         66
118*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO_NEW         67
119*f80ad8b4SAndroid Build Coastguard Worker 
120*f80ad8b4SAndroid Build Coastguard Worker #define SO_DETACH_REUSEPORT_BPF 68
121*f80ad8b4SAndroid Build Coastguard Worker 
122*f80ad8b4SAndroid Build Coastguard Worker #define SO_PREFER_BUSY_POLL	69
123*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUSY_POLL_BUDGET	70
124*f80ad8b4SAndroid Build Coastguard Worker 
125*f80ad8b4SAndroid Build Coastguard Worker #define SO_NETNS_COOKIE		71
126*f80ad8b4SAndroid Build Coastguard Worker 
127*f80ad8b4SAndroid Build Coastguard Worker #define SO_BUF_LOCK		72
128*f80ad8b4SAndroid Build Coastguard Worker 
129*f80ad8b4SAndroid Build Coastguard Worker #define SO_RESERVE_MEM		73
130*f80ad8b4SAndroid Build Coastguard Worker 
131*f80ad8b4SAndroid Build Coastguard Worker #define SO_TXREHASH		74
132*f80ad8b4SAndroid Build Coastguard Worker 
133*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVMARK		75
134*f80ad8b4SAndroid Build Coastguard Worker 
135*f80ad8b4SAndroid Build Coastguard Worker #define SO_PASSPIDFD		76
136*f80ad8b4SAndroid Build Coastguard Worker #define SO_PEERPIDFD		77
137*f80ad8b4SAndroid Build Coastguard Worker 
138*f80ad8b4SAndroid Build Coastguard Worker #if !defined(__KERNEL__)
139*f80ad8b4SAndroid Build Coastguard Worker 
140*f80ad8b4SAndroid Build Coastguard Worker #if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
141*f80ad8b4SAndroid Build Coastguard Worker /* on 64-bit and x32, avoid the ?: operator */
142*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP		SO_TIMESTAMP_OLD
143*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS		SO_TIMESTAMPNS_OLD
144*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING		SO_TIMESTAMPING_OLD
145*f80ad8b4SAndroid Build Coastguard Worker 
146*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO		SO_RCVTIMEO_OLD
147*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO		SO_SNDTIMEO_OLD
148*f80ad8b4SAndroid Build Coastguard Worker #else
149*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
150*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
151*f80ad8b4SAndroid Build Coastguard Worker #define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
152*f80ad8b4SAndroid Build Coastguard Worker 
153*f80ad8b4SAndroid Build Coastguard Worker #define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
154*f80ad8b4SAndroid Build Coastguard Worker #define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
155*f80ad8b4SAndroid Build Coastguard Worker #endif
156*f80ad8b4SAndroid Build Coastguard Worker 
157*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMP           SO_TIMESTAMP
158*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPNS         SO_TIMESTAMPNS
159*f80ad8b4SAndroid Build Coastguard Worker #define SCM_TIMESTAMPING        SO_TIMESTAMPING
160*f80ad8b4SAndroid Build Coastguard Worker 
161*f80ad8b4SAndroid Build Coastguard Worker #endif
162*f80ad8b4SAndroid Build Coastguard Worker 
163*f80ad8b4SAndroid Build Coastguard Worker #endif /* __ASM_GENERIC_SOCKET_H */
164