From patchwork Thu May 10 22:25:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911593 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hnxh4Hknz9s19 for ; Fri, 11 May 2018 08:31:04 +1000 (AEST) Received: from localhost ([::1]:35840 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGu5W-0001XB-7c for incoming@patchwork.ozlabs.org; Thu, 10 May 2018 18:31:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGu1I-000592-SP for qemu-devel@nongnu.org; Thu, 10 May 2018 18:26:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGu1H-00080s-Mn for qemu-devel@nongnu.org; Thu, 10 May 2018 18:26:40 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:59577) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGu1H-00080Q-C2 for qemu-devel@nongnu.org; Thu, 10 May 2018 18:26:39 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue007 [212.227.15.167]) with ESMTPSA (Nemesis) id 0M31EZ-1ePcN01EyF-00srsJ; Fri, 11 May 2018 00:26:13 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 11 May 2018 00:25:59 +0200 Message-Id: <20180510222601.19944-4-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180510222601.19944-1-laurent@vivier.eu> References: <20180510222601.19944-1-laurent@vivier.eu> X-Provags-ID: V03:K1:0GATGz3SWaEj5DpNszvmN+rl6EHiUL1gz0lqy/nXTEsfDX7l7lH ax/Fpl+XPtC1WmAglFtv19NPc3iotDXXwqfGmR9ddkh8kXL/dISMCJPJ0xUf+XrN88B/QrY ZsmEV5gArBCDRruJqirYQ6FEKgWmndK08UzVMi32VO4svOBDZA7z0H6wyP+J638IvyY7d0R eNs3WQT4nS9ANsxwaV1lQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:MCaiiqX7pmU=:rLw7PuXhmADqt+DIGoUZLB jyLpUX4vzAintK/l9Kp3Y2UhtADksRiUi30Eh3VGhfItx4skGEfAPyCsU0IVbGaj0UlDX/6AU OBaP52qKUagXLVvHQ9ltHxNoy9KGBtheo4jr6WD/EFikDdpeEv3zzuaoiY5F9j+rEl/3DwxyM OelD2XHokX5+FblJzCJ6oeplCVCHNUzlV7B+PYrezz+x6yanklt5QHGR5vt2nDzlUrS9ssQtJ BukOJ475CSmfxT3QfTUbsrJ3e7HVQzA3zqxPM+SjXQPPjxhQuy3jEVOcf6AV+FKvhBIj5HW9T Mqn8QrhouJcppPA23/ZOkX8Bm4R/73Oxya61yOcTcmxg8yQ4h0VEJwp+4FsGQP8oSlItVlVuf i9C1JvFlNydl6UR/TmLZBY1RtWtYtp0wjAAazzr40SEv7JEEE0kc/sr6m5rdWyU+JvmtCOMfb ARAT+yRe66ZqN+k0z7Ox1sMNbOHr7ZF4GR+QmZWowWsjNGv6pSb4GY9XlEHPyJh7ekBz2Fm/i 6YRnuhUC6Rb+hgZO4tDpKuv6MHpJtnb7+nZfQjxFKtqATkgCzaa9ToO/nXqbETmGOi+TGIEBg vCTbk9ZlpzuhkR8/96gpdo25IJsCraoEib4AxHOjD/yHJM1ezSxcRa9GKcRlLiyvz1KHMj9c1 KJeEKYm9GyW6q22d9iIebXOltdWRLrzLgu5RA1YWOlht2dx8N3Ux54I62ZwhbQ52sX/k= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.126.187 Subject: [Qemu-devel] [PATCH 3/5] linux-user: move sparc/sparc64 socket.h definitions to sparc/sockbits.h X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Cave-Ayland , Riku Voipio , Yongbok Kim , Laurent Vivier , Richard Henderson Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" No code change. Signed-off-by: Laurent Vivier Reviewed-by: Peter Maydell --- linux-user/socket.h | 44 +------------------- linux-user/sparc/sockbits.h | 94 +++++++++++++++++++++++++++++++++++++++++++ linux-user/sparc64/sockbits.h | 1 + 3 files changed, 97 insertions(+), 42 deletions(-) create mode 100644 linux-user/sparc/sockbits.h create mode 100644 linux-user/sparc64/sockbits.h diff --git a/linux-user/socket.h b/linux-user/socket.h index 1328906205..8eb62ea3f2 100644 --- a/linux-user/socket.h +++ b/linux-user/socket.h @@ -1,49 +1,9 @@ -#if defined(TARGET_MIPS) || defined(TARGET_HPPA) || defined(TARGET_ALPHA) +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) || defined(TARGET_ALPHA) || \ + defined(TARGET_SPARC) #include "sockbits.h" -#else - -#if defined(TARGET_SPARC) - /** sock_type - Socket types - * - * Please notice that for binary compat reasons SPARC has to - * override the enum sock_type in include/linux/net.h, so - * we define ARCH_HAS_SOCKET_TYPES here. - * - * @SOCK_DGRAM - datagram (conn.less) socket - * @SOCK_STREAM - stream (connection) socket - * @SOCK_RAW - raw socket - * @SOCK_RDM - reliably-delivered message - * @SOCK_SEQPACKET - sequential packet socket - * @SOCK_DCCP - Datagram Congestion Control Protocol socket - * @SOCK_PACKET - linux specific way of getting packets at the dev level. - * For writing rarp and other similar things on the user - * level. - * @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag. - * @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag. - */ - - #define ARCH_HAS_SOCKET_TYPES 1 - - enum sock_type { - TARGET_SOCK_STREAM = 1, - TARGET_SOCK_DGRAM = 2, - TARGET_SOCK_RAW = 3, - TARGET_SOCK_RDM = 4, - TARGET_SOCK_SEQPACKET = 5, - TARGET_SOCK_DCCP = 6, - TARGET_SOCK_PACKET = 10, - TARGET_SOCK_CLOEXEC = 020000000, - TARGET_SOCK_NONBLOCK = 040000, - }; - - #define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1) - #define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */ - - #define TARGET_SO_PASSSEC 31 #else #define TARGET_SO_PASSSEC 34 -#endif /* For setsockopt(2) */ #define TARGET_SOL_SOCKET 1 diff --git a/linux-user/sparc/sockbits.h b/linux-user/sparc/sockbits.h new file mode 100644 index 0000000000..385061c8b0 --- /dev/null +++ b/linux-user/sparc/sockbits.h @@ -0,0 +1,94 @@ +/* + * 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 SPARC_SOCKBITS_H +#define SPARC_SOCKBITS_H + +/** sock_type - Socket types + * + * Please notice that for binary compat reasons SPARC has to + * override the enum sock_type in include/linux/net.h, so + * we define ARCH_HAS_SOCKET_TYPES here. + * + * @SOCK_DGRAM - datagram (conn.less) socket + * @SOCK_STREAM - stream (connection) socket + * @SOCK_RAW - raw socket + * @SOCK_RDM - reliably-delivered message + * @SOCK_SEQPACKET - sequential packet socket + * @SOCK_DCCP - Datagram Congestion Control Protocol socket + * @SOCK_PACKET - linux specific way of getting packets at the dev level. + * For writing rarp and other similar things on the user + * level. + * @SOCK_CLOEXEC - sets the close-on-exec (FD_CLOEXEC) flag. + * @SOCK_NONBLOCK - sets the O_NONBLOCK file status flag. + */ + +#define ARCH_HAS_SOCKET_TYPES 1 + +enum sock_type { + TARGET_SOCK_STREAM = 1, + TARGET_SOCK_DGRAM = 2, + TARGET_SOCK_RAW = 3, + TARGET_SOCK_RDM = 4, + TARGET_SOCK_SEQPACKET = 5, + TARGET_SOCK_DCCP = 6, + TARGET_SOCK_PACKET = 10, + TARGET_SOCK_CLOEXEC = 020000000, + TARGET_SOCK_NONBLOCK = 040000, +}; + +#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1) +#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */ + +#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 + +/* 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 diff --git a/linux-user/sparc64/sockbits.h b/linux-user/sparc64/sockbits.h new file mode 100644 index 0000000000..658899e4d3 --- /dev/null +++ b/linux-user/sparc64/sockbits.h @@ -0,0 +1 @@ +#include "../sparc/sockbits.h"