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

📄 nfs_xdr.h

📁 linux得一些常用命令,以及linux环境下的c编程
💻 H
字号:
#ifndef _LINUX_NFS_XDR_H#define _LINUX_NFS_XDR_Hstruct nfs_fattr {	unsigned short		valid;		/* which fields are valid */	__u64			pre_size;	/* pre_op_attr.size	  */	__u64			pre_mtime;	/* pre_op_attr.mtime	  */	__u64			pre_ctime;	/* pre_op_attr.ctime	  */	enum nfs_ftype		type;		/* always use NFSv2 types */	__u32			mode;	__u32			nlink;	__u32			uid;	__u32			gid;	__u64			size;	union {		struct {			__u32	blocksize;			__u32	blocks;		} nfs2;		struct {			__u64	used;		} nfs3;	} du;	__u32			rdev;	__u64			fsid;	__u64			fileid;	__u64			atime;	__u64			mtime;	__u64			ctime;};#define NFS_ATTR_WCC		0x0001		/* pre-op WCC data    */#define NFS_ATTR_FATTR		0x0002		/* post-op attributes */#define NFS_ATTR_FATTR_V3	0x0004		/* NFSv3 attributes *//* * Info on the file system */struct nfs_fsinfo {	__u32			rtmax;	/* max.  read transfer size */	__u32			rtpref;	/* pref. read transfer size */	__u32			rtmult;	/* reads should be multiple of this */	__u32			wtmax;	/* max.  write transfer size */	__u32			wtpref;	/* pref. write transfer size */	__u32			wtmult;	/* writes should be multiple of this */	__u32			dtpref;	/* pref. readdir transfer size */	__u64			maxfilesize;	__u64			bsize;	/* block size */	__u64			tbytes;	/* total size in bytes */	__u64			fbytes;	/* # of free bytes */	__u64			abytes;	/* # of bytes available to user */	__u64			tfiles;	/* # of files */	__u64			ffiles;	/* # of free files */	__u64			afiles;	/* # of files available to user */	__u32			linkmax;/* max # of hard links */	__u32			namelen;/* max name length */};/* Arguments to the read call. * Note that NFS_READ_MAXIOV must be <= (MAX_IOVEC-2) from sunrpc/xprt.h */#define NFS_READ_MAXIOV 8struct nfs_readargs {	struct nfs_fh *		fh;	__u64			offset;	__u32			count;	unsigned int		pgbase;	struct page **		pages;};struct nfs_readres {	struct nfs_fattr *	fattr;	__u32			count;	int                     eof;};/* Arguments to the write call. * Note that NFS_WRITE_MAXIOV must be <= (MAX_IOVEC-2) from sunrpc/xprt.h */#define NFS_WRITE_MAXIOV        8struct nfs_writeargs {	struct nfs_fh *		fh;	__u64			offset;	__u32			count;	enum nfs3_stable_how	stable;	unsigned int		pgbase;	struct page **		pages;};struct nfs_writeverf {	enum nfs3_stable_how	committed;	__u32			verifier[2];};struct nfs_writeres {	struct nfs_fattr *	fattr;	struct nfs_writeverf *	verf;	__u32			count;};/* * Argument struct for decode_entry function */struct nfs_entry {	__u64			ino;	__u64			cookie,				prev_cookie;	const char *		name;	unsigned int		len;	int			eof;	struct nfs_fh		fh;	struct nfs_fattr	fattr;};/* * The following types are for NFSv2 only. */struct nfs_sattrargs {	struct nfs_fh *		fh;	struct iattr *		sattr;};struct nfs_diropargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;};struct nfs_createargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;	struct iattr *		sattr;};struct nfs_renameargs {	struct nfs_fh *		fromfh;	const char *		fromname;	unsigned int		fromlen;	struct nfs_fh *		tofh;	const char *		toname;	unsigned int		tolen;};struct nfs_linkargs {	struct nfs_fh *		fromfh;	struct nfs_fh *		tofh;	const char *		toname;	unsigned int		tolen;};struct nfs_symlinkargs {	struct nfs_fh *		fromfh;	const char *		fromname;	unsigned int		fromlen;	const char *		topath;	unsigned int		tolen;	struct iattr *		sattr;};struct nfs_readdirargs {	struct nfs_fh *		fh;	__u32			cookie;	unsigned int		count;	struct page **		pages;};struct nfs_diropok {	struct nfs_fh *		fh;	struct nfs_fattr *	fattr;};struct nfs_readlinkargs {	struct nfs_fh *		fh;	unsigned int		count;	struct page **		pages;};struct nfs3_sattrargs {	struct nfs_fh *		fh;	struct iattr *		sattr;	unsigned int		guard;	__u64			guardtime;};struct nfs3_diropargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;};struct nfs3_accessargs {	struct nfs_fh *		fh;	__u32			access;};struct nfs3_createargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;	struct iattr *		sattr;	enum nfs3_createmode	createmode;	__u32			verifier[2];};struct nfs3_mkdirargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;	struct iattr *		sattr;};struct nfs3_symlinkargs {	struct nfs_fh *		fromfh;	const char *		fromname;	unsigned int		fromlen;	const char *		topath;	unsigned int		tolen;	struct iattr *		sattr;};struct nfs3_mknodargs {	struct nfs_fh *		fh;	const char *		name;	unsigned int		len;	enum nfs3_ftype		type;	struct iattr *		sattr;	dev_t			rdev;};struct nfs3_renameargs {	struct nfs_fh *		fromfh;	const char *		fromname;	unsigned int		fromlen;	struct nfs_fh *		tofh;	const char *		toname;	unsigned int		tolen;};struct nfs3_linkargs {	struct nfs_fh *		fromfh;	struct nfs_fh *		tofh;	const char *		toname;	unsigned int		tolen;};struct nfs3_readdirargs {	struct nfs_fh *		fh;	__u64			cookie;	__u32			verf[2];	int			plus;	unsigned int            count;	struct page **		pages;};struct nfs3_diropres {	struct nfs_fattr *	dir_attr;	struct nfs_fh *		fh;	struct nfs_fattr *	fattr;};struct nfs3_accessres {	struct nfs_fattr *	fattr;	__u32			access;};struct nfs3_readlinkargs {	struct nfs_fh *		fh;	unsigned int		count;	struct page **		pages;};struct nfs3_renameres {	struct nfs_fattr *	fromattr;	struct nfs_fattr *	toattr;};struct nfs3_linkres {	struct nfs_fattr *	dir_attr;	struct nfs_fattr *	fattr;};struct nfs3_readdirres {	struct nfs_fattr *	dir_attr;	__u32 *			verf;	int			plus;};/* * RPC procedure vector for NFSv2/NFSv3 demuxing */struct nfs_rpc_ops {	int	version;		/* Protocol version */	int	(*getroot) (struct nfs_server *, struct nfs_fh *,			    struct nfs_fattr *);	int	(*getattr) (struct inode *, struct nfs_fattr *);	int	(*setattr) (struct inode *, struct nfs_fattr *,			    struct iattr *);	int	(*lookup)  (struct inode *, struct qstr *,			    struct nfs_fh *, struct nfs_fattr *);	int	(*access)  (struct inode *, int , int);	int	(*readlink)(struct inode *, struct page *);	int	(*read)    (struct inode *, struct rpc_cred *,			    struct nfs_fattr *,			    int, unsigned int, unsigned int,			    struct page *, int *eofp);	int	(*write)   (struct inode *, struct rpc_cred *,			    struct nfs_fattr *,			    int, unsigned int, unsigned int,			    struct page *, struct nfs_writeverf *verfp);	int	(*commit)  (struct inode *, struct nfs_fattr *,			    unsigned long, unsigned int);	int	(*create)  (struct inode *, struct qstr *, struct iattr *,			    int, struct nfs_fh *, struct nfs_fattr *);	int	(*remove)  (struct inode *, struct qstr *);	int	(*unlink_setup)  (struct rpc_message *,			    struct dentry *, struct qstr *);	void	(*unlink_done) (struct dentry *, struct rpc_message *);	int	(*rename)  (struct inode *, struct qstr *,			    struct inode *, struct qstr *);	int	(*link)    (struct inode *, struct inode *, struct qstr *);	int	(*symlink) (struct inode *, struct qstr *, struct qstr *,			    struct iattr *, struct nfs_fh *,			    struct nfs_fattr *);	int	(*mkdir)   (struct inode *, struct qstr *, struct iattr *,			    struct nfs_fh *, struct nfs_fattr *);	int	(*rmdir)   (struct inode *, struct qstr *);	int	(*readdir) (struct inode *, struct rpc_cred *,			    u64, struct page *, unsigned int, int);	int	(*mknod)   (struct inode *, struct qstr *, struct iattr *,			    dev_t, struct nfs_fh *, struct nfs_fattr *);	int	(*statfs)  (struct nfs_server *, struct nfs_fh *,			    struct nfs_fsinfo *);	u32 *	(*decode_dirent)(u32 *, struct nfs_entry *, int plus);};/* * 	NFS_CALL(getattr, inode, (fattr)); * into *	NFS_PROTO(inode)->getattr(fattr); */#define NFS_CALL(op, inode, args)	NFS_PROTO(inode)->op args/* * Function vectors etc. for the NFS client */extern struct nfs_rpc_ops	nfs_v2_clientops;extern struct nfs_rpc_ops	nfs_v3_clientops;extern struct rpc_version	nfs_version2;extern struct rpc_version	nfs_version3;extern struct rpc_program	nfs_program;extern struct rpc_stat		nfs_rpcstat;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -