xref: /openbmc/qemu/tests/qtest/libqos/vhost-user-blk.h (revision d874bc081600528f0400977460b4f98f21e156a1)
1*80695202SCoiby Xu /*
2*80695202SCoiby Xu  * libqos driver framework
3*80695202SCoiby Xu  *
4*80695202SCoiby Xu  * Based on tests/qtest/libqos/virtio-blk.c
5*80695202SCoiby Xu  *
6*80695202SCoiby Xu  * Copyright (c) 2020 Coiby Xu <coiby.xu@gmail.com>
7*80695202SCoiby Xu  *
8*80695202SCoiby Xu  * Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
9*80695202SCoiby Xu  *
10*80695202SCoiby Xu  * This library is free software; you can redistribute it and/or
11*80695202SCoiby Xu  * modify it under the terms of the GNU Lesser General Public
12*80695202SCoiby Xu  * License version 2 as published by the Free Software Foundation.
13*80695202SCoiby Xu  *
14*80695202SCoiby Xu  * This library is distributed in the hope that it will be useful,
15*80695202SCoiby Xu  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16*80695202SCoiby Xu  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17*80695202SCoiby Xu  * Lesser General Public License for more details.
18*80695202SCoiby Xu  *
19*80695202SCoiby Xu  * You should have received a copy of the GNU Lesser General Public
20*80695202SCoiby Xu  * License along with this library; if not, see <http://www.gnu.org/licenses/>
21*80695202SCoiby Xu  */
22*80695202SCoiby Xu 
23*80695202SCoiby Xu #ifndef TESTS_LIBQOS_VHOST_USER_BLK_H
24*80695202SCoiby Xu #define TESTS_LIBQOS_VHOST_USER_BLK_H
25*80695202SCoiby Xu 
26*80695202SCoiby Xu #include "qgraph.h"
27*80695202SCoiby Xu #include "virtio.h"
28*80695202SCoiby Xu #include "virtio-pci.h"
29*80695202SCoiby Xu 
30*80695202SCoiby Xu typedef struct QVhostUserBlk QVhostUserBlk;
31*80695202SCoiby Xu typedef struct QVhostUserBlkPCI QVhostUserBlkPCI;
32*80695202SCoiby Xu typedef struct QVhostUserBlkDevice QVhostUserBlkDevice;
33*80695202SCoiby Xu 
34*80695202SCoiby Xu struct QVhostUserBlk {
35*80695202SCoiby Xu     QVirtioDevice *vdev;
36*80695202SCoiby Xu };
37*80695202SCoiby Xu 
38*80695202SCoiby Xu struct QVhostUserBlkPCI {
39*80695202SCoiby Xu     QVirtioPCIDevice pci_vdev;
40*80695202SCoiby Xu     QVhostUserBlk blk;
41*80695202SCoiby Xu };
42*80695202SCoiby Xu 
43*80695202SCoiby Xu struct QVhostUserBlkDevice {
44*80695202SCoiby Xu     QOSGraphObject obj;
45*80695202SCoiby Xu     QVhostUserBlk blk;
46*80695202SCoiby Xu };
47*80695202SCoiby Xu 
48*80695202SCoiby Xu #endif
49