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

📄 nfs_prot.h

📁 早期freebsd实现
💻 H
字号:
/* * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990, 1993 *	The Regents of the University of California.  All rights reserved. * * This code is derived from software contributed to Berkeley by * Jan-Simon Pendry at Imperial College, London. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)nfs_prot.h	8.1 (Berkeley) 6/6/93 * * $Id: nfs_prot.h,v 5.2.2.1 1992/02/09 15:09:29 jsp beta $ * */#define	xdr_nfsstat xdr_enum#define	xdr_ftype xdr_enum#define NFS_PORT 2049#define NFS_MAXDATA 8192#define NFS_MAXPATHLEN 1024#define NFS_MAXNAMLEN 255#define NFS_FHSIZE 32#define NFS_COOKIESIZE 4#define NFS_FIFO_DEV -1#define NFSMODE_FMT 0170000#define NFSMODE_DIR 0040000#define NFSMODE_CHR 0020000#define NFSMODE_BLK 0060000#define NFSMODE_REG 0100000#define NFSMODE_LNK 0120000#define NFSMODE_SOCK 0140000#define NFSMODE_FIFO 0010000enum nfsstat {	NFS_OK = 0,	NFSERR_PERM = 1,	NFSERR_NOENT = 2,	NFSERR_IO = 5,	NFSERR_NXIO = 6,	NFSERR_ACCES = 13,	NFSERR_EXIST = 17,	NFSERR_NODEV = 19,	NFSERR_NOTDIR = 20,	NFSERR_ISDIR = 21,	NFSERR_FBIG = 27,	NFSERR_NOSPC = 28,	NFSERR_ROFS = 30,	NFSERR_NAMETOOLONG = 63,	NFSERR_NOTEMPTY = 66,	NFSERR_DQUOT = 69,	NFSERR_STALE = 70,	NFSERR_WFLUSH = 99};typedef enum nfsstat nfsstat;bool_t xdr_nfsstat();enum ftype {	NFNON = 0,	NFREG = 1,	NFDIR = 2,	NFBLK = 3,	NFCHR = 4,	NFLNK = 5,	NFSOCK = 6,	NFBAD = 7,	NFFIFO = 8};typedef enum ftype ftype;/* static bool_t xdr_ftype(); */struct nfs_fh {	char data[NFS_FHSIZE];};typedef struct nfs_fh nfs_fh;bool_t xdr_nfs_fh();struct nfstime {	u_int seconds;	u_int useconds;};typedef struct nfstime nfstime;/* static bool_t xdr_nfstime(); */struct fattr {	ftype type;	u_int mode;	u_int nlink;	u_int uid;	u_int gid;	u_int size;	u_int blocksize;	u_int rdev;	u_int blocks;	u_int fsid;	u_int fileid;	nfstime atime;	nfstime mtime;	nfstime ctime;};typedef struct fattr fattr;/* static bool_t xdr_fattr(); */struct sattr {	u_int mode;	u_int uid;	u_int gid;	u_int size;	nfstime atime;	nfstime mtime;};typedef struct sattr sattr;/* static bool_t xdr_sattr(); */typedef char *filename;/* static bool_t xdr_filename(); */typedef char *nfspath;bool_t xdr_nfspath();struct attrstat {	nfsstat status;	union {		fattr attributes;	} attrstat_u;};typedef struct attrstat attrstat;bool_t xdr_attrstat();struct sattrargs {	nfs_fh file;	sattr attributes;};typedef struct sattrargs sattrargs;bool_t xdr_sattrargs();struct diropargs {	nfs_fh dir;	filename name;};typedef struct diropargs diropargs;bool_t xdr_diropargs();struct diropokres {	nfs_fh file;	fattr attributes;};typedef struct diropokres diropokres;bool_t xdr_diropokres();struct diropres {	nfsstat status;	union {		diropokres diropres;	} diropres_u;};typedef struct diropres diropres;bool_t xdr_diropres();struct readlinkres {	nfsstat status;	union {		nfspath data;	} readlinkres_u;};typedef struct readlinkres readlinkres;bool_t xdr_readlinkres();struct readargs {	nfs_fh file;	u_int offset;	u_int count;	u_int totalcount;};typedef struct readargs readargs;bool_t xdr_readargs();struct readokres {	fattr attributes;	struct {		u_int data_len;		char *data_val;	} data;};typedef struct readokres readokres;bool_t xdr_readokres();struct readres {	nfsstat status;	union {		readokres reply;	} readres_u;};typedef struct readres readres;bool_t xdr_readres();struct writeargs {	nfs_fh file;	u_int beginoffset;	u_int offset;	u_int totalcount;	struct {		u_int data_len;		char *data_val;	} data;};typedef struct writeargs writeargs;bool_t xdr_writeargs();struct createargs {	diropargs where;	sattr attributes;};typedef struct createargs createargs;bool_t xdr_createargs();struct renameargs {	diropargs from;	diropargs to;};typedef struct renameargs renameargs;bool_t xdr_renameargs();struct linkargs {	nfs_fh from;	diropargs to;};typedef struct linkargs linkargs;bool_t xdr_linkargs();struct symlinkargs {	diropargs from;	nfspath to;	sattr attributes;};typedef struct symlinkargs symlinkargs;bool_t xdr_symlinkargs();typedef char nfscookie[NFS_COOKIESIZE];/* static bool_t xdr_nfscookie(); */struct readdirargs {	nfs_fh dir;	nfscookie cookie;	u_int count;};typedef struct readdirargs readdirargs;bool_t xdr_readdirargs();struct entry {	u_int fileid;	filename name;	nfscookie cookie;	struct entry *nextentry;};typedef struct entry entry;/* static bool_t xdr_entry(); */struct dirlist {	entry *entries;	bool_t eof;};typedef struct dirlist dirlist;/* static bool_t xdr_dirlist(); */struct readdirres {	nfsstat status;	union {		dirlist reply;	} readdirres_u;};typedef struct readdirres readdirres;bool_t xdr_readdirres();struct statfsokres {	u_int tsize;	u_int bsize;	u_int blocks;	u_int bfree;	u_int bavail;};typedef struct statfsokres statfsokres;bool_t xdr_statfsokres();struct statfsres {	nfsstat status;	union {		statfsokres reply;	} statfsres_u;};typedef struct statfsres statfsres;bool_t xdr_statfsres();#define NFS_PROGRAM ((u_long)100003)#define NFS_VERSION ((u_long)2)#define NFSPROC_NULL ((u_long)0)extern voidp nfsproc_null_2();#define NFSPROC_GETATTR ((u_long)1)extern attrstat *nfsproc_getattr_2();#define NFSPROC_SETATTR ((u_long)2)extern attrstat *nfsproc_setattr_2();#define NFSPROC_ROOT ((u_long)3)extern voidp nfsproc_root_2();#define NFSPROC_LOOKUP ((u_long)4)extern diropres *nfsproc_lookup_2();#define NFSPROC_READLINK ((u_long)5)extern readlinkres *nfsproc_readlink_2();#define NFSPROC_READ ((u_long)6)extern readres *nfsproc_read_2();#define NFSPROC_WRITECACHE ((u_long)7)extern voidp nfsproc_writecache_2();#define NFSPROC_WRITE ((u_long)8)extern attrstat *nfsproc_write_2();#define NFSPROC_CREATE ((u_long)9)extern diropres *nfsproc_create_2();#define NFSPROC_REMOVE ((u_long)10)extern nfsstat *nfsproc_remove_2();#define NFSPROC_RENAME ((u_long)11)extern nfsstat *nfsproc_rename_2();#define NFSPROC_LINK ((u_long)12)extern nfsstat *nfsproc_link_2();#define NFSPROC_SYMLINK ((u_long)13)extern nfsstat *nfsproc_symlink_2();#define NFSPROC_MKDIR ((u_long)14)extern diropres *nfsproc_mkdir_2();#define NFSPROC_RMDIR ((u_long)15)extern nfsstat *nfsproc_rmdir_2();#define NFSPROC_READDIR ((u_long)16)extern readdirres *nfsproc_readdir_2();#define NFSPROC_STATFS ((u_long)17)extern statfsres *nfsproc_statfs_2();

⌨️ 快捷键说明

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