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