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