summaryrefslogtreecommitdiffstats
path: root/lib/libspl/include/sys/mntent.h
blob: 1cbdc3aeb523785af8b8caac98ce638e47551e9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 *
 *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
 *		All Rights Reserved
 */

#ifndef _SYS_MNTENT_H
#define	_SYS_MNTENT_H

#define	MNTTYPE_ZFS	"zfs"		/* ZFS file system */

#define	MOUNT_SUCCESS	0x00		/* Success */
#define	MOUNT_USAGE	0x01		/* Invalid invocation or permissions */
#define	MOUNT_SYSERR	0x02		/* System error (ENOMEM, etc) */
#define	MOUNT_SOFTWARE	0x04		/* Internal mount bug */
#define	MOUNT_USER	0x08		/* Interrupted by user (EINTR) */
#define	MOUNT_FILEIO	0x10		/* Error updating/locking /etc/mtab */
#define	MOUNT_FAIL	0x20		/* Mount failed */
#define	MOUNT_SOMEOK	0x40		/* At least on mount succeeded */

#define	MNTOPT_ASYNC	"async"		/* all I/O is asynchronous */
#define	MNTOPT_ATIME	"atime"		/* update atime for files */
#define	MNTOPT_NOATIME	"noatime"	/* do not update atime for files */
#define	MNTOPT_AUTO	"auto"		/* automount */
#define	MNTOPT_NOAUTO	"noauto"	/* do not automount */
#define	MNTOPT_CONTEXT	"context"	/* selinux context */
#define	MNTOPT_NOCONTEXT "nocontext"	/* No selinux context (zfs-only) */
#define	MNTOPT_FSCONTEXT "fscontext"	/* selinux fscontext */
#define	MNTOPT_DEFCONTEXT "defcontext"	/* selinux defcontext */
#define	MNTOPT_ROOTCONTEXT "rootcontext" /* selinux rootcontext */
#define	MNTOPT_DEFAULTS	"defaults"	/* defaults */
#define	MNTOPT_DEVICES	"dev"		/* device-special allowed */
#define	MNTOPT_NODEVICES "nodev"	/* device-special disallowed */
#define	MNTOPT_DIRATIME	"diratime"	/* update atime for dirs */
#define	MNTOPT_NODIRATIME "nodiratime"	/* do not update atime for dirs */
#define	MNTOPT_DIRSYNC	"dirsync"	/* do dir updates synchronously */
#define	MNTOPT_EXEC	"exec"		/* enable executables */
#define	MNTOPT_NOEXEC	"noexec"	/* disable executables */
#define	MNTOPT_GROUP	"group"		/* allow group mount */
#define	MNTOPT_NOGROUP	"nogroup"	/* do not allow group mount */
#define	MNTOPT_IVERSION	"iversion"	/* update inode version */
#define	MNTOPT_NOIVERSION "noiversion"	/* do not update inode version */
#define	MNTOPT_NBMAND	"mand"		/* allow non-blocking mandatory locks */
#define	MNTOPT_NONBMAND	"nomand"	/* deny non-blocking mandatory locks */
#define	MNTOPT_NETDEV	"_netdev"	/* network device */
#define	MNTOPT_NOFAIL	"nofail"	/* no failure */
#define	MNTOPT_RELATIME	"relatime"	/* allow relative time updates */
#define	MNTOPT_NORELATIME "norelatime"	/* do not allow relative time updates */
#define	MNTOPT_DFRATIME	"strictatime"	/* Deferred access time updates */
#define	MNTOPT_NODFRATIME "nostrictatime" /* No Deferred access time updates */
#define	MNTOPT_SETUID	"suid"		/* Both setuid and devices allowed */
#define	MNTOPT_NOSETUID	"nosuid"	/* Neither setuid nor devices allowed */
#define	MNTOPT_OWNER	"owner"		/* allow owner mount */
#define	MNTOPT_NOOWNER	"noowner"	/* do not allow owner mount */
#define	MNTOPT_REMOUNT	"remount"	/* change mount options */
#define	MNTOPT_RO	"ro"		/* read only */
#define	MNTOPT_RW	"rw"		/* read/write */
#define	MNTOPT_SYNC	"sync"		/* all I/O is synchronous */
#define	MNTOPT_USER	"user"		/* allow user mount */
#define	MNTOPT_NOUSER	"nouser"	/* do not allow user mount */
#define	MNTOPT_USERS	"users"		/* allow user mount */
#define	MNTOPT_NOUSERS	"nousers"	/* do not allow user mount */
#define	MNTOPT_SUB	"sub"		/* allow mounts on subdirs */
#define	MNTOPT_NOSUB	"nosub"		/* do not allow mounts on subdirs */
#define	MNTOPT_QUIET	"quiet"		/* quiet mount */
#define	MNTOPT_LOUD	"loud"		/* verbose mount */
#define	MNTOPT_BIND	"bind"		/* remount part of a tree */
#define	MNTOPT_RBIND	"rbind"		/* include subtrees */
#define	MNTOPT_XATTR	"user_xattr"	/* enable extended attributes */
#define	MNTOPT_NOXATTR	"nouser_xattr"	/* disable extended attributes */
#define	MNTOPT_COMMENT	"comment"	/* comment */
#define	MNTOPT_ZFSUTIL	"zfsutil"	/* called by zfs utility */

#define ZS_COMMENT	0x00000000	/* comment */
#define ZS_ZFSUTIL	0x00000001	/* caller is zfs(8) */
#define ZS_NOCONTEXT	0x00000002	/* do not add selinux context */

#endif	/* _SYS_MNTENT_H */