1 /* 2 * NFS protocol definitions 3 * 4 * This file contains constants for Version 2 of the protocol. 5 */ 6 #ifndef _LINUX_NFS2_H 7 #define _LINUX_NFS2_H 8 9 #define NFS2_PORT 2049 10 #define NFS2_MAXDATA 8192 11 #define NFS2_MAXPATHLEN 1024 12 #define NFS2_MAXNAMLEN 255 13 #define NFS2_MAXGROUPS 16 14 #define NFS2_FHSIZE 32 15 #define NFS2_COOKIESIZE 4 16 #define NFS2_FIFO_DEV (-1) 17 #define NFS2MODE_FMT 0170000 18 #define NFS2MODE_DIR 0040000 19 #define NFS2MODE_CHR 0020000 20 #define NFS2MODE_BLK 0060000 21 #define NFS2MODE_REG 0100000 22 #define NFS2MODE_LNK 0120000 23 #define NFS2MODE_SOCK 0140000 24 #define NFS2MODE_FIFO 0010000 25 26 27 /* NFSv2 file types - beware, these are not the same in NFSv3 */ 28 enum nfs2_ftype { 29 NF2NON = 0, 30 NF2REG = 1, 31 NF2DIR = 2, 32 NF2BLK = 3, 33 NF2CHR = 4, 34 NF2LNK = 5, 35 NF2SOCK = 6, 36 NF2BAD = 7, 37 NF2FIFO = 8 38 }; 39 40 struct nfs2_fh { 41 char data[NFS2_FHSIZE]; 42 }; 43 44 /* 45 * Procedure numbers for NFSv2 46 */ 47 #define NFS2_VERSION 2 48 #define NFSPROC_NULL 0 49 #define NFSPROC_GETATTR 1 50 #define NFSPROC_SETATTR 2 51 #define NFSPROC_ROOT 3 52 #define NFSPROC_LOOKUP 4 53 #define NFSPROC_READLINK 5 54 #define NFSPROC_READ 6 55 #define NFSPROC_WRITECACHE 7 56 #define NFSPROC_WRITE 8 57 #define NFSPROC_CREATE 9 58 #define NFSPROC_REMOVE 10 59 #define NFSPROC_RENAME 11 60 #define NFSPROC_LINK 12 61 #define NFSPROC_SYMLINK 13 62 #define NFSPROC_MKDIR 14 63 #define NFSPROC_RMDIR 15 64 #define NFSPROC_READDIR 16 65 #define NFSPROC_STATFS 17 66 67 #define NFS_MNT_PROGRAM 100005 68 #define NFS_MNT_VERSION 1 69 #define MNTPROC_NULL 0 70 #define MNTPROC_MNT 1 71 #define MNTPROC_UMNT 3 72 #define MNTPROC_UMNTALL 4 73 74 #endif /* _LINUX_NFS2_H */ 75