nfs_prot.h

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C头文件 代码 · 共 389 行

H
389
字号
/* @(#)nfs_prot.h	4.1  (ULTRIX)        7/2/90     *//************************************************************************ *									* *			Copyright (c) 1986 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* *	Portions of this software have been licensed to  *	Digital Equipment Company, Maynard, MA. *	Copyright (c) 1987 Sun Microsystems, Inc.  ALL RIGHTS RESERVED. *//* *	Modification History: * * 	14 Jun 89 -- condylis *		Added copyright header. * */#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;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;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;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;bool_t xdr_sattr();typedef char *filename;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];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;bool_t xdr_entry();struct dirlist {	entry *entries;	bool_t eof;};typedef struct dirlist dirlist;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 void *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 void *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 void *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 + =
减小字号Ctrl + -
显示快捷键?