xref: /openbmc/qemu/fsdev/qemu-fsdev.h (revision 4a09d0bb)
1 /*
2  * 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 FsDriverTable {
33     const char *name;
34     FileOperations *ops;
35 } FsDriverTable;
36 
37 typedef struct FsDriverListEntry {
38     FsDriverEntry fse;
39     QTAILQ_ENTRY(FsDriverListEntry) next;
40 } FsDriverListEntry;
41 
42 int qemu_fsdev_add(QemuOpts *opts);
43 FsDriverEntry *get_fsdev_fsentry(char *id);
44 extern FileOperations local_ops;
45 extern FileOperations handle_ops;
46 extern FileOperations synth_ops;
47 extern FileOperations proxy_ops;
48 #endif
49