Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
422 | giacomo | 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 | |||
91 | #define NFS_MNT3_PROGRAM 100005 |
||
92 | #define NFS_MNT3_VERSION 3 |
||
93 | #define MOUNTPROC3_NULL 0 |
||
94 | #define MOUNTPROC3_MNT 1 |
||
95 | #define MOUNTPROC3_UMNT 3 |
||
96 | #define MOUNTPROC3_UMNTALL 4 |
||
97 | |||
98 | |||
99 | #if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES) |
||
100 | |||
101 | /* Number of 32bit words in post_op_attr */ |
||
102 | #define NFS3_POST_OP_ATTR_WORDS 22 |
||
103 | |||
104 | #endif /* __KERNEL__ */ |
||
105 | #endif /* _LINUX_NFS3_H */ |