hw/9pfs: Add synthetic file system support using 9p
[qemu/kevin.git] / fsdev / qemu-fsdev.h
blob8ef847374aa6dbe21b87f4f4b24dd3b00dd83536
1 /*
2 * Virtio 9p
4 * Copyright IBM, Corp. 2010
6 * Authors:
7 * Gautham R Shenoy <ego@in.ibm.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
13 #ifndef QEMU_FSDEV_H
14 #define QEMU_FSDEV_H
15 #include "qemu-option.h"
16 #include "file-op-9p.h"
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
32 typedef struct FsDriverTable {
33 const char *name;
34 FileOperations *ops;
35 } FsDriverTable;
38 * Structure to store the various fsdev's passed through command line.
40 typedef struct FsDriverEntry {
41 char *fsdev_id;
42 char *path;
43 int export_flags;
44 FileOperations *ops;
45 } FsDriverEntry;
47 typedef struct FsDriverListEntry {
48 FsDriverEntry fse;
49 QTAILQ_ENTRY(FsDriverListEntry) next;
50 } FsDriverListEntry;
52 int qemu_fsdev_add(QemuOpts *opts);
53 FsDriverEntry *get_fsdev_fsentry(char *id);
54 extern FileOperations local_ops;
55 extern FileOperations handle_ops;
56 extern FileOperations synth_ops;
57 #endif