summaryrefslogtreecommitdiff
path: root/include/arch/x86_64/linux/nfs2.h
blob: 65ace489435981ca763cc902616ea055f309f7d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * NFS protocol definitions
 *
 * This file contains constants for Version 2 of the protocol.
 */
#ifndef _LINUX_NFS2_H
#define _LINUX_NFS2_H

#define NFS2_PORT	2049
#define NFS2_MAXDATA	8192
#define NFS2_MAXPATHLEN 1024
#define NFS2_MAXNAMLEN	255
#define NFS2_MAXGROUPS	16
#define NFS2_FHSIZE	32
#define NFS2_COOKIESIZE 4
#define NFS2_FIFO_DEV	(-1)
#define NFS2MODE_FMT	0170000
#define NFS2MODE_DIR	0040000
#define NFS2MODE_CHR	0020000
#define NFS2MODE_BLK	0060000
#define NFS2MODE_REG	0100000
#define NFS2MODE_LNK	0120000
#define NFS2MODE_SOCK	0140000
#define NFS2MODE_FIFO	0010000

/* NFSv2 file types - beware, these are not the same in NFSv3 */
enum nfs2_ftype {
	NF2NON = 0,
	NF2REG = 1,
	NF2DIR = 2,
	NF2BLK = 3,
	NF2CHR = 4,
	NF2LNK = 5,
	NF2SOCK = 6,
	NF2BAD = 7,
	NF2FIFO = 8
};

struct nfs2_fh {
	char data[NFS2_FHSIZE];
};

/*
 * Procedure numbers for NFSv2
 */
#define NFS2_VERSION	   2
#define NFSPROC_NULL	   0
#define NFSPROC_GETATTR	   1
#define NFSPROC_SETATTR	   2
#define NFSPROC_ROOT	   3
#define NFSPROC_LOOKUP	   4
#define NFSPROC_READLINK   5
#define NFSPROC_READ	   6
#define NFSPROC_WRITECACHE 7
#define NFSPROC_WRITE	   8
#define NFSPROC_CREATE	   9
#define NFSPROC_REMOVE	   10
#define NFSPROC_RENAME	   11
#define NFSPROC_LINK	   12
#define NFSPROC_SYMLINK	   13
#define NFSPROC_MKDIR	   14
#define NFSPROC_RMDIR	   15
#define NFSPROC_READDIR	   16
#define NFSPROC_STATFS	   17

#endif /* _LINUX_NFS2_H */