1#ifndef VFS_NFS_H
2#define VFS_NFS_H
3
4// per-mount state
5struct nfs_state {
6    struct nfs_client *client;
7    struct nfs_fh3 rootfh;
8    mountstat3 mountstat;
9};
10
11// file handle
12struct nfs_handle {
13    struct vfs_handle common;
14    struct nfs_state *nfs;
15    bool isdir;
16    struct nfs_fh3 fh;
17    enum ftype3 type;
18    void *st;
19#ifdef ASYNC_WRITES
20    int inflight;
21#endif
22#ifdef WITH_META_DATA_CACHE
23    size_t cached_filesize;
24    bool filesize_cached;
25#endif
26    union {
27        struct {
28            size_t pos;
29        } file;
30        struct {
31            struct READDIR3res *readdir_result;
32            struct entry3 *readdir_prev;
33            struct entry3 *readdir_next;
34        } dir;
35    } u;
36};
37
38#endif
39