linux/include/uapi/linux/nfsd/export.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * include/linux/nfsd/export.h
 * 
 * Public declarations for NFS exports. The definitions for the
 * syscall interface are in nfsctl.h
 *
 * Copyright (C) 1995-1997 Olaf Kirch <[email protected]>
 */

#ifndef _UAPINFSD_EXPORT_H
#define _UAPINFSD_EXPORT_H

# include <linux/types.h>

/*
 * Important limits for the exports stuff.
 */
#define NFSCLNT_IDMAX
#define NFSCLNT_ADDRMAX
#define NFSCLNT_KEYMAX

/*
 * Export flags.
 *
 * Please update the expflags[] array in fs/nfsd/export.c when adding
 * a new flag.
 */
#define NFSEXP_READONLY
#define NFSEXP_INSECURE_PORT
#define NFSEXP_ROOTSQUASH
#define NFSEXP_ALLSQUASH
#define NFSEXP_ASYNC
#define NFSEXP_GATHERED_WRITES
#define NFSEXP_NOREADDIRPLUS
#define NFSEXP_SECURITY_LABEL
/* 0x100 currently unused */
#define NFSEXP_NOHIDE
#define NFSEXP_NOSUBTREECHECK
#define NFSEXP_NOAUTHNLM
#define NFSEXP_MSNFS
#define NFSEXP_FSID
#define NFSEXP_CROSSMOUNT
#define NFSEXP_NOACL
/*
 * The NFSEXP_V4ROOT flag causes the kernel to give access only to NFSv4
 * clients, and only to the single directory that is the root of the
 * export; further lookup and readdir operations are treated as if every
 * subdirectory was a mountpoint, and ignored if they are not themselves
 * exported.  This is used by nfsd and mountd to construct the NFSv4
 * pseudofilesystem, which provides access only to paths leading to each
 * exported filesystem.
 */
#define NFSEXP_V4ROOT
#define NFSEXP_PNFS

/* All flags that we claim to support.  (Note we don't support NOACL.) */
#define NFSEXP_ALLFLAGS

/* The flags that may vary depending on security flavor: */
#define NFSEXP_SECINFO_FLAGS

/*
 * Transport layer security policies that are permitted to access
 * an export
 */
#define NFSEXP_XPRTSEC_NONE
#define NFSEXP_XPRTSEC_TLS
#define NFSEXP_XPRTSEC_MTLS

#define NFSEXP_XPRTSEC_NUM

#define NFSEXP_XPRTSEC_ALL

#endif /* _UAPINFSD_EXPORT_H */