diff options
Diffstat (limited to 'fsdev/file-op-9p.h')
-rw-r--r-- | fsdev/file-op-9p.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 5788ff911c..1928da2525 100644 --- a/fsdev/file-op-9p.h +++ b/fsdev/file-op-9p.h @@ -78,6 +78,8 @@ typedef struct V9fsPath { char *data; } V9fsPath; +typedef union V9fsFidOpenState V9fsFidOpenState; + void cred_init(FsCred *); typedef struct FileOperations @@ -94,22 +96,26 @@ typedef struct FileOperations const char *, FsCred *); int (*link)(FsContext *, V9fsPath *, V9fsPath *, const char *); int (*setuid)(FsContext *, uid_t); - int (*close)(FsContext *, int); - int (*closedir)(FsContext *, DIR *); - DIR *(*opendir)(FsContext *, V9fsPath *); - int (*open)(FsContext *, V9fsPath *, int); - int (*open2)(FsContext *, V9fsPath *, const char *, int, FsCred *); - void (*rewinddir)(FsContext *, DIR *); - off_t (*telldir)(FsContext *, DIR *); - int (*readdir_r)(FsContext *, DIR *, struct dirent *, struct dirent **); - void (*seekdir)(FsContext *, DIR *, off_t); - ssize_t (*preadv)(FsContext *, int, const struct iovec *, int, off_t); - ssize_t (*pwritev)(FsContext *, int, const struct iovec *, int, off_t); + int (*close)(FsContext *, V9fsFidOpenState *); + int (*closedir)(FsContext *, V9fsFidOpenState *); + int (*opendir)(FsContext *, V9fsPath *, V9fsFidOpenState *); + int (*open)(FsContext *, V9fsPath *, int, V9fsFidOpenState *); + int (*open2)(FsContext *, V9fsPath *, const char *, + int, FsCred *, V9fsFidOpenState *); + void (*rewinddir)(FsContext *, V9fsFidOpenState *); + off_t (*telldir)(FsContext *, V9fsFidOpenState *); + int (*readdir_r)(FsContext *, V9fsFidOpenState *, + struct dirent *, struct dirent **); + void (*seekdir)(FsContext *, V9fsFidOpenState *, off_t); + ssize_t (*preadv)(FsContext *, V9fsFidOpenState *, + const struct iovec *, int, off_t); + ssize_t (*pwritev)(FsContext *, V9fsFidOpenState *, + const struct iovec *, int, off_t); int (*mkdir)(FsContext *, V9fsPath *, const char *, FsCred *); - int (*fstat)(FsContext *, int, struct stat *); + int (*fstat)(FsContext *, V9fsFidOpenState *, struct stat *); int (*rename)(FsContext *, const char *, const char *); int (*truncate)(FsContext *, V9fsPath *, off_t); - int (*fsync)(FsContext *, int, int); + int (*fsync)(FsContext *, V9fsFidOpenState *, int); int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf); ssize_t (*lgetxattr)(FsContext *, V9fsPath *, const char *, void *, size_t); |