xref: /qemu/tests/qtest/libqos/virtio-serial.h (revision a2ce7dbd917a18408cf4bfd132578b46c2752a72)
1b3e7dc87SEmanuele Giuseppe Esposito /*
2b3e7dc87SEmanuele Giuseppe Esposito  * libqos driver framework
3b3e7dc87SEmanuele Giuseppe Esposito  *
4b3e7dc87SEmanuele Giuseppe Esposito  * Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
5b3e7dc87SEmanuele Giuseppe Esposito  *
6b3e7dc87SEmanuele Giuseppe Esposito  * This library is free software; you can redistribute it and/or
7b3e7dc87SEmanuele 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.
9b3e7dc87SEmanuele Giuseppe Esposito  *
10b3e7dc87SEmanuele Giuseppe Esposito  * This library is distributed in the hope that it will be useful,
11b3e7dc87SEmanuele Giuseppe Esposito  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12b3e7dc87SEmanuele Giuseppe Esposito  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13b3e7dc87SEmanuele Giuseppe Esposito  * Lesser General Public License for more details.
14b3e7dc87SEmanuele Giuseppe Esposito  *
15b3e7dc87SEmanuele Giuseppe Esposito  * You should have received a copy of the GNU Lesser General Public
16b3e7dc87SEmanuele Giuseppe Esposito  * License along with this library; if not, see <http://www.gnu.org/licenses/>
17b3e7dc87SEmanuele Giuseppe Esposito  */
18b3e7dc87SEmanuele Giuseppe Esposito 
19f91005e1SMarkus Armbruster #ifndef TESTS_LIBQOS_VIRTIO_SERIAL_H
20f91005e1SMarkus Armbruster #define TESTS_LIBQOS_VIRTIO_SERIAL_H
21f91005e1SMarkus Armbruster 
22*a2ce7dbdSPaolo Bonzini #include "qgraph.h"
23*a2ce7dbdSPaolo Bonzini #include "virtio.h"
24*a2ce7dbdSPaolo Bonzini #include "virtio-pci.h"
25b3e7dc87SEmanuele Giuseppe Esposito 
26b3e7dc87SEmanuele Giuseppe Esposito typedef struct QVirtioSerial QVirtioSerial;
27b3e7dc87SEmanuele Giuseppe Esposito typedef struct QVirtioSerialPCI QVirtioSerialPCI;
28b3e7dc87SEmanuele Giuseppe Esposito typedef struct QVirtioSerialDevice QVirtioSerialDevice;
29b3e7dc87SEmanuele Giuseppe Esposito 
30b3e7dc87SEmanuele Giuseppe Esposito struct QVirtioSerial {
31b3e7dc87SEmanuele Giuseppe Esposito     QVirtioDevice *vdev;
32b3e7dc87SEmanuele Giuseppe Esposito };
33b3e7dc87SEmanuele Giuseppe Esposito 
34b3e7dc87SEmanuele Giuseppe Esposito struct QVirtioSerialPCI {
35b3e7dc87SEmanuele Giuseppe Esposito     QVirtioPCIDevice pci_vdev;
36b3e7dc87SEmanuele Giuseppe Esposito     QVirtioSerial serial;
37b3e7dc87SEmanuele Giuseppe Esposito };
38b3e7dc87SEmanuele Giuseppe Esposito 
39b3e7dc87SEmanuele Giuseppe Esposito struct QVirtioSerialDevice {
40b3e7dc87SEmanuele Giuseppe Esposito     QOSGraphObject obj;
41b3e7dc87SEmanuele Giuseppe Esposito     QVirtioSerial serial;
42b3e7dc87SEmanuele Giuseppe Esposito };
43f91005e1SMarkus Armbruster 
44f91005e1SMarkus Armbruster #endif
45