From d34b867d816585900b72d09d42a34cea3057903d Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Tue, 8 May 2012 14:24:44 -0300 Subject: qapi: add support for command options Options allow for changes in commands behavior. This commit introduces the QCO_NO_SUCCESS_RESP option, which causes a command to not emit a success response. This is needed by commands such as qemu-ga's guest-shutdown, which may not be able to complete before the VM vanishes. In this case, it's useful and simpler not to bother sending a success response. Signed-off-by: Luiz Capitulino Signed-off-by: Michael Roth --- qapi/qmp-core.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'qapi/qmp-core.h') diff --git a/qapi/qmp-core.h b/qapi/qmp-core.h index 431ddbb337..b0f64ba1ee 100644 --- a/qapi/qmp-core.h +++ b/qapi/qmp-core.h @@ -25,16 +25,24 @@ typedef enum QmpCommandType QCT_NORMAL, } QmpCommandType; +typedef enum QmpCommandOptions +{ + QCO_NO_OPTIONS = 0x0, + QCO_NO_SUCCESS_RESP = 0x1, +} QmpCommandOptions; + typedef struct QmpCommand { const char *name; QmpCommandType type; QmpCommandFunc *fn; + QmpCommandOptions options; QTAILQ_ENTRY(QmpCommand) node; bool enabled; } QmpCommand; -void qmp_register_command(const char *name, QmpCommandFunc *fn); +void qmp_register_command(const char *name, QmpCommandFunc *fn, + QmpCommandOptions options); QmpCommand *qmp_find_command(const char *name); QObject *qmp_dispatch(QObject *request); void qmp_disable_command(const char *name); -- cgit 1.4.1