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