xdr3.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 269 行
H
269 行
/* * linux/include/linux/nfsd/xdr3.h * * XDR types for NFSv3 in nfsd. * * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de> */#ifndef LINUX_NFSD_XDR3_H#define LINUX_NFSD_XDR3_H#include <linux/nfsd/xdr.h>struct nfsd3_sattrargs { struct svc_fh fh; struct iattr attrs; time_t guardtime;};struct nfsd3_diropargs { struct svc_fh fh; char * name; int len;};struct nfsd3_accessargs { struct svc_fh fh; unsigned int access;};struct nfsd3_readargs { struct svc_fh fh; __u64 offset; __u32 count;};struct nfsd3_writeargs { svc_fh fh; __u64 offset; __u32 count; int stable; __u8 * data; int len;};struct nfsd3_createargs { struct svc_fh fh; char * name; int len; int createmode; struct iattr attrs; __u32 * verf;};struct nfsd3_mknodargs { struct svc_fh fh; char * name; int len; __u32 ftype; __u32 major, minor; struct iattr attrs;};struct nfsd3_renameargs { struct svc_fh ffh; char * fname; int flen; struct svc_fh tfh; char * tname; int tlen;};struct nfsd3_linkargs { struct svc_fh ffh; struct svc_fh tfh; char * tname; int tlen;};struct nfsd3_symlinkargs { struct svc_fh ffh; char * fname; int flen; char * tname; int tlen; struct iattr attrs;};struct nfsd3_readdirargs { struct svc_fh fh; __u32 cookie; __u32 dircount; __u32 count; __u32 * verf;};struct nfsd3_commitargs { struct svc_fh fh; __u64 offset; __u64 count;};struct nfsd3_attrstat { __u32 status; struct svc_fh fh;};struct nfsd3_lookupres { __u32 status; struct svc_fh dirfh; struct svc_fh fh;};struct nfsd3_accessres { __u32 status; struct svc_fh fh; __u32 access;};struct nfsd3_readlinkres { __u32 status; struct svc_fh fh; __u32 len;};struct nfsd3_readres { __u32 status; struct svc_fh fh; unsigned long count; int eof;};struct nfsd3_writeres { __u32 status; struct svc_fh fh; unsigned long count; int committed;};struct nfsd3_createres { __u32 status; struct svc_fh dirfh; struct svc_fh fh;};struct nfsd3_renameres { __u32 status; struct svc_fh ffh; struct svc_fh tfh;};struct nfsd3_linkres { __u32 status; struct svc_fh tfh; struct svc_fh fh;};struct nfsd3_readdirres { __u32 status; struct svc_fh fh; __u32 * list_end;};struct nfsd3_statfsres { __u32 status; struct statfs stats; __u32 invarsec;};struct nfsd3_fsinfores { __u32 status; __u32 f_rtmax; __u32 f_rtpref; __u32 f_rtmult; __u32 f_wtmax; __u32 f_wtpref; __u32 f_wtmult; __u32 f_dtpref; __u64 f_maxfilesize; __u32 f_properties;};struct nfsd3_pathconfres { __u32 status; __u32 p_link_max; __u32 p_name_max; __u32 p_case_insensitive; __u32 p_case_preserving;};struct nfsd3_commitres { __u32 status; struct svc_fh fh;};/* dummy type for release */struct nfsd3_fhandle2 { __u32 dummy; struct svc_fh fh1; struct svc_fh fh2;};/* * Storage requirements for XDR arguments and results. */union nfsd3_xdrstore { struct nfsd3_sattrargs sattrargs; struct nfsd3_diropargs diropargs; struct nfsd3_readargs readargs; struct nfsd3_writeargs writeargs; struct nfsd3_createargs createargs; struct nfsd3_renameargs renameargs; struct nfsd3_linkargs linkargs; struct nfsd3_symlinkargs symlinkargs; struct nfsd3_readdirargs readdirargs; struct nfsd3_lookupres lookupres; struct nfsd3_accessres accessres; struct nfsd3_readlinkres readlinkres; struct nfsd3_readres readres; struct nfsd3_writeres writeres; struct nfsd3_createres createres; struct nfsd3_renameres renameres; struct nfsd3_linkres linkres; struct nfsd3_readdirres readdirres; struct nfsd3_statfsres statfsres; struct nfsd3_fsinfores fsinfores; struct nfsd3_pathconfres pathconfres; struct nfsd3_commitres commitres;};#define NFS3_SVC_XDRSIZE sizeof(union nfsd3_xdrstore)void nfsxdr_init(void);int nfs3svc_decode_fhandle(struct svc_rqst *, u32 *, struct svc_fh *);int nfs3svc_decode_sattr3args(struct svc_rqst *, u32 *, struct nfsd3_sattrargs *);int nfs3svc_decode_dirop3args(struct svc_rqst *, u32 *, struct nfsd3_diropargs *);int nfs3svc_decode_read3args(struct svc_rqst *, u32 *, struct nfsd3_readargs *);int nfs3svc_decode_write3args(struct svc_rqst *, u32 *, struct nfsd3_writeargs *);int nfs3svc_decode_create3args(struct svc_rqst *, u32 *, struct nfsd3_createargs *);int nfs3svc_decode_rename3args(struct svc_rqst *, u32 *, struct nfsd3_renameargs *);int nfs3svc_decode_link3args(struct svc_rqst *, u32 *, struct nfsd3_linkargs *);int nfs3svc_decode_symlink3args(struct svc_rqst *, u32 *, struct nfsd3_symlinkargs *);int nfs3svc_decode_readdir3args(struct svc_rqst *, u32 *, struct nfsd3_readdirargs *);int nfs3svc_encode_readlinkres(struct svc_rqst *, u32 *, struct nfsd3_readlinkres *);int nfs3svc_encode_readres(struct svc_rqst *, u32 *, struct nfsd3_readres *);int nfs3svc_encode_statfsres(struct svc_rqst *, u32 *, struct nfsd3_statfsres *);int nfs3svc_encode_readdirres(struct svc_rqst *, u32 *, struct nfsd3_readdirres *);int nfs3svc_release_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *);int nfs3svc_release_fhandle2(struct svc_rqst *, u32 *, struct nfsd3_fhandle2 *);int nfs3svc_encode_entry(struct readdir_cd *, const char *name, int namlen, unsigned long offset, ino_t ino);#endif /* LINUX_NFSD_XDR3_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?