[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-user: Translate getsockopt level option
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-user: Translate getsockopt level option |
Date: |
Wed, 1 Dec 2010 11:43:09 +0000 |
On 17 November 2010 12:30, Jamie Lentin <address@hidden> wrote:
> In setsockopt, the socket level options are translated to the hosts'
> architecture before the real syscall is called, e.g.
> TARGET_SO_TYPE -> SO_TYPE. This patch does the same with getsockopt.
I agree that this is necessary (at least for MIPS; I think all
the other architectures happen to have the same values for the
constants so the bug doesn't cause problems.
> diff -uprN a/linux-user/syscall.c b/linux-user/syscall.c
> --- a/linux-user/syscall.c 2010-05-04 16:27:48.000000000 +0100
> +++ b/linux-user/syscall.c 2010-07-29 21:47:12.000000000 +0100
> @@ -1383,6 +1383,57 @@ static abi_long do_getsockopt(int sockfd
> case TARGET_SO_PEERNAME:
> /* These don't just return a single integer */
> goto unimplemented;
> + /* Options with 'int' argument. */
> + case TARGET_SO_DEBUG:
> + optname = SO_DEBUG;
> + goto int_case;
[etc]
Wouldn't it be better to have a helper function for the conversion
rather than duplicating this set of cases in getsockopt() and
setsockopt() ? (cf target_to_host_fcntl_cmd).
-- PMM
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH] qemu-user: Translate getsockopt level option,
Peter Maydell <=