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 | |