aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2018-05-19 11:29:55 +0200
committerLaurent Vivier <laurent@vivier.eu>2018-05-25 10:10:55 +0200
commit30a1b125884f53bb33b7b7276ff63b1dd8682669 (patch)
treefeb0c9c5870bce9bbdc4765bac23a7a2922a82ad
parent8f553bf77c0f915624b9e48fc2eacc4968494af0 (diff)
downloadqemu-arm-30a1b125884f53bb33b7b7276ff63b1dd8682669.tar.gz
linux-user: copy sparc/sockbits.h definitions from linux
Values defined for sparc are not correct. Copy the content of "arch/sparc/include/uapi/asm/socket.h" to fix them. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20180519092956.15134-8-laurent@vivier.eu>
-rw-r--r--linux-user/sparc/sockbits.h131
1 files changed, 92 insertions, 39 deletions
diff --git a/linux-user/sparc/sockbits.h b/linux-user/sparc/sockbits.h
index 6434b07033..0a822e3e1f 100644
--- a/linux-user/sparc/sockbits.h
+++ b/linux-user/sparc/sockbits.h
@@ -8,51 +8,104 @@
#ifndef SPARC_SOCKBITS_H
#define SPARC_SOCKBITS_H
-#define TARGET_SO_PASSSEC 31
-
/* For setsockopt(2) */
-#define TARGET_SOL_SOCKET 1
-
-#define TARGET_SO_DEBUG 1
-#define TARGET_SO_REUSEADDR 2
-#define TARGET_SO_TYPE 3
-#define TARGET_SO_ERROR 4
-#define TARGET_SO_DONTROUTE 5
-#define TARGET_SO_BROADCAST 6
-#define TARGET_SO_SNDBUF 7
-#define TARGET_SO_RCVBUF 8
-#define TARGET_SO_SNDBUFFORCE 32
-#define TARGET_SO_RCVBUFFORCE 33
-#define TARGET_SO_KEEPALIVE 9
-#define TARGET_SO_OOBINLINE 10
-#define TARGET_SO_NO_CHECK 11
-#define TARGET_SO_PRIORITY 12
-#define TARGET_SO_LINGER 13
-#define TARGET_SO_BSDCOMPAT 14
-/* To add :#define TARGET_SO_REUSEPORT 15 */
-#define TARGET_SO_PASSCRED 16
-#define TARGET_SO_PEERCRED 17
-#define TARGET_SO_RCVLOWAT 18
-#define TARGET_SO_SNDLOWAT 19
-#define TARGET_SO_RCVTIMEO 20
-#define TARGET_SO_SNDTIMEO 21
+#define TARGET_SOL_SOCKET 0xffff
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define TARGET_SO_SECURITY_AUTHENTICATION 22
-#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24
+#define TARGET_SO_DEBUG 0x0001
+#define TARGET_SO_PASSCRED 0x0002
+#define TARGET_SO_REUSEADDR 0x0004
+#define TARGET_SO_KEEPALIVE 0x0008
+#define TARGET_SO_DONTROUTE 0x0010
+#define TARGET_SO_BROADCAST 0x0020
+#define TARGET_SO_PEERCRED 0x0040
+#define TARGET_SO_LINGER 0x0080
+#define TARGET_SO_OOBINLINE 0x0100
+#define TARGET_SO_REUSEPORT 0x0200
+#define TARGET_SO_BSDCOMPAT 0x0400
+#define TARGET_SO_RCVLOWAT 0x0800
+#define TARGET_SO_SNDLOWAT 0x1000
+#define TARGET_SO_RCVTIMEO 0x2000
+#define TARGET_SO_SNDTIMEO 0x4000
+#define TARGET_SO_ACCEPTCONN 0x8000
+
+#define TARGET_SO_SNDBUF 0x1001
+#define TARGET_SO_RCVBUF 0x1002
+#define TARGET_SO_SNDBUFFORCE 0x100a
+#define TARGET_SO_RCVBUFFORCE 0x100b
+#define TARGET_SO_ERROR 0x1007
+#define TARGET_SO_TYPE 0x1008
+#define TARGET_SO_PROTOCOL 0x1028
+#define TARGET_SO_DOMAIN 0x1029
+
+/* Linux specific, keep the same. */
+#define TARGET_SO_NO_CHECK 0x000b
+#define TARGET_SO_PRIORITY 0x000c
-#define TARGET_SO_BINDTODEVICE 25
+#define TARGET_SO_BINDTODEVICE 0x000d
-/* Socket filtering */
-#define TARGET_SO_ATTACH_FILTER 26
-#define TARGET_SO_DETACH_FILTER 27
+#define TARGET_SO_ATTACH_FILTER 0x001a
+#define TARGET_SO_DETACH_FILTER 0x001b
+#define TARGET_SO_GET_FILTER TARGET_SO_ATTACH_FILTER
-#define TARGET_SO_PEERNAME 28
-#define TARGET_SO_TIMESTAMP 29
+#define TARGET_SO_PEERNAME 0x001c
+#define TARGET_SO_TIMESTAMP 0x001d
#define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP
-#define TARGET_SO_ACCEPTCONN 30
+#define TARGET_SO_PEERSEC 0x001e
+#define TARGET_SO_PASSSEC 0x001f
+#define TARGET_SO_TIMESTAMPNS 0x0021
+#define TARGET_SCM_TIMESTAMPNS TARGET_SO_TIMESTAMPNS
+
+#define TARGET_SO_MARK 0x0022
+
+#define TARGET_SO_TIMESTAMPING 0x0023
+#define TARGET_SCM_TIMESTAMPING TARGET_SO_TIMESTAMPING
+
+#define TARGET_SO_RXQ_OVFL 0x0024
+
+#define TARGET_SO_WIFI_STATUS 0x0025
+#define TARGET_SCM_WIFI_STATUS TARGET_SO_WIFI_STATUS
+#define TARGET_SO_PEEK_OFF 0x0026
+
+/* Instruct lower device to use last 4-bytes of skb data as FCS */
+#define TARGET_SO_NOFCS 0x0027
+
+#define TARGET_SO_LOCK_FILTER 0x0028
+
+#define TARGET_SO_SELECT_ERR_QUEUE 0x0029
+
+#define TARGET_SO_BUSY_POLL 0x0030
+
+#define TARGET_SO_MAX_PACING_RATE 0x0031
-#define TARGET_SO_PEERSEC 31
+#define TARGET_SO_BPF_EXTENSIONS 0x0032
+
+#define TARGET_SO_INCOMING_CPU 0x0033
+
+#define TARGET_SO_ATTACH_BPF 0x0034
+#define TARGET_SO_DETACH_BPF TARGET_SO_DETACH_FILTER
+
+#define TARGET_SO_ATTACH_REUSEPORT_CBPF 0x0035
+#define TARGET_SO_ATTACH_REUSEPORT_EBPF 0x0036
+
+#define TARGET_SO_CNX_ADVICE 0x0037
+
+#define TARGET_SCM_TIMESTAMPING_OPT_STATS 0x0038
+
+#define TARGET_SO_MEMINFO 0x0039
+
+#define TARGET_SO_INCOMING_NAPI_ID 0x003a
+
+#define TARGET_SO_COOKIE 0x003b
+
+#define TARGET_SCM_TIMESTAMPING_PKTINFO 0x003c
+
+#define TARGET_SO_PEERGROUPS 0x003d
+
+#define TARGET_SO_ZEROCOPY 0x003e
+
+/* Security levels - as per NRL IPv6 - don't actually do anything */
+#define TARGET_SO_SECURITY_AUTHENTICATION 0x5001
+#define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002
+#define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 0x5004
#endif