allow setting of alternate flags (from FreeBSD
[unix-history] / usr / src / sbin / mount / mntopts.h
index a60b8b3..40ac1fe 100644 (file)
@@ -4,38 +4,45 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)mntopts.h   8.2 (Berkeley) %G%
+ *     @(#)mntopts.h   8.7 (Berkeley) %G%
  */
 
 struct mntopt {
        const char *m_option;   /* option name */
        int m_inverse;          /* if a negative option, eg "dev" */
        int m_flag;             /* bit to set, eg. MNT_RDONLY */
  */
 
 struct mntopt {
        const char *m_option;   /* option name */
        int m_inverse;          /* if a negative option, eg "dev" */
        int m_flag;             /* bit to set, eg. MNT_RDONLY */
+       int m_altloc;           /* 1 => set bit in altflags */
 };
 
 /* User-visible MNT_ flags. */
 };
 
 /* User-visible MNT_ flags. */
-#define MOPT_ASYNC             { "async",      0, MNT_ASYNC }
-#define MOPT_NODEV             { "dev",        1, MNT_NODEV }
-#define MOPT_NOEXEC            { "exec",       1, MNT_NOEXEC }
-#define MOPT_NOSUID            { "suid",       1, MNT_NOSUID }
-#define MOPT_RDONLY            { "rdonly",     0, MNT_RDONLY }
-#define MOPT_SYNC              { "sync",       0, MNT_SYNCHRONOUS }
-#define MOPT_UNION             { "union",      0, MNT_UNION }
+#define MOPT_ASYNC             { "async",      0, MNT_ASYNC, 0 }
+#define MOPT_NODEV             { "dev",        1, MNT_NODEV, 0 }
+#define MOPT_NOEXEC            { "exec",       1, MNT_NOEXEC, 0 }
+#define MOPT_NOSUID            { "suid",       1, MNT_NOSUID, 0 }
+#define MOPT_RDONLY            { "rdonly",     0, MNT_RDONLY, 0 }
+#define MOPT_SYNC              { "sync",       0, MNT_SYNCHRONOUS, 0 }
+#define MOPT_UNION             { "union",      0, MNT_UNION, 0 }
+#define MOPT_USERQUOTA         { "userquota",  0, 0, 0 }
+#define MOPT_GROUPQUOTA                { "groupquota", 0, 0, 0 }
 
 /* Control flags. */
 
 /* Control flags. */
-#define MOPT_FORCE             { "exec",       1, MNT_FORCE }
-#define MOPT_UPDATE            { "update",     0, MNT_UPDATE }
+#define MOPT_FORCE             { "force",      0, MNT_FORCE, 0 }
+#define MOPT_UPDATE            { "update",     0, MNT_UPDATE, 0 }
+#define MOPT_RO                        { "ro",         0, MNT_RDONLY, 0 }
+#define MOPT_RW                        { "rw",         1, MNT_RDONLY, 0 }
 
 
-/* Support for old-style "ro", "rw" flags. */
-#define MOPT_RO                        { "ro",         0, MNT_RDONLY }
-#define MOPT_RW                        { "rw",         1, MNT_RDONLY }
+/* This is parsed by mount(8), but is ignored by specific mount_*(8)s. */
+#define MOPT_AUTO              { "auto",       0, 0, 0 }
 
 #define MOPT_FSTAB_COMPAT                                              \
        MOPT_RO,                                                        \
 
 #define MOPT_FSTAB_COMPAT                                              \
        MOPT_RO,                                                        \
-       MOPT_RW
+       MOPT_RW,                                                        \
+       MOPT_AUTO
 
 /* Standard options which all mounts can understand. */
 #define MOPT_STDOPTS                                                   \
 
 /* Standard options which all mounts can understand. */
 #define MOPT_STDOPTS                                                   \
+       MOPT_USERQUOTA,                                                 \
+       MOPT_GROUPQUOTA,                                                \
        MOPT_FSTAB_COMPAT,                                              \
        MOPT_NODEV,                                                     \
        MOPT_NOEXEC,                                                    \
        MOPT_FSTAB_COMPAT,                                              \
        MOPT_NODEV,                                                     \
        MOPT_NOEXEC,                                                    \
@@ -43,4 +50,5 @@ struct mntopt {
        MOPT_RDONLY,                                                    \
        MOPT_UNION
 
        MOPT_RDONLY,                                                    \
        MOPT_UNION
 
-void getmntopts __P((const char *, const struct mntopt *, int *));
+void getmntopts __P((const char *, const struct mntopt *, int *, int *));
+extern int getmnt_silent;