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
32typedef struct RdmaProvider RdmaProvider;
33
34typedef struct RdmaProviderClass {
35 InterfaceClass parent;
36
37 void (*print_statistics)(Monitor *mon, RdmaProvider *obj);
38} RdmaProviderClass;
39
40#endif
41