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