nfs_xdr.h

来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· C头文件 代码 · 共 779 行 · 第 1/2 页

H
779
字号
struct nfs_readlinkargs {	struct nfs_fh *		fh;	unsigned int		pgbase;	unsigned int		pglen;	struct page **		pages;};struct nfs3_sattrargs {	struct nfs_fh *		fh;	struct iattr *		sattr;	unsigned int		guard;	struct timespec		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		pgbase;	unsigned int		pglen;	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;};struct nfs3_getaclres {	struct nfs_fattr *	fattr;	int			mask;	unsigned int		acl_access_count;	unsigned int		acl_default_count;	struct posix_acl *	acl_access;	struct posix_acl *	acl_default;};#ifdef CONFIG_NFS_V4typedef u64 clientid4;struct nfs4_accessargs {	const struct nfs_fh *		fh;	u32				access;};struct nfs4_accessres {	u32				supported;	u32				access;};struct nfs4_create_arg {	u32				ftype;	union {		struct qstr *		symlink;    /* NF4LNK */		struct {			u32		specdata1;			u32		specdata2;		} device;    /* NF4BLK, NF4CHR */	} u;	const struct qstr *		name;	const struct nfs_server *	server;	const struct iattr *		attrs;	const struct nfs_fh *		dir_fh;	const u32 *			bitmask;};struct nfs4_create_res {	const struct nfs_server *	server;	struct nfs_fh *			fh;	struct nfs_fattr *		fattr;	struct nfs4_change_info		dir_cinfo;};struct nfs4_fsinfo_arg {	const struct nfs_fh *		fh;	const u32 *			bitmask;};struct nfs4_getattr_arg {	const struct nfs_fh *		fh;	const u32 *			bitmask;};struct nfs4_getattr_res {	const struct nfs_server *	server;	struct nfs_fattr *		fattr;};struct nfs4_link_arg {	const struct nfs_fh *		fh;	const struct nfs_fh *		dir_fh;	const struct qstr *		name;};struct nfs4_lookup_arg {	const struct nfs_fh *		dir_fh;	const struct qstr *		name;	const u32 *			bitmask;};struct nfs4_lookup_res {	const struct nfs_server *	server;	struct nfs_fattr *		fattr;	struct nfs_fh *			fh;};struct nfs4_lookup_root_arg {	const u32 *			bitmask;};struct nfs4_pathconf_arg {	const struct nfs_fh *		fh;	const u32 *			bitmask;};struct nfs4_readdir_arg {	const struct nfs_fh *		fh;	u64				cookie;	nfs4_verifier			verifier;	u32				count;	struct page **			pages;	/* zero-copy data */	unsigned int			pgbase;	/* zero-copy data */	const u32 *			bitmask;};struct nfs4_readdir_res {	nfs4_verifier			verifier;	unsigned int			pgbase;};struct nfs4_readlink {	const struct nfs_fh *		fh;	unsigned int			pgbase;	unsigned int			pglen;   /* zero-copy data */	struct page **			pages;   /* zero-copy data */};struct nfs4_remove_arg {	const struct nfs_fh *		fh;	const struct qstr *		name;};struct nfs4_rename_arg {	const struct nfs_fh *		old_dir;	const struct nfs_fh *		new_dir;	const struct qstr *		old_name;	const struct qstr *		new_name;};struct nfs4_rename_res {	struct nfs4_change_info		old_cinfo;	struct nfs4_change_info		new_cinfo;};struct nfs4_setclientid {	const nfs4_verifier *		sc_verifier;      /* request */	unsigned int			sc_name_len;	char				sc_name[32];	  /* request */	u32				sc_prog;          /* request */	unsigned int			sc_netid_len;	char				sc_netid[4];	  /* request */	unsigned int			sc_uaddr_len;	char				sc_uaddr[24];     /* request */	u32				sc_cb_ident;      /* request */};struct nfs4_statfs_arg {	const struct nfs_fh *		fh;	const u32 *			bitmask;};struct nfs4_server_caps_res {	u32				attr_bitmask[2];	u32				acl_bitmask;	u32				has_links;	u32				has_symlinks;};#endif /* CONFIG_NFS_V4 */struct nfs_page;struct nfs_read_data {	int			flags;	struct rpc_task		task;	struct inode		*inode;	struct rpc_cred		*cred;	struct nfs_fattr	fattr;	/* fattr storage */	struct list_head	pages;	/* Coalesced read requests */	struct nfs_page		*req;	/* multi ops per nfs_page */	struct page		*pagevec[NFS_READ_MAXIOV];	struct nfs_readargs args;	struct nfs_readres  res;#ifdef CONFIG_NFS_V4	unsigned long		timestamp;	/* For lease renewal */#endif	void (*complete) (struct nfs_read_data *, int);};struct nfs_write_data {	int			flags;	struct rpc_task		task;	struct inode		*inode;	struct rpc_cred		*cred;	struct nfs_fattr	fattr;	struct nfs_writeverf	verf;	struct list_head	pages;		/* Coalesced requests we wish to flush */	struct nfs_page		*req;		/* multi ops per nfs_page */	struct page		*pagevec[NFS_WRITE_MAXIOV];	struct nfs_writeargs	args;		/* argument struct */	struct nfs_writeres	res;		/* result struct */#ifdef CONFIG_NFS_V4	unsigned long		timestamp;	/* For lease renewal */#endif	void (*complete) (struct nfs_write_data *, int);};struct nfs_access_entry;/* * RPC procedure vector for NFSv2/NFSv3 demuxing */struct nfs_rpc_ops {	int	version;		/* Protocol version */	struct dentry_operations *dentry_ops;	struct inode_operations *dir_inode_ops;	struct inode_operations *file_inode_ops;	int	(*getroot) (struct nfs_server *, struct nfs_fh *,			    struct nfs_fsinfo *);	int	(*getattr) (struct nfs_server *, struct nfs_fh *,			    struct nfs_fattr *);	int	(*setattr) (struct dentry *, struct nfs_fattr *,			    struct iattr *);	int	(*lookup)  (struct inode *, struct qstr *,			    struct nfs_fh *, struct nfs_fattr *);	int	(*access)  (struct inode *, struct nfs_access_entry *);	int	(*readlink)(struct inode *, struct page *, unsigned int,			    unsigned int);	int	(*read)    (struct nfs_read_data *);	int	(*write)   (struct nfs_write_data *);	int	(*commit)  (struct nfs_write_data *);	int	(*create)  (struct inode *, struct dentry *,			    struct iattr *, int);	int	(*remove)  (struct inode *, struct qstr *);	int	(*unlink_setup)  (struct rpc_message *,			    struct dentry *, struct qstr *);	int	(*unlink_done) (struct dentry *, struct rpc_task *);	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 dentry *, struct iattr *);	int	(*rmdir)   (struct inode *, struct qstr *);	int	(*readdir) (struct dentry *, struct rpc_cred *,			    u64, struct page *, unsigned int, int);	int	(*mknod)   (struct inode *, struct dentry *, struct iattr *,			    dev_t);	int	(*statfs)  (struct nfs_server *, struct nfs_fh *,			    struct nfs_fsstat *);	int	(*fsinfo)  (struct nfs_server *, struct nfs_fh *,			    struct nfs_fsinfo *);	int	(*pathconf) (struct nfs_server *, struct nfs_fh *,			     struct nfs_pathconf *);	u32 *	(*decode_dirent)(u32 *, struct nfs_entry *, int plus);	void	(*read_setup)   (struct nfs_read_data *);	void	(*write_setup)  (struct nfs_write_data *, int how);	void	(*commit_setup) (struct nfs_write_data *, int how);	int	(*file_open)   (struct inode *, struct file *);	int	(*file_release) (struct inode *, struct file *);	int	(*lock)(struct file *, int, struct file_lock *);	void	(*clear_acl_cache)(struct inode *);};/* * 	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 nfs_rpc_ops	nfs_v4_clientops;extern struct rpc_version	nfs_version2;extern struct rpc_version	nfs_version3;extern struct rpc_version	nfs_version4;extern struct rpc_version	nfsacl_version3;extern struct rpc_program	nfsacl_program;#endif

⌨️ 快捷键说明

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