blob: fde24b30cc9e84ff820e3d4873a2f67609e49a16 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 */
28enum 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
40struct 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070067#endif /* _LINUX_NFS2_H */