xref: /OK3568_Linux_fs/kernel/include/uapi/linux/nfs2.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * NFS protocol definitions
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This file contains constants for Version 2 of the protocol.
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun #ifndef _LINUX_NFS2_H
8*4882a593Smuzhiyun #define _LINUX_NFS2_H
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #define NFS2_PORT	2049
11*4882a593Smuzhiyun #define NFS2_MAXDATA	8192
12*4882a593Smuzhiyun #define NFS2_MAXPATHLEN	1024
13*4882a593Smuzhiyun #define NFS2_MAXNAMLEN	255
14*4882a593Smuzhiyun #define NFS2_MAXGROUPS	16
15*4882a593Smuzhiyun #define NFS2_FHSIZE	32
16*4882a593Smuzhiyun #define NFS2_COOKIESIZE	4
17*4882a593Smuzhiyun #define NFS2_FIFO_DEV	(-1)
18*4882a593Smuzhiyun #define NFS2MODE_FMT	0170000
19*4882a593Smuzhiyun #define NFS2MODE_DIR	0040000
20*4882a593Smuzhiyun #define NFS2MODE_CHR	0020000
21*4882a593Smuzhiyun #define NFS2MODE_BLK	0060000
22*4882a593Smuzhiyun #define NFS2MODE_REG	0100000
23*4882a593Smuzhiyun #define NFS2MODE_LNK	0120000
24*4882a593Smuzhiyun #define NFS2MODE_SOCK	0140000
25*4882a593Smuzhiyun #define NFS2MODE_FIFO	0010000
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun /* NFSv2 file types - beware, these are not the same in NFSv3 */
29*4882a593Smuzhiyun enum nfs2_ftype {
30*4882a593Smuzhiyun 	NF2NON = 0,
31*4882a593Smuzhiyun 	NF2REG = 1,
32*4882a593Smuzhiyun 	NF2DIR = 2,
33*4882a593Smuzhiyun 	NF2BLK = 3,
34*4882a593Smuzhiyun 	NF2CHR = 4,
35*4882a593Smuzhiyun 	NF2LNK = 5,
36*4882a593Smuzhiyun 	NF2SOCK = 6,
37*4882a593Smuzhiyun 	NF2BAD = 7,
38*4882a593Smuzhiyun 	NF2FIFO = 8
39*4882a593Smuzhiyun };
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun struct nfs2_fh {
42*4882a593Smuzhiyun 	char			data[NFS2_FHSIZE];
43*4882a593Smuzhiyun };
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun /*
46*4882a593Smuzhiyun  * Procedure numbers for NFSv2
47*4882a593Smuzhiyun  */
48*4882a593Smuzhiyun #define NFS2_VERSION		2
49*4882a593Smuzhiyun #define NFSPROC_NULL		0
50*4882a593Smuzhiyun #define NFSPROC_GETATTR		1
51*4882a593Smuzhiyun #define NFSPROC_SETATTR		2
52*4882a593Smuzhiyun #define NFSPROC_ROOT		3
53*4882a593Smuzhiyun #define NFSPROC_LOOKUP		4
54*4882a593Smuzhiyun #define NFSPROC_READLINK	5
55*4882a593Smuzhiyun #define NFSPROC_READ		6
56*4882a593Smuzhiyun #define NFSPROC_WRITECACHE	7
57*4882a593Smuzhiyun #define NFSPROC_WRITE		8
58*4882a593Smuzhiyun #define NFSPROC_CREATE		9
59*4882a593Smuzhiyun #define NFSPROC_REMOVE		10
60*4882a593Smuzhiyun #define NFSPROC_RENAME		11
61*4882a593Smuzhiyun #define NFSPROC_LINK		12
62*4882a593Smuzhiyun #define NFSPROC_SYMLINK		13
63*4882a593Smuzhiyun #define NFSPROC_MKDIR		14
64*4882a593Smuzhiyun #define NFSPROC_RMDIR		15
65*4882a593Smuzhiyun #define NFSPROC_READDIR		16
66*4882a593Smuzhiyun #define NFSPROC_STATFS		17
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun #endif /* _LINUX_NFS2_H */
69