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