Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 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" |
Aneesh Kumar K.V | 353ac78 | 2011-01-28 18:09:08 +0530 | [diff] [blame] | 16 | #include "file-op-9p.h" |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 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 | */ |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 32 | typedef struct FsDriverTable { |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 33 | const char *name; |
| 34 | FileOperations *ops; |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 35 | } FsDriverTable; |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 36 | |
| 37 | /* |
| 38 | * Structure to store the various fsdev's passed through command line. |
| 39 | */ |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 40 | typedef struct FsDriverEntry { |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 41 | char *fsdev_id; |
| 42 | char *path; |
Venkateswararao Jujjuri (JV) | 9ce56db | 2010-06-14 13:34:40 -0700 | [diff] [blame] | 43 | char *security_model; |
Aneesh Kumar K.V | d3ab98e | 2011-10-12 19:11:23 +0530 | [diff] [blame] | 44 | int export_flags; |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 45 | FileOperations *ops; |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 46 | } FsDriverEntry; |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 47 | |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 48 | typedef struct FsDriverListEntry { |
| 49 | FsDriverEntry fse; |
| 50 | QTAILQ_ENTRY(FsDriverListEntry) next; |
| 51 | } FsDriverListEntry; |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 52 | |
Blue Swirl | 64b85a8 | 2011-01-23 16:21:20 +0000 | [diff] [blame] | 53 | int qemu_fsdev_add(QemuOpts *opts); |
Aneesh Kumar K.V | fbcbf10 | 2011-10-13 12:28:04 +0530 | [diff] [blame^] | 54 | FsDriverEntry *get_fsdev_fsentry(char *id); |
Anthony Liguori | 9f10751 | 2010-04-29 17:44:44 +0530 | [diff] [blame] | 55 | extern FileOperations local_ops; |
Aneesh Kumar K.V | 5f54222 | 2011-08-02 11:35:54 +0530 | [diff] [blame] | 56 | extern FileOperations handle_ops; |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 57 | #endif |