]>
Commit | Line | Data |
---|---|---|
e2be04c7 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
61730c53 DH |
2 | /* |
3 | * This file is subject to the terms and conditions of the GNU General Public | |
4 | * License. See the file "COPYING" in the main directory of this archive | |
5 | * for more details. | |
6 | * | |
7 | * Copyright (C) 1997, 1999, 2000, 2001 Ralf Baechle | |
8 | * Copyright (C) 2000, 2001 Silicon Graphics, Inc. | |
9 | */ | |
10 | #ifndef _UAPI_ASM_SOCKET_H | |
11 | #define _UAPI_ASM_SOCKET_H | |
12 | ||
a623a7a1 | 13 | #include <linux/posix_types.h> |
61730c53 DH |
14 | #include <asm/sockios.h> |
15 | ||
16 | /* | |
17 | * For setsockopt(2) | |
18 | * | |
19 | * This defines are ABI conformant as far as Linux supports these ... | |
20 | */ | |
21 | #define SOL_SOCKET 0xffff | |
22 | ||
23 | #define SO_DEBUG 0x0001 /* Record debugging information. */ | |
24 | #define SO_REUSEADDR 0x0004 /* Allow reuse of local addresses. */ | |
25 | #define SO_KEEPALIVE 0x0008 /* Keep connections alive and send | |
26 | SIGPIPE when they die. */ | |
27 | #define SO_DONTROUTE 0x0010 /* Don't do local routing. */ | |
28 | #define SO_BROADCAST 0x0020 /* Allow transmission of | |
70342287 | 29 | broadcast messages. */ |
61730c53 DH |
30 | #define SO_LINGER 0x0080 /* Block on close of a reliable |
31 | socket to transmit pending data. */ | |
32 | #define SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band. */ | |
055dc21a | 33 | #define SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */ |
61730c53 DH |
34 | |
35 | #define SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */ | |
70342287 | 36 | #define SO_STYLE SO_TYPE /* Synonym */ |
61730c53 DH |
37 | #define SO_ERROR 0x1007 /* get error status and clear */ |
38 | #define SO_SNDBUF 0x1001 /* Send buffer size. */ | |
39 | #define SO_RCVBUF 0x1002 /* Receive buffer. */ | |
40 | #define SO_SNDLOWAT 0x1003 /* send low-water mark */ | |
41 | #define SO_RCVLOWAT 0x1004 /* receive low-water mark */ | |
45bdc661 DD |
42 | #define SO_SNDTIMEO_OLD 0x1005 /* send timeout */ |
43 | #define SO_RCVTIMEO_OLD 0x1006 /* receive timeout */ | |
61730c53 DH |
44 | #define SO_ACCEPTCONN 0x1009 |
45 | #define SO_PROTOCOL 0x1028 /* protocol type */ | |
46 | #define SO_DOMAIN 0x1029 /* domain/socket family */ | |
47 | ||
48 | /* linux-specific, might as well be the same as on i386 */ | |
49 | #define SO_NO_CHECK 11 | |
50 | #define SO_PRIORITY 12 | |
51 | #define SO_BSDCOMPAT 14 | |
52 | ||
53 | #define SO_PASSCRED 17 | |
54 | #define SO_PEERCRED 18 | |
55 | ||
56 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | |
57 | #define SO_SECURITY_AUTHENTICATION 22 | |
58 | #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 | |
59 | #define SO_SECURITY_ENCRYPTION_NETWORK 24 | |
60 | ||
61 | #define SO_BINDTODEVICE 25 | |
62 | ||
63 | /* Socket filtering */ | |
70342287 RB |
64 | #define SO_ATTACH_FILTER 26 |
65 | #define SO_DETACH_FILTER 27 | |
a8fc9277 | 66 | #define SO_GET_FILTER SO_ATTACH_FILTER |
61730c53 | 67 | |
70342287 | 68 | #define SO_PEERNAME 28 |
61730c53 DH |
69 | |
70 | #define SO_PEERSEC 30 | |
71 | #define SO_SNDBUFFORCE 31 | |
72 | #define SO_RCVBUFFORCE 33 | |
73 | #define SO_PASSSEC 34 | |
61730c53 DH |
74 | |
75 | #define SO_MARK 36 | |
76 | ||
70342287 | 77 | #define SO_RXQ_OVFL 40 |
61730c53 DH |
78 | |
79 | #define SO_WIFI_STATUS 41 | |
80 | #define SCM_WIFI_STATUS SO_WIFI_STATUS | |
81 | #define SO_PEEK_OFF 42 | |
82 | ||
83 | /* Instruct lower device to use last 4-bytes of skb data as FCS */ | |
84 | #define SO_NOFCS 43 | |
85 | ||
d59577b6 | 86 | #define SO_LOCK_FILTER 44 |
61730c53 | 87 | |
7d4c04fc KJ |
88 | #define SO_SELECT_ERR_QUEUE 45 |
89 | ||
64b0dc51 | 90 | #define SO_BUSY_POLL 46 |
dafcc438 | 91 | |
62748f32 ED |
92 | #define SO_MAX_PACING_RATE 47 |
93 | ||
ea02f941 MS |
94 | #define SO_BPF_EXTENSIONS 48 |
95 | ||
2c8c56e1 ED |
96 | #define SO_INCOMING_CPU 49 |
97 | ||
89aa0758 AS |
98 | #define SO_ATTACH_BPF 50 |
99 | #define SO_DETACH_BPF SO_DETACH_FILTER | |
100 | ||
538950a1 CG |
101 | #define SO_ATTACH_REUSEPORT_CBPF 51 |
102 | #define SO_ATTACH_REUSEPORT_EBPF 52 | |
103 | ||
a87cb3e4 TH |
104 | #define SO_CNX_ADVICE 53 |
105 | ||
1c885808 FY |
106 | #define SCM_TIMESTAMPING_OPT_STATS 54 |
107 | ||
a2d133b1 JH |
108 | #define SO_MEMINFO 55 |
109 | ||
6d433902 | 110 | #define SO_INCOMING_NAPI_ID 56 |
a2d133b1 | 111 | |
5daab9db CF |
112 | #define SO_COOKIE 57 |
113 | ||
1c4f676a DM |
114 | #define SCM_TIMESTAMPING_PKTINFO 58 |
115 | ||
28b5ba2a DH |
116 | #define SO_PEERGROUPS 59 |
117 | ||
76851d12 WB |
118 | #define SO_ZEROCOPY 60 |
119 | ||
80b14dee RC |
120 | #define SO_TXTIME 61 |
121 | #define SCM_TXTIME SO_TXTIME | |
122 | ||
f5dd3d0c DH |
123 | #define SO_BINDTOIFINDEX 62 |
124 | ||
7f1bc6e9 DD |
125 | #define SO_TIMESTAMP_OLD 29 |
126 | #define SO_TIMESTAMPNS_OLD 35 | |
127 | #define SO_TIMESTAMPING_OLD 37 | |
128 | ||
887feae3 DD |
129 | #define SO_TIMESTAMP_NEW 63 |
130 | #define SO_TIMESTAMPNS_NEW 64 | |
9718475e | 131 | #define SO_TIMESTAMPING_NEW 65 |
887feae3 | 132 | |
a9beb86a DD |
133 | #define SO_RCVTIMEO_NEW 66 |
134 | #define SO_SNDTIMEO_NEW 67 | |
135 | ||
7f1bc6e9 DD |
136 | #if !defined(__KERNEL__) |
137 | ||
887feae3 DD |
138 | #if __BITS_PER_LONG == 64 |
139 | #define SO_TIMESTAMP SO_TIMESTAMP_OLD | |
140 | #define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD | |
9718475e | 141 | #define SO_TIMESTAMPING SO_TIMESTAMPING_OLD |
a9beb86a DD |
142 | |
143 | #define SO_RCVTIMEO SO_RCVTIMEO_OLD | |
144 | #define SO_SNDTIMEO SO_SNDTIMEO_OLD | |
887feae3 DD |
145 | #else |
146 | #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) | |
147 | #define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) | |
9718475e | 148 | #define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) |
a9beb86a DD |
149 | |
150 | #define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) | |
151 | #define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) | |
887feae3 DD |
152 | #endif |
153 | ||
7f1bc6e9 DD |
154 | #define SCM_TIMESTAMP SO_TIMESTAMP |
155 | #define SCM_TIMESTAMPNS SO_TIMESTAMPNS | |
156 | #define SCM_TIMESTAMPING SO_TIMESTAMPING | |
157 | ||
158 | #endif | |
159 | ||
61730c53 | 160 | #endif /* _UAPI_ASM_SOCKET_H */ |