aboutsummaryrefslogtreecommitdiff
path: root/include/hw/rdma/rdma.h
blob: fd3d70103dd1a4b046ad37ffdd2b5250ccab1c19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * RDMA device interface
 *
 * Copyright (C) 2019 Oracle
 * Copyright (C) 2019 Red Hat Inc
 *
 * Authors:
 *     Yuval Shaia <yuval.shaia@oracle.com>
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 * See the COPYING file in the top-level directory.
 *
 */

#ifndef RDMA_H
#define RDMA_H

#include "qom/object.h"

#define INTERFACE_RDMA_PROVIDER "rdma"

#define RDMA_PROVIDER_CLASS(klass) \
    OBJECT_CLASS_CHECK(RdmaProviderClass, (klass), \
                       INTERFACE_RDMA_PROVIDER)
#define RDMA_PROVIDER_GET_CLASS(obj) \
    OBJECT_GET_CLASS(RdmaProviderClass, (obj), \
                     INTERFACE_RDMA_PROVIDER)
#define RDMA_PROVIDER(obj) \
    INTERFACE_CHECK(RdmaProvider, (obj), \
                    INTERFACE_RDMA_PROVIDER)

typedef struct RdmaProvider RdmaProvider;

typedef struct RdmaProviderClass {
    InterfaceClass parent;

    void (*print_statistics)(Monitor *mon, RdmaProvider *obj);
} RdmaProviderClass;

#endif