qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

virtio-9p.h (1773B)


      1 /*
      2  * libqos driver framework
      3  *
      4  * Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
      5  *
      6  * This library is free software; you can redistribute it and/or
      7  * modify it under the terms of the GNU Lesser General Public
      8  * License version 2.1 as published by the Free Software Foundation.
      9  *
     10  * This library is distributed in the hope that it will be useful,
     11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13  * Lesser General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU Lesser General Public
     16  * License along with this library; if not, see <http://www.gnu.org/licenses/>
     17  */
     18 
     19 #ifndef TESTS_LIBQOS_VIRTIO_9P_H
     20 #define TESTS_LIBQOS_VIRTIO_9P_H
     21 
     22 #include "qgraph.h"
     23 #include "virtio.h"
     24 #include "virtio-pci.h"
     25 
     26 typedef struct QVirtio9P QVirtio9P;
     27 typedef struct QVirtio9PPCI QVirtio9PPCI;
     28 typedef struct QVirtio9PDevice QVirtio9PDevice;
     29 
     30 #define MOUNT_TAG "qtest"
     31 
     32 struct QVirtio9P {
     33     QVirtioDevice *vdev;
     34     QVirtQueue *vq;
     35 };
     36 
     37 struct QVirtio9PPCI {
     38     QVirtioPCIDevice pci_vdev;
     39     QVirtio9P v9p;
     40 };
     41 
     42 struct QVirtio9PDevice {
     43     QOSGraphObject obj;
     44     QVirtio9P v9p;
     45 };
     46 
     47 /**
     48  * Creates the directory for the 9pfs 'local' filesystem driver to access.
     49  */
     50 void virtio_9p_create_local_test_dir(void);
     51 
     52 /**
     53  * Deletes directory previously created by virtio_9p_create_local_test_dir().
     54  */
     55 void virtio_9p_remove_local_test_dir(void);
     56 
     57 /**
     58  * Prepares QEMU command line for 9pfs tests using the 'local' fs driver.
     59  */
     60 void virtio_9p_assign_local_driver(GString *cmd_line, const char *args);
     61 
     62 /**
     63  * Returns path on host to the passed guest path. Result must be freed.
     64  */
     65 char *virtio_9p_test_path(const char *path);
     66 
     67 #endif