xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/nfs4_mount.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #ifndef _LINUX_NFS4_MOUNT_H
2*53ee8cc1Swenshuai.xi #define _LINUX_NFS4_MOUNT_H
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi /*
5*53ee8cc1Swenshuai.xi  *  linux/include/linux/nfs4_mount.h
6*53ee8cc1Swenshuai.xi  *
7*53ee8cc1Swenshuai.xi  *  Copyright (C) 2002  Trond Myklebust
8*53ee8cc1Swenshuai.xi  *
9*53ee8cc1Swenshuai.xi  *  structure passed from user-space to kernel-space during an nfsv4 mount
10*53ee8cc1Swenshuai.xi  */
11*53ee8cc1Swenshuai.xi 
12*53ee8cc1Swenshuai.xi /*
13*53ee8cc1Swenshuai.xi  * WARNING!  Do not delete or change the order of these fields.  If
14*53ee8cc1Swenshuai.xi  * a new field is required then add it to the end.  The version field
15*53ee8cc1Swenshuai.xi  * tracks which fields are present.  This will ensure some measure of
16*53ee8cc1Swenshuai.xi  * mount-to-kernel version compatibility.  Some of these aren't used yet
17*53ee8cc1Swenshuai.xi  * but here they are anyway.
18*53ee8cc1Swenshuai.xi  */
19*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_VERSION	1
20*53ee8cc1Swenshuai.xi 
21*53ee8cc1Swenshuai.xi struct nfs_string {
22*53ee8cc1Swenshuai.xi 	unsigned int len;
23*53ee8cc1Swenshuai.xi 	const char * data;
24*53ee8cc1Swenshuai.xi };
25*53ee8cc1Swenshuai.xi 
26*53ee8cc1Swenshuai.xi struct nfs4_mount_data {
27*53ee8cc1Swenshuai.xi 	int version;				/* 1 */
28*53ee8cc1Swenshuai.xi 	int flags;				/* 1 */
29*53ee8cc1Swenshuai.xi 	int rsize;				/* 1 */
30*53ee8cc1Swenshuai.xi 	int wsize;				/* 1 */
31*53ee8cc1Swenshuai.xi 	int timeo;				/* 1 */
32*53ee8cc1Swenshuai.xi 	int retrans;				/* 1 */
33*53ee8cc1Swenshuai.xi 	int acregmin;				/* 1 */
34*53ee8cc1Swenshuai.xi 	int acregmax;				/* 1 */
35*53ee8cc1Swenshuai.xi 	int acdirmin;				/* 1 */
36*53ee8cc1Swenshuai.xi 	int acdirmax;				/* 1 */
37*53ee8cc1Swenshuai.xi 
38*53ee8cc1Swenshuai.xi 	/* see the definition of 'struct clientaddr4' in RFC3010 */
39*53ee8cc1Swenshuai.xi 	struct nfs_string client_addr;		/* 1 */
40*53ee8cc1Swenshuai.xi 
41*53ee8cc1Swenshuai.xi 	/* Mount path */
42*53ee8cc1Swenshuai.xi 	struct nfs_string mnt_path;		/* 1 */
43*53ee8cc1Swenshuai.xi 
44*53ee8cc1Swenshuai.xi 	/* Server details */
45*53ee8cc1Swenshuai.xi 	struct nfs_string hostname;		/* 1 */
46*53ee8cc1Swenshuai.xi 	/* Server IP address */
47*53ee8cc1Swenshuai.xi 	unsigned int host_addrlen;		/* 1 */
48*53ee8cc1Swenshuai.xi 	struct sockaddr * host_addr;	/* 1 */
49*53ee8cc1Swenshuai.xi 
50*53ee8cc1Swenshuai.xi 	/* Transport protocol to use */
51*53ee8cc1Swenshuai.xi 	int proto;				/* 1 */
52*53ee8cc1Swenshuai.xi 
53*53ee8cc1Swenshuai.xi 	/* Pseudo-flavours to use for authentication. See RFC2623 */
54*53ee8cc1Swenshuai.xi 	int auth_flavourlen;			/* 1 */
55*53ee8cc1Swenshuai.xi 	int *auth_flavours;		/* 1 */
56*53ee8cc1Swenshuai.xi };
57*53ee8cc1Swenshuai.xi 
58*53ee8cc1Swenshuai.xi /* bits in the flags field */
59*53ee8cc1Swenshuai.xi /* Note: the fields that correspond to existing NFSv2/v3 mount options
60*53ee8cc1Swenshuai.xi  * 	 should mirror the values from include/linux/nfs_mount.h
61*53ee8cc1Swenshuai.xi  */
62*53ee8cc1Swenshuai.xi 
63*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_SOFT		0x0001	/* 1 */
64*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_INTR		0x0002	/* 1 */
65*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_NOCTO	0x0010	/* 1 */
66*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_NOAC		0x0020	/* 1 */
67*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_STRICTLOCK	0x1000	/* 1 */
68*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_UNSHARED	0x8000	/* 1 */
69*53ee8cc1Swenshuai.xi #define NFS4_MOUNT_FLAGMASK	0x9033
70*53ee8cc1Swenshuai.xi 
71*53ee8cc1Swenshuai.xi #endif
72