]> git.proxmox.com Git - mirror_qemu.git/blob - util/qemu-print.c
Merge remote-tracking branch 'remotes/lersek/tags/edk2-pull-2019-04-22' into staging
[mirror_qemu.git] / util / qemu-print.c
1 /*
2 * Print to stream or current monitor
3 *
4 * Copyright (C) 2019 Red Hat Inc.
5 *
6 * Authors:
7 * Markus Armbruster <armbru@redhat.com>,
8 *
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
11 */
12
13 #include "qemu/osdep.h"
14 #include "monitor/monitor.h"
15 #include "qemu/qemu-print.h"
16
17 /*
18 * Print like vprintf().
19 * Print to current monitor if we have one, else to stdout.
20 */
21 int qemu_vprintf(const char *fmt, va_list ap)
22 {
23 if (cur_mon) {
24 return monitor_vprintf(cur_mon, fmt, ap);
25 }
26 return vprintf(fmt, ap);
27 }
28
29 /*
30 * Print like printf().
31 * Print to current monitor if we have one, else to stdout.
32 */
33 int qemu_printf(const char *fmt, ...)
34 {
35 va_list ap;
36 int ret;
37
38 va_start(ap, fmt);
39 ret = qemu_vprintf(fmt, ap);
40 va_end(ap);
41 return ret;
42 }
43
44 /*
45 * Print like vfprintf()
46 * Print to @stream if non-null, else to current monitor.
47 */
48 int qemu_vfprintf(FILE *stream, const char *fmt, va_list ap)
49 {
50 if (!stream) {
51 return monitor_vprintf(cur_mon, fmt, ap);
52 }
53 return vfprintf(stream, fmt, ap);
54 }
55
56 /*
57 * Print like fprintf().
58 * Print to @stream if non-null, else to current monitor.
59 */
60 int qemu_fprintf(FILE *stream, const char *fmt, ...)
61 {
62 va_list ap;
63 int ret;
64
65 va_start(ap, fmt);
66 ret = qemu_vfprintf(stream, fmt, ap);
67 va_end(ap);
68 return ret;
69 }