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 | |