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