xref: /openbmc/qemu/fsdev/qemu-fsdev.h (revision 7c6da3de)
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 extern FileOperations handle_ops;
56 #endif
57