📄 nfs3.h
字号:
/* * NFSv3 protocol definitions */#ifndef _LINUX_NFS3_H#define _LINUX_NFS3_H#include <linux/sunrpc/msg_prot.h>#include <linux/nfs.h>#define NFS3_PORT 2049#define NFS3_MAXDATA 8192#define NFS3_MAXPATHLEN PATH_MAX#define NFS3_MAXNAMLEN NAME_MAX#define NFS3_MAXGROUPS 16#define NFS3_FHSIZE NFS_FHSIZE#define NFS3_COOKIESIZE 4#define NFS3_FIFO_DEV (-1)#define NFS3MODE_FMT 0170000#define NFS3MODE_DIR 0040000#define NFS3MODE_CHR 0020000#define NFS3MODE_BLK 0060000#define NFS3MODE_REG 0100000#define NFS3MODE_LNK 0120000#define NFS3MODE_SOCK 0140000#define NFS3MODE_FIFO 0010000 enum nfs3_stat { NFS3_OK = 0, NFS3ERR_PERM = 1, NFS3ERR_NOENT = 2, NFS3ERR_IO = 5, NFS3ERR_NXIO = 6, NFS3ERR_EAGAIN = 11, NFS3ERR_ACCES = 13, NFS3ERR_EXIST = 17, NFS3ERR_XDEV = 18, /* new in NFSv3 */ NFS3ERR_NODEV = 19, NFS3ERR_NOTDIR = 20, NFS3ERR_ISDIR = 21, NFS3ERR_INVAL = 22, /* new in NFSv3 */ NFS3ERR_FBIG = 27, NFS3ERR_NOSPC = 28, NFS3ERR_ROFS = 30, NFS3ERR_MLINK = 31, /* new in NFSv3 */ NFS3ERR_NAMETOOLONG = 63, NFS3ERR_NOTEMPTY = 66, NFS3ERR_DQUOT = 69, NFS3ERR_STALE = 70, NFS3ERR_REMOTE = 71, /* new in NFSv3 */ NFS3ERR_BADHANDLE = 10001,/* ditto */ NFS3ERR_NOT_SYNC = 10002,/* ditto */ NFS3ERR_BAD_COOKIE = 10003,/* ditto */ NFS3ERR_NOTSUPP = 10004,/* ditto */ NFS3ERR_TOOSMALL = 10005,/* ditto */ NFS3ERR_SERVERFAULT = 10006,/* ditto */ NFS3ERR_BADTYPE = 10007,/* ditto */ NFS3ERR_JUKEBOX = 10008,/* ditto */};enum nfs3_ftype { NF3NON = 0, NF3REG = 1, NF3DIR = 2, NF3BLK = 3, NF3CHR = 4, NF3LNK = 5, NF3SOCK = 6, NF3FIFO = 7, /* changed from NFSv2 (was 8) */ NF3BAD = 8};#define NFS3_VERSION 3#define NFSPROC_NULL 0#define NFSPROC_GETATTR 1#define NFSPROC_SETATTR 2#define NFSPROC_ROOT 3#define NFSPROC_LOOKUP 4#define NFSPROC_READLINK 5#define NFSPROC_READ 6#define NFSPROC_WRITECACHE 7#define NFSPROC_WRITE 8#define NFSPROC_CREATE 9#define NFSPROC_REMOVE 10#define NFSPROC_RENAME 11#define NFSPROC_LINK 12#define NFSPROC_SYMLINK 13#define NFSPROC_MKDIR 14#define NFSPROC_RMDIR 15#define NFSPROC_READDIR 16#define NFSPROC_STATFS 17#if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)struct nfs3_fh { __u32 size; __u8 data[NFS3_FHSIZE];};struct nfs3_fattr { enum nfs3_ftype type; __u32 mode; __u32 nlink; __u32 uid; __u32 gid; __u64 size; __u64 used; __u32 rdev_maj; __u32 rdev_min; __u32 fsid; __u32 fileid; struct nfs_time atime; struct nfs_time mtime; struct nfs_time ctime;};struct nfs3_wcc_attr { __u64 size; struct nfs_time mtime; struct nfs_time ctime;};struct nfs3_wcc_data { struct nfs3_wcc_attr before; struct nfs3_wcc_attr after;};struct nfs3_sattr { __u32 valid; __u32 mode; __u32 uid; __u32 gid; __u64 size; struct nfs_time atime; struct nfs_time mtime;};struct nfs3_entry { __u32 fileid; char * name; unsigned int length; __u32 cookie; __u32 eof;};struct nfs3_fsinfo { __u32 tsize; __u32 bsize; __u32 blocks; __u32 bfree; __u32 bavail;};#ifdef NFS_NEED_XDR_TYPESstruct nfs3_sattrargs { struct nfs_fh * fh; struct nfs_sattr * sattr;};struct nfs3_diropargs { struct nfs_fh * fh; const char * name;};struct nfs3_readargs { struct nfs_fh * fh; __u32 offset; __u32 count; void * buffer;};struct nfs3_writeargs { struct nfs_fh * fh; __u32 offset; __u32 count; const void * buffer;};struct nfs3_createargs { struct nfs_fh * fh; const char * name; struct nfs_sattr * sattr;};struct nfs3_renameargs { struct nfs_fh * fromfh; const char * fromname; struct nfs_fh * tofh; const char * toname;};struct nfs3_linkargs { struct nfs_fh * fromfh; struct nfs_fh * tofh; const char * toname;};struct nfs3_symlinkargs { struct nfs_fh * fromfh; const char * fromname; const char * topath; struct nfs_sattr * sattr;};struct nfs3_readdirargs { struct nfs_fh * fh; __u32 cookie; void * buffer; unsigned int bufsiz;};struct nfs3_diropok { struct nfs_fh * fh; struct nfs_fattr * fattr;};struct nfs3_readres { struct nfs_fattr * fattr; unsigned int count;};struct nfs3_readlinkres { char ** string; unsigned int * lenp; unsigned int maxlen; void * buffer;};struct nfs3_readdirres { void * buffer; unsigned int bufsiz;};/* * The following are for NFSv3 */struct nfs3_fh { __u32 size; __u8 data[NFS3_FHSIZE]};struct nfs3_wcc_attr { __u64 size; struct nfs_time mtime; struct nfs_time ctime;};#endif /* NFS_NEED_XDR_TYPES */#endif /* __KERNEL__ */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -