File:  [Qemu by Fabrice Bellard] / qemu / monitor.h
Revision 1.1.1.6 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:34:40 2018 UTC (3 years, 5 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, HEAD
qemu 1.1.1

    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: #include "readline.h"
   10: 
   11: extern Monitor *cur_mon;
   12: extern Monitor *default_mon;
   13: 
   14: /* flags for monitor_init */
   15: #define MONITOR_IS_DEFAULT    0x01
   16: #define MONITOR_USE_READLINE  0x02
   17: #define MONITOR_USE_CONTROL   0x04
   18: #define MONITOR_USE_PRETTY    0x08
   19: 
   20: /* flags for monitor commands */
   21: #define MONITOR_CMD_ASYNC       0x0001
   22: 
   23: /* QMP events */
   24: typedef enum MonitorEvent {
   25:     QEVENT_SHUTDOWN,
   26:     QEVENT_RESET,
   27:     QEVENT_POWERDOWN,
   28:     QEVENT_STOP,
   29:     QEVENT_RESUME,
   30:     QEVENT_VNC_CONNECTED,
   31:     QEVENT_VNC_INITIALIZED,
   32:     QEVENT_VNC_DISCONNECTED,
   33:     QEVENT_BLOCK_IO_ERROR,
   34:     QEVENT_RTC_CHANGE,
   35:     QEVENT_WATCHDOG,
   36:     QEVENT_SPICE_CONNECTED,
   37:     QEVENT_SPICE_INITIALIZED,
   38:     QEVENT_SPICE_DISCONNECTED,
   39:     QEVENT_BLOCK_JOB_COMPLETED,
   40:     QEVENT_BLOCK_JOB_CANCELLED,
   41:     QEVENT_DEVICE_TRAY_MOVED,
   42:     QEVENT_SUSPEND,
   43:     QEVENT_WAKEUP,
   44:     QEVENT_MAX,
   45: } MonitorEvent;
   46: 
   47: int monitor_cur_is_qmp(void);
   48: 
   49: void monitor_protocol_event(MonitorEvent event, QObject *data);
   50: void monitor_init(CharDriverState *chr, int flags);
   51: 
   52: int monitor_suspend(Monitor *mon);
   53: void monitor_resume(Monitor *mon);
   54: 
   55: int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
   56:                                 BlockDriverCompletionFunc *completion_cb,
   57:                                 void *opaque);
   58: int monitor_read_block_device_key(Monitor *mon, const char *device,
   59:                                   BlockDriverCompletionFunc *completion_cb,
   60:                                   void *opaque);
   61: 
   62: int monitor_get_fd(Monitor *mon, const char *fdname);
   63: 
   64: void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
   65:     GCC_FMT_ATTR(2, 0);
   66: void monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
   67: void monitor_print_filename(Monitor *mon, const char *filename);
   68: void monitor_flush(Monitor *mon);
   69: int monitor_set_cpu(int cpu_index);
   70: int monitor_get_cpu_index(void);
   71: 
   72: typedef void (MonitorCompletion)(void *opaque, QObject *ret_data);
   73: 
   74: void monitor_set_error(Monitor *mon, QError *qerror);
   75: void monitor_read_command(Monitor *mon, int show_prompt);
   76: ReadLineState *monitor_get_rs(Monitor *mon);
   77: int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func,
   78:                           void *opaque);
   79: 
   80: int qmp_qom_set(Monitor *mon, const QDict *qdict, QObject **ret);
   81: 
   82: int qmp_qom_get(Monitor *mon, const QDict *qdict, QObject **ret);
   83: 
   84: #endif /* !MONITOR_H */

unix.superglobalmegacorp.com