cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / linux / nfs2.h
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 */