qemu/monitor.h
<<
>>
Prefs
   1#ifndef MONITOR_H
   2#define MONITOR_H
   3
   4#include "qemu-common.h"
   5#include "qemu-char.h"
   6#include "qerror.h"
   7#include "qdict.h"
   8#include "block.h"
   9
  10extern Monitor *cur_mon;
  11extern Monitor *default_mon;
  12
  13/* flags for monitor_init */
  14#define MONITOR_IS_DEFAULT    0x01
  15#define MONITOR_USE_READLINE  0x02
  16#define MONITOR_USE_CONTROL   0x04
  17#define MONITOR_USE_PRETTY    0x08
  18
  19/* flags for monitor commands */
  20#define MONITOR_CMD_ASYNC       0x0001
  21
  22/* QMP events */
  23typedef enum MonitorEvent {
  24    QEVENT_SHUTDOWN,
  25    QEVENT_RESET,
  26    QEVENT_POWERDOWN,
  27    QEVENT_STOP,
  28    QEVENT_RESUME,
  29    QEVENT_VNC_CONNECTED,
  30    QEVENT_VNC_INITIALIZED,
  31    QEVENT_VNC_DISCONNECTED,
  32    QEVENT_BLOCK_IO_ERROR,
  33    QEVENT_RTC_CHANGE,
  34    QEVENT_WATCHDOG,
  35    QEVENT_SPICE_CONNECTED,
  36    QEVENT_SPICE_INITIALIZED,
  37    QEVENT_SPICE_DISCONNECTED,
  38    QEVENT_MAX,
  39} MonitorEvent;
  40
  41int monitor_cur_is_qmp(void);
  42
  43void monitor_protocol_event(MonitorEvent event, QObject *data);
  44void monitor_init(CharDriverState *chr, int flags);
  45
  46int monitor_suspend(Monitor *mon);
  47void monitor_resume(Monitor *mon);
  48
  49int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
  50                                BlockDriverCompletionFunc *completion_cb,
  51                                void *opaque);
  52
  53int monitor_get_fd(Monitor *mon, const char *fdname);
  54
  55void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
  56    GCC_FMT_ATTR(2, 0);
  57void monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
  58void monitor_print_filename(Monitor *mon, const char *filename);
  59void monitor_flush(Monitor *mon);
  60
  61typedef void (MonitorCompletion)(void *opaque, QObject *ret_data);
  62
  63void monitor_set_error(Monitor *mon, QError *qerror);
  64
  65#endif /* !MONITOR_H */
  66