Statistics
| Branch: | Revision:

root / qapi / qmp-core.h @ ab02ab2a

History | View | Annotate | Download (822 Bytes)

1
/*
2
 * Core Definitions for QAPI/QMP Dispatch
3
 *
4
 * Copyright IBM, Corp. 2011
5
 *
6
 * Authors:
7
 *  Anthony Liguori   <aliguori@us.ibm.com>
8
 *
9
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10
 * See the COPYING.LIB file in the top-level directory.
11
 *
12
 */
13

    
14
#ifndef QMP_CORE_H
15
#define QMP_CORE_H
16

    
17
#include "qobject.h"
18
#include "qdict.h"
19
#include "error.h"
20

    
21
typedef void (QmpCommandFunc)(QDict *, QObject **, Error **);
22

    
23
typedef enum QmpCommandType
24
{
25
    QCT_NORMAL,
26
} QmpCommandType;
27

    
28
typedef struct QmpCommand
29
{
30
    const char *name;
31
    QmpCommandType type;
32
    QmpCommandFunc *fn;
33
    QTAILQ_ENTRY(QmpCommand) node;
34
} QmpCommand;
35

    
36
void qmp_register_command(const char *name, QmpCommandFunc *fn);
37
QmpCommand *qmp_find_command(const char *name);
38
QObject *qmp_dispatch(QObject *request);
39

    
40
#endif
41