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