xref: /original-bsd/sbin/mount/mntopts.h (revision deff14a8)
1 /*-
2  * Copyright (c) 1994
3  *      The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)mntopts.h	8.6 (Berkeley) 07/07/94
8  */
9 
10 struct mntopt {
11 	const char *m_option;	/* option name */
12 	int m_inverse;		/* if a negative option, eg "dev" */
13 	int m_flag;		/* bit to set, eg. MNT_RDONLY */
14 };
15 
16 /* User-visible MNT_ flags. */
17 #define MOPT_ASYNC		{ "async",	0, MNT_ASYNC }
18 #define MOPT_NODEV		{ "dev",	1, MNT_NODEV }
19 #define MOPT_NOEXEC		{ "exec",	1, MNT_NOEXEC }
20 #define MOPT_NOSUID		{ "suid",	1, MNT_NOSUID }
21 #define MOPT_RDONLY		{ "rdonly",	0, MNT_RDONLY }
22 #define MOPT_SYNC		{ "sync",	0, MNT_SYNCHRONOUS }
23 #define MOPT_UNION		{ "union",	0, MNT_UNION }
24 #define MOPT_USERQUOTA		{ "userquota",	0, 0 }
25 #define MOPT_GROUPQUOTA		{ "groupquota",	0, 0 }
26 
27 /* Control flags. */
28 #define MOPT_FORCE		{ "force",	0, MNT_FORCE }
29 #define MOPT_UPDATE		{ "update",	0, MNT_UPDATE }
30 #define MOPT_RO			{ "ro",		0, MNT_RDONLY }
31 #define MOPT_RW			{ "rw",		1, MNT_RDONLY }
32 
33 /* This is parsed by mount(8), but is ignored by specific mount_*(8)s. */
34 #define MOPT_AUTO		{ "auto",	0, 0 }
35 
36 #define MOPT_FSTAB_COMPAT						\
37 	MOPT_RO,							\
38 	MOPT_RW,							\
39 	MOPT_AUTO
40 
41 /* Standard options which all mounts can understand. */
42 #define MOPT_STDOPTS							\
43 	MOPT_USERQUOTA,							\
44 	MOPT_GROUPQUOTA,						\
45 	MOPT_FSTAB_COMPAT,						\
46 	MOPT_NODEV,							\
47 	MOPT_NOEXEC,							\
48 	MOPT_NOSUID,							\
49 	MOPT_RDONLY,							\
50 	MOPT_UNION
51 
52 void getmntopts __P((const char *, const struct mntopt *, int *));
53