From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M6M2t-0005p0-K0 for qemu-devel@nongnu.org; Tue, 19 May 2009 05:55:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M6M2o-0005jI-Eq for qemu-devel@nongnu.org; Tue, 19 May 2009 05:55:38 -0400 Received: from [199.232.76.173] (port=34889 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M6M2n-0005is-OC for qemu-devel@nongnu.org; Tue, 19 May 2009 05:55:33 -0400 Received: from mail08.svc.cra.dublin.eircom.net ([159.134.118.24]:48743) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1M6M2n-0006eq-9R for qemu-devel@nongnu.org; Tue, 19 May 2009 05:55:33 -0400 From: Mark McLoughlin Date: Tue, 19 May 2009 10:55:23 +0100 Message-Id: <1242726931-5726-2-git-send-email-markmc@redhat.com> In-Reply-To: <1242726931-5726-1-git-send-email-markmc@redhat.com> References: <1242726931-5726-1-git-send-email-markmc@redhat.com> Subject: [Qemu-devel] [PATCH 01/13] net: factor tap_read_packet() out of tap_send() List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Mark McLoughlin , qemu-devel@nongnu.org Move portability clutter out into its own function. Signed-off-by: Mark McLoughlin --- net.c | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/net.c b/net.c index 671138f..a819043 100644 --- a/net.c +++ b/net.c @@ -806,21 +806,31 @@ static void tap_receive(void *opaque, const uint8_t *buf, int size) } } -static void tap_send(void *opaque) -{ - TAPState *s = opaque; - uint8_t buf[4096]; - int size; - #ifdef __sun__ +static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) +{ struct strbuf sbuf; int f = 0; - sbuf.maxlen = sizeof(buf); + + sbuf.maxlen = maxlen; sbuf.buf = (char *)buf; - size = getmsg(s->fd, NULL, &sbuf, &f) >=0 ? sbuf.len : -1; + + return getmsg(tapfd, NULL, &sbuf, &f) >= 0 ? sbuf.len : -1; +} #else - size = read(s->fd, buf, sizeof(buf)); +static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen) +{ + return read(tapfd, buf, maxlen); +} #endif + +static void tap_send(void *opaque) +{ + TAPState *s = opaque; + uint8_t buf[4096]; + int size; + + size = tap_read_packet(s->fd, buf, sizeof(buf)); if (size > 0) { qemu_send_packet(s->vc, buf, size); } -- 1.6.0.6