mirror of
https://github.com/qemu/qemu.git
synced 2024-11-25 03:43:37 +08:00
6ed2c484f2
It's emitted when the Virtual Machine resumes execution. We currently have the STOP event but don't have the matching RESUME one, this means that clients are notified when the VM is stopped but don't get anything when it resumes. Let's fix that as it's already causing some trouble to libvirt. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
59 lines
1.5 KiB
C
59 lines
1.5 KiB
C
#ifndef MONITOR_H
|
|
#define MONITOR_H
|
|
|
|
#include "qemu-common.h"
|
|
#include "qemu-char.h"
|
|
#include "qerror.h"
|
|
#include "qdict.h"
|
|
#include "block.h"
|
|
|
|
extern Monitor *cur_mon;
|
|
extern Monitor *default_mon;
|
|
|
|
/* flags for monitor_init */
|
|
#define MONITOR_IS_DEFAULT 0x01
|
|
#define MONITOR_USE_READLINE 0x02
|
|
#define MONITOR_USE_CONTROL 0x04
|
|
|
|
/* QMP events */
|
|
typedef enum MonitorEvent {
|
|
QEVENT_SHUTDOWN,
|
|
QEVENT_RESET,
|
|
QEVENT_POWERDOWN,
|
|
QEVENT_STOP,
|
|
QEVENT_RESUME,
|
|
QEVENT_VNC_CONNECTED,
|
|
QEVENT_VNC_INITIALIZED,
|
|
QEVENT_VNC_DISCONNECTED,
|
|
QEVENT_BLOCK_IO_ERROR,
|
|
QEVENT_RTC_CHANGE,
|
|
QEVENT_WATCHDOG,
|
|
QEVENT_MAX,
|
|
} MonitorEvent;
|
|
|
|
int monitor_cur_is_qmp(void);
|
|
|
|
void monitor_protocol_event(MonitorEvent event, QObject *data);
|
|
void monitor_init(CharDriverState *chr, int flags);
|
|
|
|
int monitor_suspend(Monitor *mon);
|
|
void monitor_resume(Monitor *mon);
|
|
|
|
int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
|
|
BlockDriverCompletionFunc *completion_cb,
|
|
void *opaque);
|
|
|
|
int monitor_get_fd(Monitor *mon, const char *fdname);
|
|
|
|
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap);
|
|
void monitor_printf(Monitor *mon, const char *fmt, ...)
|
|
__attribute__ ((__format__ (__printf__, 2, 3)));
|
|
void monitor_print_filename(Monitor *mon, const char *filename);
|
|
void monitor_flush(Monitor *mon);
|
|
|
|
typedef void (MonitorCompletion)(void *opaque, QObject *ret_data);
|
|
|
|
void monitor_set_error(Monitor *mon, QError *qerror);
|
|
|
|
#endif /* !MONITOR_H */
|