root/include/uapi/linux/nfs4_mount.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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

/* [<][>][^][v][top][bottom][index][help] */