From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LKzlU-0007sn-D3 for qemu-devel@nongnu.org; Thu, 08 Jan 2009 13:37:56 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LKzlS-0007s7-Q9 for qemu-devel@nongnu.org; Thu, 08 Jan 2009 13:37:56 -0500 Received: from [199.232.76.173] (port=59069 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LKzlS-0007s2-Ku for qemu-devel@nongnu.org; Thu, 08 Jan 2009 13:37:54 -0500 Received: from mail16.svc.cra.dublin.eircom.net ([159.134.118.215]:40212) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1LKzlS-00064C-4J for qemu-devel@nongnu.org; Thu, 08 Jan 2009 13:37:54 -0500 From: Mark McLoughlin Date: Thu, 8 Jan 2009 18:37:48 +0000 Message-Id: <1231439870-25692-2-git-send-email-markmc@redhat.com> In-Reply-To: <1231439870-25692-1-git-send-email-markmc@redhat.com> References: <1231439854.25753.2.camel@localhost.localdomain> <1231439870-25692-1-git-send-email-markmc@redhat.com> Subject: [Qemu-devel] [PATCH 2/4] Allow devices be notified of link status change Reply-To: qemu-devel@nongnu.org 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 Signed-off-by: Mark McLoughlin --- net.c | 3 +++ net.h | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/net.c b/net.c index eef0564..0a182b2 100644 --- a/net.c +++ b/net.c @@ -1743,6 +1743,9 @@ int do_set_link(const char *name, const char *up_or_down) term_printf("invalid link status '%s'; only 'up' or 'down' valid\n", up_or_down); + if (vc->link_status_changed) + vc->link_status_changed(vc); + return 1; } diff --git a/net.h b/net.h index 3c0dab9..291807a 100644 --- a/net.h +++ b/net.h @@ -9,12 +9,15 @@ typedef ssize_t (IOReadvHandler)(void *, const struct iovec *, int); typedef struct VLANClientState VLANClientState; +typedef void (LinkStatusChanged)(VLANClientState *); + struct VLANClientState { IOReadHandler *fd_read; IOReadvHandler *fd_readv; /* Packets may still be sent if this returns zero. It's used to rate-limit the slirp code. */ IOCanRWHandler *fd_can_read; + LinkStatusChanged *link_status_changed; int link_down; void *opaque; struct VLANClientState *next; -- 1.6.0.6