linux/include/uapi/linux/nfs_mount.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2#ifndef _LINUX_NFS_MOUNT_H
   3#define _LINUX_NFS_MOUNT_H
   4
   5/*
   6 *  linux/include/linux/nfs_mount.h
   7 *
   8 *  Copyright (C) 1992  Rick Sladkey
   9 *
  10 *  structure passed from user-space to kernel-space during an nfs mount
  11 */
  12#include <linux/in.h>
  13#include <linux/nfs.h>
  14#include <linux/nfs2.h>
  15#include <linux/nfs3.h>
  16
  17/*
  18 * WARNING!  Do not delete or change the order of these fields.  If
  19 * a new field is required then add it to the end.  The version field
  20 * tracks which fields are present.  This will ensure some measure of
  21 * mount-to-kernel version compatibility.  Some of these aren't used yet
  22 * but here they are anyway.
  23 */
  24#define NFS_MOUNT_VERSION       6
  25#define NFS_MAX_CONTEXT_LEN     256
  26
  27struct nfs_mount_data {
  28        int             version;                /* 1 */
  29        int             fd;                     /* 1 */
  30        struct nfs2_fh  old_root;               /* 1 */
  31        int             flags;                  /* 1 */
  32        int             rsize;                  /* 1 */
  33        int             wsize;                  /* 1 */
  34        int             timeo;                  /* 1 */
  35        int             retrans;                /* 1 */
  36        int             acregmin;               /* 1 */
  37        int             acregmax;               /* 1 */
  38        int             acdirmin;               /* 1 */
  39        int             acdirmax;               /* 1 */
  40        struct sockaddr_in addr;                /* 1 */
  41        char            hostname[NFS_MAXNAMLEN + 1];            /* 1 */
  42        int             namlen;                 /* 2 */
  43        unsigned int    bsize;                  /* 3 */
  44        struct nfs3_fh  root;                   /* 4 */
  45        int             pseudoflavor;           /* 5 */
  46        char            context[NFS_MAX_CONTEXT_LEN + 1];       /* 6 */
  47};
  48
  49/* bits in the flags field visible to user space */
  50
  51#define NFS_MOUNT_SOFT          0x0001  /* 1 */
  52#define NFS_MOUNT_INTR          0x0002  /* 1 */ /* now unused, but ABI */
  53#define NFS_MOUNT_SECURE        0x0004  /* 1 */
  54#define NFS_MOUNT_POSIX         0x0008  /* 1 */
  55#define NFS_MOUNT_NOCTO         0x0010  /* 1 */
  56#define NFS_MOUNT_NOAC          0x0020  /* 1 */
  57#define NFS_MOUNT_TCP           0x0040  /* 2 */
  58#define NFS_MOUNT_VER3          0x0080  /* 3 */
  59#define NFS_MOUNT_KERBEROS      0x0100  /* 3 */
  60#define NFS_MOUNT_NONLM         0x0200  /* 3 */
  61#define NFS_MOUNT_BROKEN_SUID   0x0400  /* 4 */
  62#define NFS_MOUNT_NOACL         0x0800  /* 4 */
  63#define NFS_MOUNT_STRICTLOCK    0x1000  /* reserved for NFSv4 */
  64#define NFS_MOUNT_SECFLAVOUR    0x2000  /* 5 non-text parsed mount data only */
  65#define NFS_MOUNT_NORDIRPLUS    0x4000  /* 5 */
  66#define NFS_MOUNT_UNSHARED      0x8000  /* 5 */
  67#define NFS_MOUNT_FLAGMASK      0xFFFF
  68
  69#endif
  70