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 https://opensource.org/licenses/CDDL-1.0. 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 * 25 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 26 * All Rights Reserved 27 */ 28 29#ifndef _SYS_MNTENT_H 30#define _SYS_MNTENT_H 31 32#define MNTMAXSTR 128 33 34#define MNTTYPE_ZFS "zfs" /* ZFS file system */ 35 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 */ 45 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 */ 76#ifdef __linux__ 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 */ 82#else 83#error "unknown OS" 84#endif 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 */ 114 115#endif /* _SYS_MNTENT_H */ 116