xref: /openbmc/qemu/include/hw/rdma/rdma.h (revision 8e6fe6b8)
1 /*
2  * RDMA device interface
3  *
4  * Copyright (C) 2019 Oracle
5  * Copyright (C) 2019 Red Hat Inc
6  *
7  * Authors:
8  *     Yuval Shaia <yuval.shaia@oracle.com>
9  *
10  * This work is licensed under the terms of the GNU GPL, version 2 or later.
11  * See the COPYING file in the top-level directory.
12  *
13  */
14 
15 #ifndef RDMA_H
16 #define RDMA_H
17 
18 #include "qom/object.h"
19 
20 #define INTERFACE_RDMA_PROVIDER "rdma"
21 
22 #define INTERFACE_RDMA_PROVIDER_CLASS(klass) \
23     OBJECT_CLASS_CHECK(RdmaProviderClass, (klass), \
24                        INTERFACE_RDMA_PROVIDER)
25 #define RDMA_PROVIDER_GET_CLASS(obj) \
26     OBJECT_GET_CLASS(RdmaProviderClass, (obj), \
27                      INTERFACE_RDMA_PROVIDER)
28 #define RDMA_PROVIDER(obj) \
29     INTERFACE_CHECK(RdmaProvider, (obj), \
30                     INTERFACE_RDMA_PROVIDER)
31 
32 typedef struct RdmaProvider RdmaProvider;
33 
34 typedef struct RdmaProviderClass {
35     InterfaceClass parent;
36 
37     void (*print_statistics)(Monitor *mon, RdmaProvider *obj);
38 } RdmaProviderClass;
39 
40 #endif
41