linux/include/uapi/linux/nfs4_mount.h
<<
>>
Prefs
   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
  22struct nfs_string {
  23        unsigned int len;
  24        const char __user * data;
  25};
  26
  27struct 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