⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nfs3.h

📁 基于组件方式开发操作系统的OSKIT源代码
💻 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 + -