Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * NFSv3 protocol definitions | |
3 | */ | |
4 | #ifndef _LINUX_NFS3_H | |
5 | #define _LINUX_NFS3_H | |
6 | ||
7 | #define NFS3_PORT 2049 | |
8 | #define NFS3_MAXDATA 32768 | |
9 | #define NFS3_MAXPATHLEN PATH_MAX | |
10 | #define NFS3_MAXNAMLEN NAME_MAX | |
11 | #define NFS3_MAXGROUPS 16 | |
12 | #define NFS3_FHSIZE 64 | |
13 | #define NFS3_COOKIESIZE 4 | |
14 | #define NFS3_FIFO_DEV (-1) | |
15 | #define NFS3MODE_FMT 0170000 | |
16 | #define NFS3MODE_DIR 0040000 | |
17 | #define NFS3MODE_CHR 0020000 | |
18 | #define NFS3MODE_BLK 0060000 | |
19 | #define NFS3MODE_REG 0100000 | |
20 | #define NFS3MODE_LNK 0120000 | |
21 | #define NFS3MODE_SOCK 0140000 | |
22 | #define NFS3MODE_FIFO 0010000 | |
23 | ||
24 | /* Flags for access() call */ | |
25 | #define NFS3_ACCESS_READ 0x0001 | |
26 | #define NFS3_ACCESS_LOOKUP 0x0002 | |
27 | #define NFS3_ACCESS_MODIFY 0x0004 | |
28 | #define NFS3_ACCESS_EXTEND 0x0008 | |
29 | #define NFS3_ACCESS_DELETE 0x0010 | |
30 | #define NFS3_ACCESS_EXECUTE 0x0020 | |
31 | #define NFS3_ACCESS_FULL 0x003f | |
32 | ||
33 | /* Flags for create mode */ | |
34 | enum nfs3_createmode { | |
35 | NFS3_CREATE_UNCHECKED = 0, | |
36 | NFS3_CREATE_GUARDED = 1, | |
37 | NFS3_CREATE_EXCLUSIVE = 2 | |
38 | }; | |
39 | ||
40 | /* NFSv3 file system properties */ | |
41 | #define NFS3_FSF_LINK 0x0001 | |
42 | #define NFS3_FSF_SYMLINK 0x0002 | |
43 | #define NFS3_FSF_HOMOGENEOUS 0x0008 | |
44 | #define NFS3_FSF_CANSETTIME 0x0010 | |
45 | /* Some shorthands. See fs/nfsd/nfs3proc.c */ | |
46 | #define NFS3_FSF_DEFAULT 0x001B | |
47 | #define NFS3_FSF_BILLYBOY 0x0018 | |
48 | #define NFS3_FSF_READONLY 0x0008 | |
49 | ||
50 | enum nfs3_ftype { | |
51 | NF3NON = 0, | |
52 | NF3REG = 1, | |
53 | NF3DIR = 2, | |
54 | NF3BLK = 3, | |
55 | NF3CHR = 4, | |
56 | NF3LNK = 5, | |
57 | NF3SOCK = 6, | |
58 | NF3FIFO = 7, /* changed from NFSv2 (was 8) */ | |
59 | NF3BAD = 8 | |
60 | }; | |
61 | ||
62 | struct nfs3_fh { | |
63 | unsigned short size; | |
64 | unsigned char data[NFS3_FHSIZE]; | |
65 | }; | |
66 | ||
67 | #define NFS3_VERSION 3 | |
68 | #define NFS3PROC_NULL 0 | |
69 | #define NFS3PROC_GETATTR 1 | |
70 | #define NFS3PROC_SETATTR 2 | |
71 | #define NFS3PROC_LOOKUP 3 | |
72 | #define NFS3PROC_ACCESS 4 | |
73 | #define NFS3PROC_READLINK 5 | |
74 | #define NFS3PROC_READ 6 | |
75 | #define NFS3PROC_WRITE 7 | |
76 | #define NFS3PROC_CREATE 8 | |
77 | #define NFS3PROC_MKDIR 9 | |
78 | #define NFS3PROC_SYMLINK 10 | |
79 | #define NFS3PROC_MKNOD 11 | |
80 | #define NFS3PROC_REMOVE 12 | |
81 | #define NFS3PROC_RMDIR 13 | |
82 | #define NFS3PROC_RENAME 14 | |
83 | #define NFS3PROC_LINK 15 | |
84 | #define NFS3PROC_READDIR 16 | |
85 | #define NFS3PROC_READDIRPLUS 17 | |
86 | #define NFS3PROC_FSSTAT 18 | |
87 | #define NFS3PROC_FSINFO 19 | |
88 | #define NFS3PROC_PATHCONF 20 | |
89 | #define NFS3PROC_COMMIT 21 | |
90 | ||
1da177e4 | 91 | #define NFS_MNT3_VERSION 3 |
1da177e4 LT |
92 | |
93 | ||
065f30ec | 94 | #if defined(__KERNEL__) |
1da177e4 LT |
95 | |
96 | /* Number of 32bit words in post_op_attr */ | |
97 | #define NFS3_POST_OP_ATTR_WORDS 22 | |
98 | ||
99 | #endif /* __KERNEL__ */ | |
100 | #endif /* _LINUX_NFS3_H */ |