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