Skip to content

Commit

Permalink
linux-user: move socket.h generic definitions to generic/sockbits.h
Browse files Browse the repository at this point in the history
and include the file from architectures without specific definitions

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20180519092956.15134-5-laurent@vivier.eu>
  • Loading branch information
vivier committed May 25, 2018
1 parent da84fda commit 500fa60
Show file tree
Hide file tree
Showing 17 changed files with 82 additions and 61 deletions.
1 change: 1 addition & 0 deletions linux-user/aarch64/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/arm/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/cris/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
67 changes: 67 additions & 0 deletions linux-user/generic/sockbits.h
@@ -0,0 +1,67 @@
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation, or (at your option) any
* later version. See the COPYING file in the top-level directory.
*/

#ifndef GENERIC_SOCKBITS_H
#define GENERIC_SOCKBITS_H

#define TARGET_SO_PASSSEC 34

/* 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 */
#if defined(TARGET_PPC)
#define TARGET_SO_RCVLOWAT 16
#define TARGET_SO_SNDLOWAT 17
#define TARGET_SO_RCVTIMEO 18
#define TARGET_SO_SNDTIMEO 19
#define TARGET_SO_PASSCRED 20
#define TARGET_SO_PEERCRED 21
#else
#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
#endif

/* 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_BINDTODEVICE 25

/* Socket filtering */
#define TARGET_SO_ATTACH_FILTER 26
#define TARGET_SO_DETACH_FILTER 27

#define TARGET_SO_PEERNAME 28
#define TARGET_SO_TIMESTAMP 29
#define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP

#define TARGET_SO_ACCEPTCONN 30

#define TARGET_SO_PEERSEC 31
#endif
1 change: 1 addition & 0 deletions linux-user/i386/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/m68k/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/microblaze/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/nios2/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/openrisc/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/ppc/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/riscv/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/s390x/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/sh4/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
61 changes: 0 additions & 61 deletions linux-user/socket.h
@@ -1,66 +1,5 @@

#if defined(TARGET_MIPS) || defined(TARGET_HPPA) || defined(TARGET_ALPHA) || \
defined(TARGET_SPARC)
#include "sockbits.h"
#else
#define TARGET_SO_PASSSEC 34

/* 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 */
#if defined(TARGET_PPC)
#define TARGET_SO_RCVLOWAT 16
#define TARGET_SO_SNDLOWAT 17
#define TARGET_SO_RCVTIMEO 18
#define TARGET_SO_SNDTIMEO 19
#define TARGET_SO_PASSCRED 20
#define TARGET_SO_PEERCRED 21
#else
#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
#endif

/* 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_BINDTODEVICE 25

/* Socket filtering */
#define TARGET_SO_ATTACH_FILTER 26
#define TARGET_SO_DETACH_FILTER 27

#define TARGET_SO_PEERNAME 28
#define TARGET_SO_TIMESTAMP 29
#define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP

#define TARGET_SO_ACCEPTCONN 30

#define TARGET_SO_PEERSEC 31

#endif

#ifndef ARCH_HAS_SOCKET_TYPES
/** sock_type - Socket types - default values
Expand Down
1 change: 1 addition & 0 deletions linux-user/tilegx/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/x86_64/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"
1 change: 1 addition & 0 deletions linux-user/xtensa/sockbits.h
@@ -0,0 +1 @@
#include "../generic/sockbits.h"

0 comments on commit 500fa60

Please sign in to comment.