Merge branches 'topic/fixes', 'topic/cleanups' and 'topic/documentation' into for...
[linux-2.6] / include / linux / nfs2.h
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 */