1 /* 2 * Virtio 9p 3 * 4 * Copyright IBM, Corp. 2010 5 * 6 * Authors: 7 * Gautham R Shenoy <ego@in.ibm.com> 8 * 9 * This work is licensed under the terms of the GNU GPL, version 2. See 10 * the COPYING file in the top-level directory. 11 * 12 */ 13 #ifndef QEMU_FSDEV_H 14 #define QEMU_FSDEV_H 15 #include "qemu-option.h" 16 #include "file-op-9p.h" 17 18 19 /* 20 * A table to store the various file systems and their callback operations. 21 * ----------------- 22 * fstype | ops 23 * ----------------- 24 * local | local_ops 25 * . | 26 * . | 27 * . | 28 * . | 29 * ----------------- 30 * etc 31 */ 32 typedef struct FsTypeTable { 33 const char *name; 34 FileOperations *ops; 35 } FsTypeTable; 36 37 /* 38 * Structure to store the various fsdev's passed through command line. 39 */ 40 typedef struct FsTypeEntry { 41 char *fsdev_id; 42 char *path; 43 char *security_model; 44 FileOperations *ops; 45 } FsTypeEntry; 46 47 typedef struct FsTypeListEntry { 48 FsTypeEntry fse; 49 QTAILQ_ENTRY(FsTypeListEntry) next; 50 } FsTypeListEntry; 51 52 int qemu_fsdev_add(QemuOpts *opts); 53 FsTypeEntry *get_fsdev_fsentry(char *id); 54 extern FileOperations local_ops; 55 #endif 56