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 + -
显示快捷键?