hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/arch/sparc/include/uapi/asm/socket.h
....@@ -2,6 +2,7 @@
22 #ifndef _ASM_SOCKET_H
33 #define _ASM_SOCKET_H
44
5
+#include <linux/posix_types.h>
56 #include <asm/sockios.h>
67
78 /* For setsockopt(2) */
....@@ -20,8 +21,8 @@
2021 #define SO_BSDCOMPAT 0x0400
2122 #define SO_RCVLOWAT 0x0800
2223 #define SO_SNDLOWAT 0x1000
23
-#define SO_RCVTIMEO 0x2000
24
-#define SO_SNDTIMEO 0x4000
24
+#define SO_RCVTIMEO_OLD 0x2000
25
+#define SO_SNDTIMEO_OLD 0x4000
2526 #define SO_ACCEPTCONN 0x8000
2627
2728 #define SO_SNDBUF 0x1001
....@@ -32,7 +33,6 @@
3233 #define SO_TYPE 0x1008
3334 #define SO_PROTOCOL 0x1028
3435 #define SO_DOMAIN 0x1029
35
-
3636
3737 /* Linux specific, keep the same. */
3838 #define SO_NO_CHECK 0x000b
....@@ -45,18 +45,11 @@
4545 #define SO_GET_FILTER SO_ATTACH_FILTER
4646
4747 #define SO_PEERNAME 0x001c
48
-#define SO_TIMESTAMP 0x001d
49
-#define SCM_TIMESTAMP SO_TIMESTAMP
5048
5149 #define SO_PEERSEC 0x001e
5250 #define SO_PASSSEC 0x001f
53
-#define SO_TIMESTAMPNS 0x0021
54
-#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
5551
5652 #define SO_MARK 0x0022
57
-
58
-#define SO_TIMESTAMPING 0x0023
59
-#define SCM_TIMESTAMPING SO_TIMESTAMPING
6053
6154 #define SO_RXQ_OVFL 0x0024
6255
....@@ -104,9 +97,49 @@
10497 #define SO_TXTIME 0x003f
10598 #define SCM_TXTIME SO_TXTIME
10699
100
+#define SO_BINDTOIFINDEX 0x0041
101
+
107102 /* Security levels - as per NRL IPv6 - don't actually do anything */
108103 #define SO_SECURITY_AUTHENTICATION 0x5001
109104 #define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002
110105 #define SO_SECURITY_ENCRYPTION_NETWORK 0x5004
111106
107
+#define SO_TIMESTAMP_OLD 0x001d
108
+#define SO_TIMESTAMPNS_OLD 0x0021
109
+#define SO_TIMESTAMPING_OLD 0x0023
110
+
111
+#define SO_TIMESTAMP_NEW 0x0046
112
+#define SO_TIMESTAMPNS_NEW 0x0042
113
+#define SO_TIMESTAMPING_NEW 0x0043
114
+
115
+#define SO_RCVTIMEO_NEW 0x0044
116
+#define SO_SNDTIMEO_NEW 0x0045
117
+
118
+#define SO_DETACH_REUSEPORT_BPF 0x0047
119
+
120
+#if !defined(__KERNEL__)
121
+
122
+
123
+#if __BITS_PER_LONG == 64
124
+#define SO_TIMESTAMP SO_TIMESTAMP_OLD
125
+#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
126
+#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
127
+
128
+#define SO_RCVTIMEO SO_RCVTIMEO_OLD
129
+#define SO_SNDTIMEO SO_SNDTIMEO_OLD
130
+#else
131
+#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
132
+#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
133
+#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
134
+
135
+#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
136
+#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
137
+#endif
138
+
139
+#define SCM_TIMESTAMP SO_TIMESTAMP
140
+#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
141
+#define SCM_TIMESTAMPING SO_TIMESTAMPING
142
+
143
+#endif
144
+
112145 #endif /* _ASM_SOCKET_H */