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