From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlY58-0003Om-U2 for qemu-devel@nongnu.org; Mon, 12 Oct 2015 04:03:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlY57-0006pF-TD for qemu-devel@nongnu.org; Mon, 12 Oct 2015 04:03:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47673) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlY57-0006p6-IA for qemu-devel@nongnu.org; Mon, 12 Oct 2015 04:03:41 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 321238CF41 for ; Mon, 12 Oct 2015 08:03:41 +0000 (UTC) From: Paolo Bonzini Date: Mon, 12 Oct 2015 10:03:11 +0200 Message-Id: <1444637004-20195-9-git-send-email-pbonzini@redhat.com> In-Reply-To: <1444637004-20195-1-git-send-email-pbonzini@redhat.com> References: <1444637004-20195-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 08/21] qemu-char: convert socket backend to data-driven creation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: armbru@redhat.com Signed-off-by: Paolo Bonzini --- qemu-char.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index 3545cd8..459ed5c 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -4163,11 +4163,14 @@ static gboolean socket_reconnect_timeout(gpointer opaque) return false; } -static CharDriverState *qmp_chardev_open_socket(ChardevSocket *sock, +static CharDriverState *qmp_chardev_open_socket(const char *id, + ChardevBackend *backend, + ChardevReturn *ret, Error **errp) { CharDriverState *chr; TCPCharDriver *s; + ChardevSocket *sock = backend->socket; SocketAddress *addr = sock->addr; bool do_nodelay = sock->has_nodelay ? sock->nodelay : false; bool is_listen = sock->has_server ? sock->server : true; @@ -4285,7 +4288,7 @@ ChardevReturn *qmp_chardev_add(const char *id, ChardevBackend *backend, abort(); break; case CHARDEV_BACKEND_KIND_SOCKET: - chr = qmp_chardev_open_socket(backend->socket, &local_err); + abort(); break; case CHARDEV_BACKEND_KIND_UDP: chr = qmp_chardev_open_udp(backend->udp, &local_err); @@ -4401,7 +4404,7 @@ static void register_types(void) register_char_driver("null", CHARDEV_BACKEND_KIND_NULL, NULL, NULL); register_char_driver("socket", CHARDEV_BACKEND_KIND_SOCKET, - qemu_chr_parse_socket, NULL); + qemu_chr_parse_socket, qmp_chardev_open_socket); register_char_driver("udp", CHARDEV_BACKEND_KIND_UDP, qemu_chr_parse_udp, NULL); register_char_driver("ringbuf", CHARDEV_BACKEND_KIND_RINGBUF, -- 2.5.0