亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nfsd.h

?? 優龍2410linux2.6.8內核源代碼
?? H
字號:
/* * linux/include/linux/nfsd/nfsd.h * * Hodge-podge collection of knfsd-related stuff. * I will sort this out later. * * Copyright (C) 1995-1997 Olaf Kirch <okir@monad.swb.de> */#ifndef LINUX_NFSD_NFSD_H#define LINUX_NFSD_NFSD_H#include <linux/config.h>#include <linux/types.h>#include <linux/unistd.h>#include <linux/dirent.h>#include <linux/fs.h>#include <linux/mount.h>#include <linux/nfsd/debug.h>#include <linux/nfsd/nfsfh.h>#include <linux/nfsd/export.h>#include <linux/nfsd/auth.h>#include <linux/nfsd/stats.h>#include <linux/nfsd/interface.h>/* * nfsd version */#define NFSD_VERSION		"0.5"#define NFSD_SUPPORTED_MINOR_VERSION	0#ifdef __KERNEL__/* * Special flags for nfsd_permission. These must be different from MAY_READ, * MAY_WRITE, and MAY_EXEC. */#define MAY_NOP			0#define MAY_SATTR		8#define MAY_TRUNC		16#define MAY_LOCK		32#define MAY_OWNER_OVERRIDE	64#define	MAY_LOCAL_ACCESS	128 /* IRIX doing local access check on device special file*/#if (MAY_SATTR | MAY_TRUNC | MAY_LOCK | MAY_OWNER_OVERRIDE | MAY_LOCAL_ACCESS) & (MAY_READ | MAY_WRITE | MAY_EXEC)# error "please use a different value for MAY_SATTR or MAY_TRUNC or MAY_LOCK or MAY_LOCAL_ACCESS or MAY_OWNER_OVERRIDE."#endif#define MAY_CREATE		(MAY_EXEC|MAY_WRITE)#define MAY_REMOVE		(MAY_EXEC|MAY_WRITE|MAY_TRUNC)/* * Callback function for readdir */struct readdir_cd {	int			err;	/* 0, nfserr, or nfserr_eof */};typedef int		(*encode_dent_fn)(struct readdir_cd *, const char *,						int, loff_t, ino_t, unsigned int);typedef int (*nfsd_dirop_t)(struct inode *, struct dentry *, int, int);extern struct svc_program	nfsd_program;extern struct svc_version	nfsd_version2, nfsd_version3,				nfsd_version4;/* * Function prototypes. */int		nfsd_svc(unsigned short port, int nrservs);int		nfsd_dispatch(struct svc_rqst *rqstp, u32 *statp);/* nfsd/vfs.c */int		fh_lock_parent(struct svc_fh *, struct dentry *);int		nfsd_racache_init(int);void		nfsd_racache_shutdown(void);int		nfsd_cross_mnt(struct svc_rqst *rqstp, struct dentry **dpp,		                struct svc_export **expp);int		nfsd_lookup(struct svc_rqst *, struct svc_fh *,				const char *, int, struct svc_fh *);int		nfsd_setattr(struct svc_rqst *, struct svc_fh *,				struct iattr *, int, time_t);int		nfsd_create(struct svc_rqst *, struct svc_fh *,				char *name, int len, struct iattr *attrs,				int type, dev_t rdev, struct svc_fh *res);#ifdef CONFIG_NFSD_V3int		nfsd_access(struct svc_rqst *, struct svc_fh *, u32 *, u32 *);int		nfsd_create_v3(struct svc_rqst *, struct svc_fh *,				char *name, int len, struct iattr *attrs,				struct svc_fh *res, int createmode,				u32 *verifier, int *truncp);int		nfsd_commit(struct svc_rqst *, struct svc_fh *,				loff_t, unsigned long);#endif /* CONFIG_NFSD_V3 */int		nfsd_open(struct svc_rqst *, struct svc_fh *, int,				int, struct file *);void		nfsd_close(struct file *);int		nfsd_read(struct svc_rqst *, struct svc_fh *,				loff_t, struct kvec *,int, unsigned long *);int		nfsd_write(struct svc_rqst *, struct svc_fh *,				loff_t, struct kvec *,int, unsigned long, int *);int		nfsd_readlink(struct svc_rqst *, struct svc_fh *,				char *, int *);int		nfsd_symlink(struct svc_rqst *, struct svc_fh *,				char *name, int len, char *path, int plen,				struct svc_fh *res, struct iattr *);int		nfsd_link(struct svc_rqst *, struct svc_fh *,				char *, int, struct svc_fh *);int		nfsd_rename(struct svc_rqst *,				struct svc_fh *, char *, int,				struct svc_fh *, char *, int);int		nfsd_remove(struct svc_rqst *,				struct svc_fh *, char *, int);int		nfsd_unlink(struct svc_rqst *, struct svc_fh *, int type,				char *name, int len);int		nfsd_truncate(struct svc_rqst *, struct svc_fh *,				unsigned long size);int		nfsd_readdir(struct svc_rqst *, struct svc_fh *,			     loff_t *, struct readdir_cd *, encode_dent_fn);int		nfsd_statfs(struct svc_rqst *, struct svc_fh *,				struct kstatfs *);int		nfsd_notify_change(struct inode *, struct iattr *);int		nfsd_permission(struct svc_export *, struct dentry *, int);/*  * NFSv4 State */#ifdef CONFIG_NFSD_V4void nfs4_state_init(void);void nfs4_state_shutdown(void);time_t nfs4_lease_time(void);void nfs4_reset_lease(time_t leasetime);#elsevoid static inline nfs4_state_init(void){}void static inline nfs4_state_shutdown(void){}time_t static inline nfs4_lease_time(void){return 0;}void static inline nfs4_reset_lease(time_t leasetime){}#endif/* * lockd binding */void		nfsd_lockd_init(void);void		nfsd_lockd_shutdown(void);/* * These macros provide pre-xdr'ed values for faster operation. */#define	nfs_ok			__constant_htonl(NFS_OK)#define	nfserr_perm		__constant_htonl(NFSERR_PERM)#define	nfserr_noent		__constant_htonl(NFSERR_NOENT)#define	nfserr_io		__constant_htonl(NFSERR_IO)#define	nfserr_nxio		__constant_htonl(NFSERR_NXIO)#define	nfserr_eagain		__constant_htonl(NFSERR_EAGAIN)#define	nfserr_acces		__constant_htonl(NFSERR_ACCES)#define	nfserr_exist		__constant_htonl(NFSERR_EXIST)#define	nfserr_xdev		__constant_htonl(NFSERR_XDEV)#define	nfserr_nodev		__constant_htonl(NFSERR_NODEV)#define	nfserr_notdir		__constant_htonl(NFSERR_NOTDIR)#define	nfserr_isdir		__constant_htonl(NFSERR_ISDIR)#define	nfserr_inval		__constant_htonl(NFSERR_INVAL)#define	nfserr_fbig		__constant_htonl(NFSERR_FBIG)#define	nfserr_nospc		__constant_htonl(NFSERR_NOSPC)#define	nfserr_rofs		__constant_htonl(NFSERR_ROFS)#define	nfserr_mlink		__constant_htonl(NFSERR_MLINK)#define	nfserr_opnotsupp	__constant_htonl(NFSERR_OPNOTSUPP)#define	nfserr_nametoolong	__constant_htonl(NFSERR_NAMETOOLONG)#define	nfserr_notempty		__constant_htonl(NFSERR_NOTEMPTY)#define	nfserr_dquot		__constant_htonl(NFSERR_DQUOT)#define	nfserr_stale		__constant_htonl(NFSERR_STALE)#define	nfserr_remote		__constant_htonl(NFSERR_REMOTE)#define	nfserr_wflush		__constant_htonl(NFSERR_WFLUSH)#define	nfserr_badhandle	__constant_htonl(NFSERR_BADHANDLE)#define	nfserr_notsync		__constant_htonl(NFSERR_NOT_SYNC)#define	nfserr_badcookie	__constant_htonl(NFSERR_BAD_COOKIE)#define	nfserr_notsupp		__constant_htonl(NFSERR_NOTSUPP)#define	nfserr_toosmall		__constant_htonl(NFSERR_TOOSMALL)#define	nfserr_serverfault	__constant_htonl(NFSERR_SERVERFAULT)#define	nfserr_badtype		__constant_htonl(NFSERR_BADTYPE)#define	nfserr_jukebox		__constant_htonl(NFSERR_JUKEBOX)#define	nfserr_denied		__constant_htonl(NFSERR_DENIED)#define	nfserr_deadlock		__constant_htonl(NFSERR_DEADLOCK)#define nfserr_expired          __constant_htonl(NFSERR_EXPIRED)#define	nfserr_bad_cookie	__constant_htonl(NFSERR_BAD_COOKIE)#define	nfserr_same		__constant_htonl(NFSERR_SAME)#define	nfserr_clid_inuse	__constant_htonl(NFSERR_CLID_INUSE)#define	nfserr_stale_clientid	__constant_htonl(NFSERR_STALE_CLIENTID)#define	nfserr_resource		__constant_htonl(NFSERR_RESOURCE)#define	nfserr_nofilehandle	__constant_htonl(NFSERR_NOFILEHANDLE)#define	nfserr_minor_vers_mismatch	__constant_htonl(NFSERR_MINOR_VERS_MISMATCH)#define nfserr_share_denied	__constant_htonl(NFSERR_SHARE_DENIED)#define nfserr_stale_stateid	__constant_htonl(NFSERR_STALE_STATEID)#define nfserr_old_stateid	__constant_htonl(NFSERR_OLD_STATEID)#define nfserr_bad_stateid	__constant_htonl(NFSERR_BAD_STATEID)#define nfserr_bad_seqid	__constant_htonl(NFSERR_BAD_SEQID)#define	nfserr_symlink		__constant_htonl(NFSERR_SYMLINK)#define	nfserr_not_same		__constant_htonl(NFSERR_NOT_SAME)#define	nfserr_restorefh	__constant_htonl(NFSERR_RESTOREFH)#define	nfserr_attrnotsupp	__constant_htonl(NFSERR_ATTRNOTSUPP)#define	nfserr_bad_xdr		__constant_htonl(NFSERR_BAD_XDR)#define	nfserr_openmode		__constant_htonl(NFSERR_OPENMODE)#define	nfserr_locks_held	__constant_htonl(NFSERR_LOCKS_HELD)#define	nfserr_op_illegal	__constant_htonl(NFSERR_OP_ILLEGAL)#define	nfserr_grace		__constant_htonl(NFSERR_GRACE)#define	nfserr_no_grace		__constant_htonl(NFSERR_NO_GRACE)#define	nfserr_reclaim_bad	__constant_htonl(NFSERR_RECLAIM_BAD)#define	nfserr_badname		__constant_htonl(NFSERR_BADNAME)/* error codes for internal use *//* if a request fails due to kmalloc failure, it gets dropped. *  Client should resend eventually */#define	nfserr_dropit		__constant_htonl(30000)/* end-of-file indicator in readdir */#define	nfserr_eof		__constant_htonl(30001)/* Check for dir entries '.' and '..' */#define isdotent(n, l)	(l < 3 && n[0] == '.' && (l == 1 || n[1] == '.'))/* * Time of server startup */extern struct timeval	nfssvc_boot;static inline int is_fsid(struct svc_fh *fh, struct knfsd_fh *reffh){	if (fh->fh_export->ex_flags & NFSEXP_FSID) {		struct vfsmount *mnt = fh->fh_export->ex_mnt;		if (!old_valid_dev(mnt->mnt_sb->s_dev) ||		    (reffh->fh_version == 1 && reffh->fh_fsid_type == 1))			return 1;	}	return 0;}#ifdef CONFIG_NFSD_V4/* before processing a COMPOUND operation, we have to check that there * is enough space in the buffer for XDR encode to succeed.  otherwise, * we might process an operation with side effects, and be unable to * tell the client that the operation succeeded. * * COMPOUND_SLACK_SPACE - this is the minimum amount of buffer space * needed to encode an "ordinary" _successful_ operation.  (GETATTR, * READ, READDIR, and READLINK have their own buffer checks.)  if we * fall below this level, we fail the next operation with NFS4ERR_RESOURCE. * * COMPOUND_ERR_SLACK_SPACE - this is the minimum amount of buffer space * needed to encode an operation which has failed with NFS4ERR_RESOURCE. * care is taken to ensure that we never fall below this level for any * reason. */#define	COMPOUND_SLACK_SPACE		140    /* OP_GETFH */#define COMPOUND_ERR_SLACK_SPACE	12     /* OP_SETATTR */#define NFSD_LEASE_TIME                 (nfs4_lease_time())#define NFSD_LAUNDROMAT_MINTIMEOUT      10   /* seconds *//* * The following attributes are currently not supported by the NFSv4 server: *    ACL           (will be supported in a forthcoming patch) *    ARCHIVE       (deprecated anyway) *    FS_LOCATIONS  (will be supported eventually) *    HIDDEN        (unlikely to be supported any time soon) *    MIMETYPE      (unlikely to be supported any time soon) *    QUOTA_*       (will be supported in a forthcoming patch) *    SYSTEM        (unlikely to be supported any time soon) *    TIME_BACKUP   (unlikely to be supported any time soon) *    TIME_CREATE   (unlikely to be supported any time soon) */#define NFSD_SUPPORTED_ATTRS_WORD0                                                          \(FATTR4_WORD0_SUPPORTED_ATTRS   | FATTR4_WORD0_TYPE         | FATTR4_WORD0_FH_EXPIRE_TYPE   \ | FATTR4_WORD0_CHANGE          | FATTR4_WORD0_SIZE         | FATTR4_WORD0_LINK_SUPPORT     \ | FATTR4_WORD0_SYMLINK_SUPPORT | FATTR4_WORD0_NAMED_ATTR   | FATTR4_WORD0_FSID             \ | FATTR4_WORD0_UNIQUE_HANDLES  | FATTR4_WORD0_LEASE_TIME   | FATTR4_WORD0_RDATTR_ERROR     \ | FATTR4_WORD0_ACLSUPPORT      | FATTR4_WORD0_CANSETTIME   | FATTR4_WORD0_CASE_INSENSITIVE \ | FATTR4_WORD0_CASE_PRESERVING | FATTR4_WORD0_CHOWN_RESTRICTED                             \ | FATTR4_WORD0_FILEHANDLE      | FATTR4_WORD0_FILEID       | FATTR4_WORD0_FILES_AVAIL      \ | FATTR4_WORD0_FILES_FREE      | FATTR4_WORD0_FILES_TOTAL  | FATTR4_WORD0_HOMOGENEOUS      \ | FATTR4_WORD0_MAXFILESIZE     | FATTR4_WORD0_MAXLINK      | FATTR4_WORD0_MAXNAME          \ | FATTR4_WORD0_MAXREAD         | FATTR4_WORD0_MAXWRITE)#define NFSD_SUPPORTED_ATTRS_WORD1                                                          \(FATTR4_WORD1_MODE              | FATTR4_WORD1_NO_TRUNC     | FATTR4_WORD1_NUMLINKS         \ | FATTR4_WORD1_OWNER	        | FATTR4_WORD1_OWNER_GROUP  | FATTR4_WORD1_RAWDEV           \ | FATTR4_WORD1_SPACE_AVAIL     | FATTR4_WORD1_SPACE_FREE   | FATTR4_WORD1_SPACE_TOTAL      \ | FATTR4_WORD1_SPACE_USED      | FATTR4_WORD1_TIME_ACCESS  | FATTR4_WORD1_TIME_ACCESS_SET  \ | FATTR4_WORD1_TIME_DELTA   | FATTR4_WORD1_TIME_METADATA    \ | FATTR4_WORD1_TIME_MODIFY     | FATTR4_WORD1_TIME_MODIFY_SET | FATTR4_WORD1_MOUNTED_ON_FILEID)/* These will return ERR_INVAL if specified in GETATTR or READDIR. */#define NFSD_WRITEONLY_ATTRS_WORD1							    \(FATTR4_WORD1_TIME_ACCESS_SET   | FATTR4_WORD1_TIME_MODIFY_SET)/* These are the only attrs allowed in CREATE/OPEN/SETATTR. */#define NFSD_WRITEABLE_ATTRS_WORD0                            FATTR4_WORD0_SIZE#define NFSD_WRITEABLE_ATTRS_WORD1                                                          \(FATTR4_WORD1_MODE              | FATTR4_WORD1_OWNER         | FATTR4_WORD1_OWNER_GROUP     \ | FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_METADATA | FATTR4_WORD1_TIME_MODIFY_SET)#endif /* CONFIG_NFSD_V4 */#endif /* __KERNEL__ */#endif /* LINUX_NFSD_NFSD_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃久久久久久| 国产日韩欧美综合一区| 亚洲激情综合网| 91精品福利在线| 亚洲自拍偷拍av| 欧美日韩精品久久久| 五月激情综合色| 日韩欧美一级在线播放| 国产一区视频在线看| 国产精品系列在线| 91国产免费观看| 日本伊人午夜精品| 国产欧美日韩不卡| 日本韩国精品在线| 美女视频黄免费的久久| 国产性天天综合网| 色婷婷av一区二区三区软件| 香港成人在线视频| 亚洲精品在线电影| av不卡免费在线观看| 亚洲国产精品天堂| 久久综合久久综合亚洲| 91在线观看地址| 蜜臀av亚洲一区中文字幕| 国产亚洲制服色| 欧美日韩在线播放三区四区| 久久国产精品72免费观看| 国产精品国产三级国产有无不卡| 欧洲一区二区三区免费视频| 九九精品视频在线看| 亚洲婷婷在线视频| 精品国产第一区二区三区观看体验| 不卡一二三区首页| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕在线一区免费| 欧美一区二区精品在线| 成人av电影免费在线播放| 美女视频黄a大片欧美| 亚洲美女精品一区| 久久精品无码一区二区三区| 欧美午夜精品久久久| 国产精品中文字幕日韩精品| 亚洲成人动漫av| 中文字幕欧美国产| 日韩网站在线看片你懂的| 96av麻豆蜜桃一区二区| 久久成人精品无人区| 亚洲一区二区三区影院| 国产欧美日韩亚州综合| 欧美videos大乳护士334| 在线免费观看日韩欧美| 国产成人精品一区二| 久久99精品久久久久久动态图 | 国产精品 欧美精品| 午夜精品福利一区二区三区蜜桃| 中文字幕中文乱码欧美一区二区| 久久综合久久综合久久综合| 欧美一区二区在线免费观看| 欧美影院精品一区| 91色九色蝌蚪| 99久久精品免费精品国产| 国产伦精品一区二区三区在线观看| 亚洲国产精品久久久男人的天堂| 国产精品国产三级国产aⅴ原创| 久久精品免费在线观看| 精品播放一区二区| 91精品婷婷国产综合久久性色| 在线观看国产日韩| 色成人在线视频| 色屁屁一区二区| 色综合天天性综合| 成人一级黄色片| 成人永久免费视频| 国产成人免费网站| 国产传媒欧美日韩成人| 国产精品一区在线| 国产精品一二三四五| 国产一区二区三区黄视频| 另类欧美日韩国产在线| 久久精品国产澳门| 麻豆精品久久久| 精品无人码麻豆乱码1区2区| 激情小说亚洲一区| 风间由美一区二区三区在线观看| 国产成人精品亚洲日本在线桃色| 国产成人精品亚洲777人妖| 成人永久免费视频| 97se狠狠狠综合亚洲狠狠| 在线观看三级视频欧美| 欧美日韩一区二区在线观看| 欧美日韩国产天堂| 欧美成人a视频| 中文字幕av资源一区| 亚洲欧美在线视频| 亚洲亚洲精品在线观看| 日一区二区三区| 国产一区二区三区在线看麻豆| 国产成人自拍网| 91一区二区三区在线播放| 欧美日韩精品免费观看视频| 日韩免费观看高清完整版| 久久久久免费观看| 亚洲欧美日韩国产一区二区三区 | 天堂成人国产精品一区| 另类小说一区二区三区| 丁香一区二区三区| 在线免费不卡电影| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品私房写真福利视频| 一区二区三区精品在线| 久久国产乱子精品免费女| 国产成人av影院| 欧美日韩综合在线免费观看| 日韩欧美中文字幕精品| 国产精品久久夜| 日本亚洲最大的色成网站www| 国模无码大尺度一区二区三区| www.日韩精品| 欧美一级片在线| 中文字幕在线免费不卡| 日本中文字幕一区| 成人免费福利片| 日韩欧美中文字幕一区| 亚洲另类在线一区| 国产一区二区三区在线看麻豆| 色综合中文字幕国产 | 久久久亚洲综合| 不卡影院免费观看| 99久久久国产精品免费蜜臀| 色综合天天狠狠| 久久人人97超碰com| 亚洲国产综合在线| 岛国av在线一区| 欧美v亚洲v综合ⅴ国产v| 国产精品乡下勾搭老头1| 欧美色视频在线观看| 久久久精品影视| 日韩**一区毛片| 欧美日韩综合在线免费观看| 国产精品剧情在线亚洲| 国产精品一区二区三区99| 欧美日韩国产一二三| 亚洲免费成人av| 成人毛片视频在线观看| 亚洲精品一区在线观看| 视频一区二区中文字幕| 在线观看国产一区二区| 日韩一区在线看| 国产电影一区二区三区| 欧美r级在线观看| 日韩av不卡在线观看| 欧美日韩一级黄| 亚洲国产一二三| 在线视频国内自拍亚洲视频| 亚洲视频在线一区观看| 成人一级片在线观看| 国产日产欧美精品一区二区三区| 美腿丝袜亚洲一区| 欧美一卡二卡在线| 婷婷亚洲久悠悠色悠在线播放| 91激情在线视频| 亚洲精品乱码久久久久久久久| av在线一区二区三区| 国产精品全国免费观看高清| 成人亚洲精品久久久久软件| 久久久精品tv| 国产成人在线视频网站| 久久久久久亚洲综合| 国产精品一区二区你懂的| 欧美精品一区视频| 国产一区二区视频在线播放| 精品国产青草久久久久福利| 精品夜夜嗨av一区二区三区| 亚洲精品一区二区三区福利| 国产一区二区福利| 日本一区二区高清| 91视频.com| 亚洲高清一区二区三区| 69堂成人精品免费视频| 奇米影视一区二区三区小说| 欧美一级艳片视频免费观看| 免费不卡在线观看| 久久综合国产精品| 成人三级伦理片| 亚洲同性同志一二三专区| 欧美在线观看18| 麻豆精品视频在线观看免费| 久久精品亚洲精品国产欧美| 91小视频免费看| 婷婷开心激情综合| 亚洲成人久久影院| 精品久久久久久久久久久久久久久| 国产一区二区三区在线观看免费| 中文字幕亚洲一区二区av在线| 色88888久久久久久影院野外| 亚洲成人在线网站| 国产亚洲欧美日韩俺去了| 色偷偷久久一区二区三区| 日本女人一区二区三区| 国产午夜精品理论片a级大结局|