From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44900) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wyeyi-0000cZ-UL for qemu-devel@nongnu.org; Sun, 22 Jun 2014 06:26:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wyeya-0005Gv-JQ for qemu-devel@nongnu.org; Sun, 22 Jun 2014 06:26:28 -0400 Received: from mail-wi0-x22c.google.com ([2a00:1450:400c:c05::22c]:38115) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wyeya-0005Go-CC for qemu-devel@nongnu.org; Sun, 22 Jun 2014 06:26:20 -0400 Received: by mail-wi0-f172.google.com with SMTP id hi2so2700021wib.17 for ; Sun, 22 Jun 2014 03:26:19 -0700 (PDT) Sender: Paul Burton From: Paul Burton Date: Sun, 22 Jun 2014 11:25:36 +0100 Message-Id: <1403432748-4679-5-git-send-email-paul@archlinuxmips.org> In-Reply-To: <1403432748-4679-1-git-send-email-paul@archlinuxmips.org> References: <1403432748-4679-1-git-send-email-paul@archlinuxmips.org> Subject: [Qemu-devel] [PATCH v3 04/16] linux-user: support SO_PASSSEC setsockopt option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Riku Voipio , Paul Burton Translate the SO_PASSSEC option to setsockopt to the host value & perform the syscall as expected, allowing use of the option by target programs. Signed-off-by: Paul Burton --- Changes in v3: - None. Changes in v2: - Fix the value of TARGET_SO_PASSSEC for the sparc target. --- linux-user/socket.h | 5 +++++ linux-user/syscall.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/linux-user/socket.h b/linux-user/socket.h index ae17959..4dacae6 100644 --- a/linux-user/socket.h +++ b/linux-user/socket.h @@ -63,6 +63,7 @@ #define TARGET_SO_PEERSEC 30 #define TARGET_SO_SNDBUFFORCE 31 #define TARGET_SO_RCVBUFFORCE 33 + #define TARGET_SO_PASSSEC 34 /** sock_type - Socket types * @@ -242,6 +243,10 @@ #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) */ diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 6a8fdd6..0d873af 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1531,6 +1531,9 @@ set_timeout: case TARGET_SO_PASSCRED: optname = SO_PASSCRED; break; + case TARGET_SO_PASSSEC: + optname = SO_PASSSEC; + break; case TARGET_SO_TIMESTAMP: optname = SO_TIMESTAMP; break; -- 2.0.0