xref: /original-bsd/sbin/mount/mntopts.h (revision 27393bdf)
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.7 (Berkeley) 03/29/95
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 	int m_altloc;		/* 1 => set bit in altflags */
15 };
16 
17 /* User-visible MNT_ flags. */
18 #define MOPT_ASYNC		{ "async",	0, MNT_ASYNC, 0 }
19 #define MOPT_NODEV		{ "dev",	1, MNT_NODEV, 0 }
20 #define MOPT_NOEXEC		{ "exec",	1, MNT_NOEXEC, 0 }
21 #define MOPT_NOSUID		{ "suid",	1, MNT_NOSUID, 0 }
22 #define MOPT_RDONLY		{ "rdonly",	0, MNT_RDONLY, 0 }
23 #define MOPT_SYNC		{ "sync",	0, MNT_SYNCHRONOUS, 0 }
24 #define MOPT_UNION		{ "union",	0, MNT_UNION, 0 }
25 #define MOPT_USERQUOTA		{ "userquota",	0, 0, 0 }
26 #define MOPT_GROUPQUOTA		{ "groupquota",	0, 0, 0 }
27 
28 /* Control flags. */
29 #define MOPT_FORCE		{ "force",	0, MNT_FORCE, 0 }
30 #define MOPT_UPDATE		{ "update",	0, MNT_UPDATE, 0 }
31 #define MOPT_RO			{ "ro",		0, MNT_RDONLY, 0 }
32 #define MOPT_RW			{ "rw",		1, MNT_RDONLY, 0 }
33 
34 /* This is parsed by mount(8), but is ignored by specific mount_*(8)s. */
35 #define MOPT_AUTO		{ "auto",	0, 0, 0 }
36 
37 #define MOPT_FSTAB_COMPAT						\
38 	MOPT_RO,							\
39 	MOPT_RW,							\
40 	MOPT_AUTO
41 
42 /* Standard options which all mounts can understand. */
43 #define MOPT_STDOPTS							\
44 	MOPT_USERQUOTA,							\
45 	MOPT_GROUPQUOTA,						\
46 	MOPT_FSTAB_COMPAT,						\
47 	MOPT_NODEV,							\
48 	MOPT_NOEXEC,							\
49 	MOPT_NOSUID,							\
50 	MOPT_RDONLY,							\
51 	MOPT_UNION
52 
53 void getmntopts __P((const char *, const struct mntopt *, int *, int *));
54 extern int getmnt_silent;
55