aboutsummaryrefslogtreecommitdiff
path: root/fsdev/file-op-9p.h
diff options
context:
space:
mode:
Diffstat (limited to 'fsdev/file-op-9p.h')
-rw-r--r--fsdev/file-op-9p.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h
index c823fe0aee..1e96c8bed9 100644
--- a/fsdev/file-op-9p.h
+++ b/fsdev/file-op-9p.h
@@ -57,10 +57,22 @@ typedef struct extended_ops {
*/
#define V9FS_SM_NONE 0x00000010
#define V9FS_RDONLY 0x00000020
+#define V9FS_PROXY_SOCK_FD 0x00000040
+#define V9FS_PROXY_SOCK_NAME 0x00000080
#define V9FS_SEC_MASK 0x0000001C
+typedef struct FileOperations FileOperations;
+/*
+ * Structure to store the various fsdev's passed through command line.
+ */
+typedef struct FsDriverEntry {
+ char *fsdev_id;
+ char *path;
+ int export_flags;
+ FileOperations *ops;
+} FsDriverEntry;
typedef struct FsContext
{
@@ -82,8 +94,9 @@ typedef union V9fsFidOpenState V9fsFidOpenState;
void cred_init(FsCred *);
-typedef struct FileOperations
+struct FileOperations
{
+ int (*parse_opts)(QemuOpts *, struct FsDriverEntry *);
int (*init)(struct FsContext *);
int (*lstat)(FsContext *, V9fsPath *, struct stat *);
ssize_t (*readlink)(FsContext *, V9fsPath *, char *, size_t);
@@ -128,6 +141,6 @@ typedef struct FileOperations
V9fsPath *newdir, const char *new_name);
int (*unlinkat)(FsContext *ctx, V9fsPath *dir, const char *name, int flags);
void *opaque;
-} FileOperations;
+};
#endif