|
|
1.1 root 1: /*
2: * Core Definitions for QAPI/QMP Dispatch
3: *
4: * Copyright IBM, Corp. 2011
5: *
6: * Authors:
7: * Anthony Liguori <[email protected]>
8: * Michael Roth <[email protected]>
9: *
10: * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
11: * See the COPYING.LIB file in the top-level directory.
12: *
13: */
14:
15: #include "qapi/qmp-core.h"
16:
17: static QTAILQ_HEAD(, QmpCommand) qmp_commands =
18: QTAILQ_HEAD_INITIALIZER(qmp_commands);
19:
20: void qmp_register_command(const char *name, QmpCommandFunc *fn)
21: {
1.1.1.2 ! root 22: QmpCommand *cmd = g_malloc0(sizeof(*cmd));
1.1 root 23:
24: cmd->name = name;
25: cmd->type = QCT_NORMAL;
26: cmd->fn = fn;
27: QTAILQ_INSERT_TAIL(&qmp_commands, cmd, node);
28: }
29:
30: QmpCommand *qmp_find_command(const char *name)
31: {
32: QmpCommand *i;
33:
34: QTAILQ_FOREACH(i, &qmp_commands, node) {
35: if (strcmp(i->name, name) == 0) {
36: return i;
37: }
38: }
39: return NULL;
40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.