From patchwork Mon Sep 7 16:06:13 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 33092 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by bilbo.ozlabs.org (Postfix) with ESMTPS id 44755B70B3 for ; Tue, 8 Sep 2009 02:23:00 +1000 (EST) Received: from localhost ([127.0.0.1]:58188 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MkgzX-0006yb-64 for incoming@patchwork.ozlabs.org; Mon, 07 Sep 2009 12:22:55 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mkgjt-0007UC-JG for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mkgjn-0007PV-HQ for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:43 -0400 Received: from [199.232.76.173] (port=34952 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mkgjn-0007PA-9R for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52401) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mkgjm-0003VU-FH for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:38 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n87G6br9011777 for ; Mon, 7 Sep 2009 12:06:37 -0400 Received: from zweiblum.home.kraxel.org (vpn2-9-74.ams2.redhat.com [10.36.9.74]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP id n87G6XJa029400; Mon, 7 Sep 2009 12:06:34 -0400 Received: by zweiblum.home.kraxel.org (Postfix, from userid 500) id 6B4E4700EA; Mon, 7 Sep 2009 18:06:26 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Mon, 7 Sep 2009 18:06:13 +0200 Message-Id: <1252339585-27797-12-git-send-email-kraxel@redhat.com> In-Reply-To: <1252339585-27797-1-git-send-email-kraxel@redhat.com> References: <1252339585-27797-1-git-send-email-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. Cc: Gerd Hoffmann Subject: [Qemu-devel] [PATCH 11/23] convert pty chardev to QemuOpts. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Gerd Hoffmann --- qemu-char.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index c5ea5be..ef6ab87 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -956,7 +956,7 @@ static void pty_chr_close(struct CharDriverState *chr) qemu_chr_event(chr, CHR_EVENT_CLOSED); } -static CharDriverState *qemu_chr_open_pty(void) +static CharDriverState *qemu_chr_open_pty(QemuOpts *opts) { CharDriverState *chr; PtyCharDriver *s; @@ -986,6 +986,7 @@ static CharDriverState *qemu_chr_open_pty(void) len = strlen(q_ptsname(s->fd)) + 5; chr->filename = qemu_malloc(len); snprintf(chr->filename, len, "pty:%s", q_ptsname(s->fd)); + qemu_opt_set(opts, "path", q_ptsname(s->fd)); fprintf(stderr, "char device redirected to %s\n", q_ptsname(s->fd)); chr->opaque = s; @@ -2225,8 +2226,9 @@ static QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename) if (NULL == opts) return NULL; - if (strcmp(filename, "null") == 0) { - qemu_opt_set(opts, "backend", "null"); + if (strcmp(filename, "null") == 0 || + strcmp(filename, "pty") == 0) { + qemu_opt_set(opts, "backend", filename); return opts; } if (strstart(filename, "file:", &p)) { @@ -2282,6 +2284,7 @@ static struct { #else { .name = "file", .open = qemu_chr_open_file_out }, { .name = "pipe", .open = qemu_chr_open_pipe }, + { .name = "pty", .open = qemu_chr_open_pty }, #endif }; @@ -2353,9 +2356,7 @@ CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*i chr = qemu_chr_open_msmouse(); } else #ifndef _WIN32 - if (!strcmp(filename, "pty")) { - chr = qemu_chr_open_pty(); - } else if (!strcmp(filename, "stdio")) { + if (!strcmp(filename, "stdio")) { chr = qemu_chr_open_stdio(); } else #if defined(__linux__)