aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
Diffstat (limited to 'qapi')
-rw-r--r--qapi/qmp-core.h1
-rw-r--r--qapi/qmp-registry.c13
2 files changed, 14 insertions, 0 deletions
diff --git a/qapi/qmp-core.h b/qapi/qmp-core.h
index 3cf1781fa4..3bb3acb589 100644
--- a/qapi/qmp-core.h
+++ b/qapi/qmp-core.h
@@ -38,6 +38,7 @@ void qmp_register_command(const char *name, QmpCommandFunc *fn);
QmpCommand *qmp_find_command(const char *name);
QObject *qmp_dispatch(QObject *request);
void qmp_disable_command(const char *name);
+bool qmp_command_is_enabled(const char *name);
char **qmp_get_command_list(void);
#endif
diff --git a/qapi/qmp-registry.c b/qapi/qmp-registry.c
index abafa347fb..25c89ad098 100644
--- a/qapi/qmp-registry.c
+++ b/qapi/qmp-registry.c
@@ -52,6 +52,19 @@ void qmp_disable_command(const char *name)
}
}
+bool qmp_command_is_enabled(const char *name)
+{
+ QmpCommand *cmd;
+
+ QTAILQ_FOREACH(cmd, &qmp_commands, node) {
+ if (strcmp(cmd->name, name) == 0) {
+ return cmd->enabled;
+ }
+ }
+
+ return false;
+}
+
char **qmp_get_command_list(void)
{
QmpCommand *cmd;