Commit 637de4db authored by Markus Armbruster's avatar Markus Armbruster
Browse files

qemu-print: New qemu_printf(), qemu_vprintf() etc.



We commonly want to print to the current monitor if we have one, else
to stdout/stderr.  For stderr, have error_printf().  For stdout, all
we have is monitor_vfprintf(), which is rather unwieldy.  We often
print to stderr just because error_printf() is easier.

New qemu_printf() and qemu_vprintf() do exactly what's needed.  The
next commits will put them to use.

Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190417190641.26814-12-armbru@redhat.com>
parent 679cb8e1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1895,6 +1895,8 @@ F: hmp.[ch]
F: hmp-commands*.hx
F: include/monitor/hmp-target.h
F: tests/test-hmp.c
F: include/qemu/qemu-print.h
F: util/qemu-print.c

Network device backends
M: Jason Wang <jasowang@redhat.com>
+19 −0
Original line number Diff line number Diff line
/*
 * Print to stream or current monitor
 *
 * Copyright (C) 2019 Red Hat Inc.
 *
 * Authors:
 *  Markus Armbruster <armbru@redhat.com>,
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 * See the COPYING file in the top-level directory.
 */

#ifndef QEMU_PRINT_H
#define QEMU_PRINT_H

int qemu_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
int qemu_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);

#endif
+5 −0
Original line number Diff line number Diff line
@@ -6,6 +6,11 @@

__thread Monitor *cur_mon;

int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
{
    abort();
}

int monitor_get_fd(Monitor *mon, const char *name, Error **errp)
{
    error_setg(errp, "only QEMU supports file descriptor passing");
+1 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp)
 * otherwise we get duplicate syms at link time.
 */
__thread Monitor *cur_mon;
int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) { abort(); }
void monitor_init(Chardev *chr, int flags) {}


+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ util-obj-y += bitmap.o bitops.o hbitmap.o
util-obj-y += fifo8.o
util-obj-y += cacheinfo.o
util-obj-y += error.o qemu-error.o
util-obj-y += qemu-print.o
util-obj-y += id.o
util-obj-y += iov.o qemu-config.o qemu-sockets.o uri.o notify.o
util-obj-y += qemu-option.o qemu-progress.o
Loading