From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH v2 10/10] chardev: add pty chardev support to chardev-add (qmp)
Date: Thu, 10 Jan 2013 15:23:06 +0100 [thread overview]
Message-ID: <1357827786-14624-11-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1357827786-14624-1-git-send-email-kraxel@redhat.com>
The ptsname is returned directly, so there is no need to
use query-chardev to figure the pty device path.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
qapi-schema.json | 3 ++-
qemu-char.c | 13 +++++++++++++
qmp-commands.hx | 5 +++++
3 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index a654096..23b6862 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3066,6 +3066,7 @@
{ 'union': 'ChardevBackend', 'data': { 'file' : 'ChardevFile',
'port' : 'ChardevPort',
'socket' : 'ChardevSocket',
+ 'pty' : 'ChardevDummy',
'null' : 'ChardevDummy' } }
##
@@ -3075,7 +3076,7 @@
#
# Since: 1.4
##
-{ 'type' : 'ChardevReturn', 'data': { } }
+{ 'type' : 'ChardevReturn', 'data': { '*pty' : 'str' } }
##
# @chardev-add:
diff --git a/qemu-char.c b/qemu-char.c
index eb6b153..530d582 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3124,6 +3124,19 @@ ChardevReturn *qmp_chardev_add(const char *id, ChardevBackend *backend,
case CHARDEV_BACKEND_KIND_SOCKET:
chr = qmp_chardev_open_socket(backend->socket, errp);
break;
+#ifdef HAVE_CHARDEV_TTY
+ case CHARDEV_BACKEND_KIND_PTY:
+ {
+ /* qemu_chr_open_pty sets "path" in opts */
+ QemuOpts *opts;
+ opts = qemu_opts_create_nofail(qemu_find_opts("chardev"));
+ chr = qemu_chr_open_pty(opts);
+ ret->pty = g_strdup(qemu_opt_get(opts, "path"));
+ ret->has_pty = true;
+ qemu_opts_del(opts);
+ break;
+ }
+#endif
case CHARDEV_BACKEND_KIND_NULL:
chr = qemu_chr_open_null(NULL);
break;
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 4d382f4..cbf1280 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -2685,6 +2685,11 @@ Examples:
"data" : { "out" : "/tmp/bar.log" } } } }
<- { "return": {} }
+-> { "execute" : "chardev-add",
+ "arguments" : { "id" : "baz",
+ "backend" : { "type" : "pty", "data" : {} } } }
+<- { "return": { "pty" : "/dev/pty/42" } }
+
EQMP
{
--
1.7.1
next prev parent reply other threads:[~2013-01-10 15:02 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-10 14:22 [Qemu-devel] [PATCH v2 00/10] chardev hotplug patch series Gerd Hoffmann
2013-01-10 14:22 ` [Qemu-devel] [PATCH v2 01/10] chardev: add error reporting for qemu_chr_new_from_opts Gerd Hoffmann
2013-01-10 18:34 ` Eric Blake
2013-01-10 14:22 ` [Qemu-devel] [PATCH v2 02/10] chardev: fix QemuOpts lifecycle Gerd Hoffmann
2013-01-10 18:35 ` Eric Blake
2013-01-10 14:22 ` [Qemu-devel] [PATCH v2 03/10] chardev: reduce chardev ifdef mess a bit Gerd Hoffmann
2013-01-10 18:35 ` Eric Blake
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 04/10] chardev: add qmp hotplug commands, with null chardev support Gerd Hoffmann
2013-01-10 18:40 ` Eric Blake
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 05/10] chardev: add hmp hotplug commands Gerd Hoffmann
2013-01-10 18:42 ` Eric Blake
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 06/10] chardev: add file chardev support to chardev-add (qmp) Gerd Hoffmann
2013-01-10 19:33 ` Eric Blake
2013-01-11 10:37 ` Gerd Hoffmann
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 07/10] chardev: add serial " Gerd Hoffmann
2013-01-10 19:39 ` Eric Blake
2013-01-11 10:46 ` Gerd Hoffmann
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 08/10] chardev: add parallel " Gerd Hoffmann
2013-01-10 19:41 ` Eric Blake
2013-01-11 10:53 ` Gerd Hoffmann
2013-01-10 14:23 ` [Qemu-devel] [PATCH v2 09/10] chardev: add socket " Gerd Hoffmann
2013-01-10 19:43 ` Eric Blake
2013-01-10 14:23 ` Gerd Hoffmann [this message]
2013-01-10 19:45 ` [Qemu-devel] [PATCH v2 10/10] chardev: add pty " Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1357827786-14624-11-git-send-email-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).