2010-04-29 20:14:43 +08:00
|
|
|
/*
|
2016-06-06 17:52:34 +08:00
|
|
|
* 9p
|
2010-04-29 20:14:43 +08:00
|
|
|
*
|
|
|
|
* Copyright IBM, Corp. 2010
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Gautham R Shenoy <ego@in.ibm.com>
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2. See
|
|
|
|
* the COPYING file in the top-level directory.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#ifndef QEMU_FSDEV_H
|
|
|
|
#define QEMU_FSDEV_H
|
2011-01-28 20:39:08 +08:00
|
|
|
#include "file-op-9p.h"
|
2010-04-29 20:14:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* A table to store the various file systems and their callback operations.
|
|
|
|
* -----------------
|
|
|
|
* fstype | ops
|
|
|
|
* -----------------
|
|
|
|
* local | local_ops
|
|
|
|
* . |
|
|
|
|
* . |
|
|
|
|
* . |
|
|
|
|
* . |
|
|
|
|
* -----------------
|
|
|
|
* etc
|
|
|
|
*/
|
2011-10-13 14:58:04 +08:00
|
|
|
typedef struct FsDriverTable {
|
2010-04-29 20:14:43 +08:00
|
|
|
const char *name;
|
|
|
|
FileOperations *ops;
|
2011-10-13 14:58:04 +08:00
|
|
|
} FsDriverTable;
|
2010-04-29 20:14:43 +08:00
|
|
|
|
2011-10-13 14:58:04 +08:00
|
|
|
typedef struct FsDriverListEntry {
|
|
|
|
FsDriverEntry fse;
|
|
|
|
QTAILQ_ENTRY(FsDriverListEntry) next;
|
|
|
|
} FsDriverListEntry;
|
2010-04-29 20:14:43 +08:00
|
|
|
|
2018-10-17 16:26:55 +08:00
|
|
|
int qemu_fsdev_add(QemuOpts *opts, Error **errp);
|
2011-10-13 14:58:04 +08:00
|
|
|
FsDriverEntry *get_fsdev_fsentry(char *id);
|
2010-04-29 20:14:44 +08:00
|
|
|
extern FileOperations local_ops;
|
2011-08-02 14:05:54 +08:00
|
|
|
extern FileOperations handle_ops;
|
2011-10-25 14:40:40 +08:00
|
|
|
extern FileOperations synth_ops;
|
2011-12-14 16:19:28 +08:00
|
|
|
extern FileOperations proxy_ops;
|
2010-04-29 20:14:43 +08:00
|
|
|
#endif
|