diff options
Diffstat (limited to 'include/qapi/qmp/dispatch.h')
-rw-r--r-- | include/qapi/qmp/dispatch.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h deleted file mode 100644 index f2e9568..0000000 --- a/include/qapi/qmp/dispatch.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Core Definitions for QAPI/QMP Dispatch - * - * Copyright IBM, Corp. 2011 - * - * Authors: - * Anthony Liguori <aliguori@us.ibm.com> - * - * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. - * See the COPYING.LIB file in the top-level directory. - * - */ - -#ifndef QAPI_QMP_DISPATCH_H -#define QAPI_QMP_DISPATCH_H - -#include "monitor/monitor.h" -#include "qemu/queue.h" - -typedef void (QmpCommandFunc)(QDict *, QObject **, Error **); - -typedef enum QmpCommandOptions -{ - QCO_NO_SUCCESS_RESP = (1U << 0), - QCO_ALLOW_OOB = (1U << 1), - QCO_ALLOW_PRECONFIG = (1U << 2), - QCO_COROUTINE = (1U << 3), -} QmpCommandOptions; - -typedef struct QmpCommand -{ - const char *name; - /* Runs in coroutine context if QCO_COROUTINE is set */ - QmpCommandFunc *fn; - QmpCommandOptions options; - unsigned special_features; - QTAILQ_ENTRY(QmpCommand) node; - bool enabled; - const char *disable_reason; -} QmpCommand; - -typedef QTAILQ_HEAD(QmpCommandList, QmpCommand) QmpCommandList; - -void qmp_register_command(QmpCommandList *cmds, const char *name, - QmpCommandFunc *fn, QmpCommandOptions options, - unsigned special_features); -const QmpCommand *qmp_find_command(const QmpCommandList *cmds, - const char *name); -void qmp_disable_command(QmpCommandList *cmds, const char *name, - const char *err_msg); -void qmp_enable_command(QmpCommandList *cmds, const char *name); - -bool qmp_command_is_enabled(const QmpCommand *cmd); -bool qmp_command_available(const QmpCommand *cmd, Error **errp); -const char *qmp_command_name(const QmpCommand *cmd); -bool qmp_has_success_response(const QmpCommand *cmd); -QDict *qmp_error_response(Error *err); -QDict *coroutine_mixed_fn qmp_dispatch(const QmpCommandList *cmds, QObject *request, - bool allow_oob, Monitor *cur_mon); -bool qmp_is_oob(const QDict *dict); - -typedef void (*qmp_cmd_callback_fn)(const QmpCommand *cmd, void *opaque); - -void qmp_for_each_command(const QmpCommandList *cmds, qmp_cmd_callback_fn fn, - void *opaque); - -#endif |