| #ifndef _LINUX_NFS_H |
| #define _LINUX_NFS_H |
| |
| #define NFS_PORT 2049 |
| #define NFS_MAXDATA 8192 |
| #define NFS_MAXPATHLEN 1024 |
| #define NFS_MAXNAMLEN 255 |
| #define NFS_MAXGROUPS 16 |
| #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 0010000 |
| |
| #ifdef __KERNEL__ /* user programs should get these from the rpc header files */ |
| |
| #define RPC_VERSION 2 |
| |
| enum rpc_auth_flavor { |
| RPC_AUTH_NULL = 0, |
| RPC_AUTH_UNIX = 1, |
| RPC_AUTH_SHORT = 2, |
| }; |
| |
| enum rpc_msg_type { |
| RPC_CALL = 0, |
| RPC_REPLY = 1, |
| }; |
| |
| enum rpc_reply_stat { |
| RPC_MSG_ACCEPTED = 0, |
| RPC_MSG_DENIED = 1, |
| }; |
| |
| enum rpc_accept_stat { |
| RPC_SUCCESS = 0, |
| RPC_PROG_UNAVAIL = 1, |
| RPC_PROG_MISMATCH = 2, |
| RPC_PROC_UNAVAIL = 3, |
| RPC_GARBAGE_ARGS = 4, |
| }; |
| |
| enum rpc_reject_stat { |
| RPC_MISMATCH = 0, |
| RPC_AUTH_ERROR = 1, |
| }; |
| |
| enum rpc_auth_stat { |
| RPC_AUTH_BADCRED = 1, |
| RPC_AUTH_REJECTEDCRED = 2, |
| RPC_AUTH_BADVERF = 3, |
| RPC_AUTH_REJECTEDVERF = 4, |
| RPC_AUTH_TOOWEAK = 5, |
| }; |
| |
| #endif /* __KERNEL__ */ |
| |
| enum nfs_stat { |
| 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, |
| }; |
| |
| enum nfs_ftype { |
| NFNON = 0, |
| NFREG = 1, |
| NFDIR = 2, |
| NFBLK = 3, |
| NFCHR = 4, |
| NFLNK = 5, |
| NFSOCK = 6, |
| NFBAD = 7, |
| NFFIFO = 8, |
| }; |
| |
| #define NFS_PROGRAM 100003 |
| #define NFS_VERSION 2 |
| #define NFSPROC_NULL 0 |
| #define NFSPROC_GETATTR 1 |
| #define NFSPROC_SETATTR 2 |
| #define NFSPROC_ROOT 3 |
| #define NFSPROC_LOOKUP 4 |
| #define NFSPROC_READLINK 5 |
| #define NFSPROC_READ 6 |
| #define NFSPROC_WRITECACHE 7 |
| #define NFSPROC_WRITE 8 |
| #define NFSPROC_CREATE 9 |
| #define NFSPROC_REMOVE 10 |
| #define NFSPROC_RENAME 11 |
| #define NFSPROC_LINK 12 |
| #define NFSPROC_SYMLINK 13 |
| #define NFSPROC_MKDIR 14 |
| #define NFSPROC_RMDIR 15 |
| #define NFSPROC_READDIR 16 |
| #define NFSPROC_STATFS 17 |
| |
| struct nfs_fh { |
| char data[NFS_FHSIZE]; |
| }; |
| |
| struct nfs_time { |
| u_int seconds; |
| u_int useconds; |
| }; |
| |
| struct nfs_fattr { |
| enum nfs_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; |
| struct nfs_time atime; |
| struct nfs_time mtime; |
| struct nfs_time ctime; |
| }; |
| |
| struct nfs_sattr { |
| u_int mode; |
| u_int uid; |
| u_int gid; |
| u_int size; |
| struct nfs_time atime; |
| struct nfs_time mtime; |
| }; |
| |
| struct nfs_entry { |
| u_int fileid; |
| char *name; |
| int cookie; |
| int eof; |
| }; |
| |
| struct nfs_fsinfo { |
| u_int tsize; |
| u_int bsize; |
| u_int blocks; |
| u_int bfree; |
| u_int bavail; |
| }; |
| |
| #endif |