xref: /linux/include/uapi/linux/nfs2.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells /*
3607ca46eSDavid Howells  * NFS protocol definitions
4607ca46eSDavid Howells  *
5607ca46eSDavid Howells  * This file contains constants for Version 2 of the protocol.
6607ca46eSDavid Howells  */
7607ca46eSDavid Howells #ifndef _LINUX_NFS2_H
8607ca46eSDavid Howells #define _LINUX_NFS2_H
9607ca46eSDavid Howells 
10607ca46eSDavid Howells #define NFS2_PORT	2049
11607ca46eSDavid Howells #define NFS2_MAXDATA	8192
12607ca46eSDavid Howells #define NFS2_MAXPATHLEN	1024
13607ca46eSDavid Howells #define NFS2_MAXNAMLEN	255
14607ca46eSDavid Howells #define NFS2_MAXGROUPS	16
15607ca46eSDavid Howells #define NFS2_FHSIZE	32
16607ca46eSDavid Howells #define NFS2_COOKIESIZE	4
17607ca46eSDavid Howells #define NFS2_FIFO_DEV	(-1)
18607ca46eSDavid Howells #define NFS2MODE_FMT	0170000
19607ca46eSDavid Howells #define NFS2MODE_DIR	0040000
20607ca46eSDavid Howells #define NFS2MODE_CHR	0020000
21607ca46eSDavid Howells #define NFS2MODE_BLK	0060000
22607ca46eSDavid Howells #define NFS2MODE_REG	0100000
23607ca46eSDavid Howells #define NFS2MODE_LNK	0120000
24607ca46eSDavid Howells #define NFS2MODE_SOCK	0140000
25607ca46eSDavid Howells #define NFS2MODE_FIFO	0010000
26607ca46eSDavid Howells 
27607ca46eSDavid Howells 
28607ca46eSDavid Howells /* NFSv2 file types - beware, these are not the same in NFSv3 */
29607ca46eSDavid Howells enum nfs2_ftype {
30607ca46eSDavid Howells 	NF2NON = 0,
31607ca46eSDavid Howells 	NF2REG = 1,
32607ca46eSDavid Howells 	NF2DIR = 2,
33607ca46eSDavid Howells 	NF2BLK = 3,
34607ca46eSDavid Howells 	NF2CHR = 4,
35607ca46eSDavid Howells 	NF2LNK = 5,
36607ca46eSDavid Howells 	NF2SOCK = 6,
37607ca46eSDavid Howells 	NF2BAD = 7,
38607ca46eSDavid Howells 	NF2FIFO = 8
39607ca46eSDavid Howells };
40607ca46eSDavid Howells 
41607ca46eSDavid Howells struct nfs2_fh {
42607ca46eSDavid Howells 	char			data[NFS2_FHSIZE];
43607ca46eSDavid Howells };
44607ca46eSDavid Howells 
45607ca46eSDavid Howells /*
46607ca46eSDavid Howells  * Procedure numbers for NFSv2
47607ca46eSDavid Howells  */
48607ca46eSDavid Howells #define NFS2_VERSION		2
49607ca46eSDavid Howells #define NFSPROC_NULL		0
50607ca46eSDavid Howells #define NFSPROC_GETATTR		1
51607ca46eSDavid Howells #define NFSPROC_SETATTR		2
52607ca46eSDavid Howells #define NFSPROC_ROOT		3
53607ca46eSDavid Howells #define NFSPROC_LOOKUP		4
54607ca46eSDavid Howells #define NFSPROC_READLINK	5
55607ca46eSDavid Howells #define NFSPROC_READ		6
56607ca46eSDavid Howells #define NFSPROC_WRITECACHE	7
57607ca46eSDavid Howells #define NFSPROC_WRITE		8
58607ca46eSDavid Howells #define NFSPROC_CREATE		9
59607ca46eSDavid Howells #define NFSPROC_REMOVE		10
60607ca46eSDavid Howells #define NFSPROC_RENAME		11
61607ca46eSDavid Howells #define NFSPROC_LINK		12
62607ca46eSDavid Howells #define NFSPROC_SYMLINK		13
63607ca46eSDavid Howells #define NFSPROC_MKDIR		14
64607ca46eSDavid Howells #define NFSPROC_RMDIR		15
65607ca46eSDavid Howells #define NFSPROC_READDIR		16
66607ca46eSDavid Howells #define NFSPROC_STATFS		17
67607ca46eSDavid Howells 
68607ca46eSDavid Howells #endif /* _LINUX_NFS2_H */
69