1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21/*
22 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23 * Use is subject to license terms.
24 * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
25 *
26 *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
27 *		All Rights Reserved
28 */
29
30#ifndef _SYS_MNTENT_H
31#define	_SYS_MNTENT_H
32
33#ifdef	__cplusplus
34extern "C" {
35#endif
36
37#define	MNTTAB		"/etc/mnttab"
38#define	VFSTAB		"/etc/vfstab"
39#define	MNTMAXSTR	128
40
41#define	MNTTYPE_ZFS	"zfs"		/* ZFS file system */
42#define	MNTTYPE_UFS	"ufs"		/* Unix file system */
43#define	MNTTYPE_SMBFS	"smbfs"		/* SMBFS file system */
44#define	MNTTYPE_NFS	"nfs"		/* NFS file system */
45#define	MNTTYPE_NFS3	"nfs3"		/* NFS Version 3 file system */
46#define	MNTTYPE_NFS4	"nfs4"		/* NFS Version 4 file system */
47#define	MNTTYPE_PCFS	"pcfs"		/* PC (MSDOS) file system */
48#define	MNTTYPE_PC	MNTTYPE_PCFS	/* Deprecated name; use MNTTYPE_PCFS */
49#define	MNTTYPE_LOFS	"lofs"		/* Loop back file system */
50#define	MNTTYPE_LO	MNTTYPE_LOFS	/* Deprecated name; use MNTTYPE_LOFS */
51#define	MNTTYPE_HSFS	"hsfs"		/* High Sierra (9660) file system */
52#define	MNTTYPE_SWAP	"swap"		/* Swap file system */
53#define	MNTTYPE_TMPFS	"tmpfs"		/* Tmp volatile file system */
54#define	MNTTYPE_AUTOFS	"autofs"	/* Automounter ``file'' system */
55#define	MNTTYPE_MNTFS	"mntfs"		/* In-kernel mnttab */
56#define	MNTTYPE_DEV	"dev"		/* /dev file system */
57#define	MNTTYPE_CTFS	"ctfs"		/* Contract file system */
58#define	MNTTYPE_OBJFS	"objfs"		/* Kernel object file system */
59#define	MNTTYPE_SHAREFS	"sharefs"	/* Kernel sharetab file system */
60
61
62#define	MNTOPT_RO	"ro"		/* Read only */
63#define	MNTOPT_RW	"rw"		/* Read/write */
64#define	MNTOPT_RQ	"rq"		/* Read/write with quotas */
65#define	MNTOPT_QUOTA	"quota"		/* Check quotas */
66#define	MNTOPT_NOQUOTA	"noquota"	/* Don't check quotas */
67#define	MNTOPT_ONERROR	"onerror"	/* action to taken on error */
68#define	MNTOPT_SOFT	"soft"		/* Soft mount */
69#define	MNTOPT_SEMISOFT	"semisoft"	/* partial soft, uncommited interface */
70#define	MNTOPT_HARD	"hard"		/* Hard mount */
71#define	MNTOPT_SUID	"suid"		/* Both setuid and devices allowed */
72#define	MNTOPT_NOSUID	"nosuid"	/* Neither setuid nor devices allowed */
73#define	MNTOPT_DEVICES	"devices"	/* Device-special allowed */
74#define	MNTOPT_NODEVICES	"nodevices"	/* Device-special disallowed */
75#define	MNTOPT_SETUID	"setuid"	/* Set uid allowed */
76#define	MNTOPT_NOSETUID	"nosetuid"	/* Set uid not allowed */
77#define	MNTOPT_GRPID	"grpid"		/* SysV-compatible gid on create */
78#define	MNTOPT_REMOUNT	"remount"	/* Change mount options */
79#define	MNTOPT_NOSUB	"nosub"		/* Disallow mounts on subdirs */
80#define	MNTOPT_MULTI	"multi"		/* Do multi-component lookup */
81#define	MNTOPT_INTR	"intr"		/* Allow NFS ops to be interrupted */
82#define	MNTOPT_NOINTR	"nointr"	/* Don't allow interrupted ops */
83#define	MNTOPT_PORT	"port"		/* NFS server IP port number */
84#define	MNTOPT_SECURE	"secure"	/* Secure (AUTH_DES) mounting */
85#define	MNTOPT_RSIZE	"rsize"		/* Max NFS read size (bytes) */
86#define	MNTOPT_WSIZE	"wsize"		/* Max NFS write size (bytes) */
87#define	MNTOPT_TIMEO	"timeo"		/* NFS timeout (1/10 sec) */
88#define	MNTOPT_RETRANS	"retrans"	/* Max retransmissions (soft mnts) */
89#define	MNTOPT_ACTIMEO	"actimeo"	/* Attr cache timeout (sec) */
90#define	MNTOPT_ACREGMIN	"acregmin"	/* Min attr cache timeout (files) */
91#define	MNTOPT_ACREGMAX	"acregmax"	/* Max attr cache timeout (files) */
92#define	MNTOPT_ACDIRMIN	"acdirmin"	/* Min attr cache timeout (dirs) */
93#define	MNTOPT_ACDIRMAX	"acdirmax"	/* Max attr cache timeout (dirs) */
94#define	MNTOPT_NOAC	"noac"		/* Don't cache attributes at all */
95#define	MNTOPT_NOCTO	"nocto"		/* No close-to-open consistency */
96#define	MNTOPT_BG	"bg"		/* Do mount retries in background */
97#define	MNTOPT_FG	"fg"		/* Do mount retries in foreground */
98#define	MNTOPT_RETRY	"retry"		/* Number of mount retries */
99#define	MNTOPT_DEV	"dev"		/* Device id of mounted fs */
100#define	MNTOPT_POSIX	"posix"		/* Get static pathconf for mount */
101#define	MNTOPT_MAP	"map"		/* Automount map */
102#define	MNTOPT_DIRECT	"direct"	/* Automount   direct map mount */
103#define	MNTOPT_INDIRECT	"indirect"	/* Automount indirect map mount */
104#define	MNTOPT_LLOCK	"llock"		/* Local locking (no lock manager) */
105#define	MNTOPT_IGNORE	"ignore"	/* Ignore this entry */
106#define	MNTOPT_VERS	"vers"		/* protocol version number indicator */
107#define	MNTOPT_PROTO	"proto"		/* protocol network_id indicator */
108#define	MNTOPT_SEC	"sec"		/* Security flavor indicator */
109#define	MNTOPT_SYNCDIR	"syncdir"	/* Synchronous local directory ops */
110#define	MNTOPT_NOSETSEC	"nosec"		/* Do no allow setting sec attrs */
111#define	MNTOPT_NOPRINT	"noprint"	/* Do not print messages */
112#define	MNTOPT_LARGEFILES "largefiles"	/* allow large files */
113#define	MNTOPT_NOLARGEFILES "nolargefiles" /* don't allow large files */
114#define	MNTOPT_FORCEDIRECTIO "forcedirectio" /* Force DirectIO on all files */
115#define	MNTOPT_NOFORCEDIRECTIO "noforcedirectio" /* No Force DirectIO */
116#define	MNTOPT_DISABLEDIRECTIO "disabledirectio" /* Disable DirectIO ioctls */
117#define	MNTOPT_PUBLIC	"public"	/* Use NFS public file handlee */
118#define	MNTOPT_LOGGING "logging" 	/* enable logging */
119#define	MNTOPT_NOLOGGING "nologging" 	/* disable logging */
120#define	MNTOPT_ATIME	"atime"		/* update atime for files */
121#define	MNTOPT_NOATIME  "noatime"	/* do not update atime for files */
122#define	MNTOPT_GLOBAL	"global"	/* Cluster-wide global mount */
123#define	MNTOPT_NOGLOBAL	"noglobal"	/* Mount local to single node */
124#define	MNTOPT_DFRATIME	"dfratime"	/* Deferred access time updates */
125#define	MNTOPT_NODFRATIME "nodfratime"	/* No Deferred access time updates */
126#define	MNTOPT_NBMAND	"nbmand"	/* allow non-blocking mandatory locks */
127#define	MNTOPT_NONBMAND	"nonbmand"	/* deny non-blocking mandatory locks */
128#define	MNTOPT_XATTR	"xattr"		/* enable extended attributes */
129#define	MNTOPT_NOXATTR	"noxattr"	/* disable extended attributes */
130#define	MNTOPT_EXEC	"exec"		/* enable executables */
131#define	MNTOPT_NOEXEC	"noexec"	/* disable executables */
132#define	MNTOPT_RESTRICT	"restrict"	/* restricted autofs mount */
133#define	MNTOPT_BROWSE	"browse"	/* browsable autofs mount */
134#define	MNTOPT_NOBROWSE	"nobrowse"	/* non-browsable autofs mount */
135#define	MNTOPT_ZONE	"zone"	/* zone name - set only for non global zones */
136
137#ifdef	__cplusplus
138}
139#endif
140
141#endif	/* _SYS_MNTENT_H */
142