cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

nfs4_mount.h (1953B)


      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