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.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or https://opensource.org/licenses/CDDL-1.0.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
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]
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
25 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
34 #define MNTTYPE_ZFS "zfs" /* ZFS file system */
36 #define MOUNT_SUCCESS 0x00 /* Success */
37 #define MOUNT_USAGE 0x01 /* Invalid invocation or permissions */
38 #define MOUNT_SYSERR 0x02 /* System error (ENOMEM, etc) */
39 #define MOUNT_SOFTWARE 0x04 /* Internal mount bug */
40 #define MOUNT_USER 0x08 /* Interrupted by user (EINTR) */
41 #define MOUNT_FILEIO 0x10 /* Error updating/locking /etc/mtab */
42 #define MOUNT_FAIL 0x20 /* Mount failed */
43 #define MOUNT_SOMEOK 0x40 /* At least on mount succeeded */
44 #define MOUNT_BUSY 0x80 /* Mount failed due to EBUSY */
46 #define MNTOPT_ASYNC "async" /* all I/O is asynchronous */
47 #define MNTOPT_ATIME "atime" /* update atime for files */
48 #define MNTOPT_NOATIME "noatime" /* do not update atime for files */
49 #define MNTOPT_AUTO "auto" /* automount */
50 #define MNTOPT_NOAUTO "noauto" /* do not automount */
51 #define MNTOPT_CONTEXT "context" /* selinux context */
52 #define MNTOPT_FSCONTEXT "fscontext" /* selinux fscontext */
53 #define MNTOPT_DEFCONTEXT "defcontext" /* selinux defcontext */
54 #define MNTOPT_ROOTCONTEXT "rootcontext" /* selinux rootcontext */
55 #define MNTOPT_DEFAULTS "defaults" /* defaults */
56 #define MNTOPT_DEVICES "dev" /* device-special allowed */
57 #define MNTOPT_NODEVICES "nodev" /* device-special disallowed */
58 #define MNTOPT_DIRATIME "diratime" /* update atime for dirs */
59 #define MNTOPT_NODIRATIME "nodiratime" /* do not update atime for dirs */
60 #define MNTOPT_DIRSYNC "dirsync" /* do dir updates synchronously */
61 #define MNTOPT_EXEC "exec" /* enable executables */
62 #define MNTOPT_NOEXEC "noexec" /* disable executables */
63 #define MNTOPT_GROUP "group" /* allow group mount */
64 #define MNTOPT_NOGROUP "nogroup" /* do not allow group mount */
65 #define MNTOPT_IVERSION "iversion" /* update inode version */
66 #define MNTOPT_NOIVERSION "noiversion" /* do not update inode version */
67 #define MNTOPT_NBMAND "mand" /* allow non-blocking mandatory locks */
68 #define MNTOPT_NONBMAND "nomand" /* deny non-blocking mandatory locks */
69 #define MNTOPT_NETDEV "_netdev" /* network device */
70 #define MNTOPT_NOFAIL "nofail" /* no failure */
71 #define MNTOPT_RELATIME "relatime" /* allow relative time updates */
72 #define MNTOPT_NORELATIME "norelatime" /* do not allow relative time updates */
73 #define MNTOPT_STRICTATIME "strictatime" /* strict access time updates */
74 #define MNTOPT_NOSTRICTATIME "nostrictatime" /* No strict access time updates */
75 #define MNTOPT_LAZYTIME "lazytime" /* Defer access time writing */
77 #define MNTOPT_SETUID "suid" /* Both setuid and devices allowed */
78 #define MNTOPT_NOSETUID "nosuid" /* Neither setuid nor devices allowed */
79 #elif defined(__FreeBSD__)
80 #define MNTOPT_SETUID "setuid" /* Set uid allowed */
81 #define MNTOPT_NOSETUID "nosetuid" /* Set uid not allowed */
85 #define MNTOPT_OWNER "owner" /* allow owner mount */
86 #define MNTOPT_NOOWNER "noowner" /* do not allow owner mount */
87 #define MNTOPT_REMOUNT "remount" /* change mount options */
88 #define MNTOPT_RO "ro" /* read only */
89 #define MNTOPT_RW "rw" /* read/write */
90 #define MNTOPT_SYNC "sync" /* all I/O is synchronous */
91 #define MNTOPT_USER "user" /* allow user mount */
92 #define MNTOPT_NOUSER "nouser" /* do not allow user mount */
93 #define MNTOPT_USERS "users" /* allow user mount */
94 #define MNTOPT_NOUSERS "nousers" /* do not allow user mount */
95 #define MNTOPT_SUB "sub" /* allow mounts on subdirs */
96 #define MNTOPT_NOSUB "nosub" /* do not allow mounts on subdirs */
97 #define MNTOPT_QUIET "quiet" /* quiet mount */
98 #define MNTOPT_LOUD "loud" /* verbose mount */
99 #define MNTOPT_BIND "bind" /* remount part of a tree */
100 #define MNTOPT_RBIND "rbind" /* include subtrees */
101 #define MNTOPT_DIRXATTR "dirxattr" /* enable directory xattrs */
102 #define MNTOPT_SAXATTR "saxattr" /* enable system-attribute xattrs */
103 #define MNTOPT_XATTR "xattr" /* enable extended attributes */
104 #define MNTOPT_NOXATTR "noxattr" /* disable extended attributes */
105 #define MNTOPT_COMMENT "comment" /* comment */
106 #define MNTOPT_ZFSUTIL "zfsutil" /* called by zfs utility */
107 #define MNTOPT_ACL "acl" /* passed by util-linux-2.24 mount */
108 #define MNTOPT_NOACL "noacl" /* likewise */
109 #define MNTOPT_POSIXACL "posixacl" /* likewise */
110 #define MNTOPT_MNTPOINT "mntpoint" /* mount point hint */
111 #define MNTOPT_CASESENSITIVE "casesensitive" /* case sensitivity */
112 #define MNTOPT_CASEINSENSITIVE "caseinsensitive" /* case insensitivity */
113 #define MNTOPT_CASEMIXED "casemixed" /* case mixed */
115 #endif /* _SYS_MNTENT_H */