add mount flags to sys/mount.h
authorSzabolcs Nagy <nsz@port70.net>
Sat, 12 Jan 2013 17:25:13 +0000 (18:25 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Sat, 12 Jan 2013 18:42:39 +0000 (19:42 +0100)
added various MS_*, MNT_*, UMOUNT_* flags following the linux
headers, with one exception: MS_NOUSER is defined as (1U<<31)
instead of (1<<31) which invokes undefined behaviour

the S_* flags were removed following glibc

include/sys/mount.h

index 3f652e9..1e1907f 100644 (file)
@@ -30,18 +30,36 @@ extern "C" {
 #define MS_SYNCHRONOUS 16
 #define MS_REMOUNT     32
 #define MS_MANDLOCK    64
-#define S_WRITE        128
-#define S_APPEND       256
-#define S_IMMUTABLE    512
+#define MS_DIRSYNC     128
 #define MS_NOATIME     1024
 #define MS_NODIRATIME  2048
 #define MS_BIND        4096
 #define MS_MOVE        8192
+#define MS_REC         16384
 #define MS_SILENT      32768
+#define MS_POSIXACL    (1<<16)
+#define MS_UNBINDABLE  (1<<17)
+#define MS_PRIVATE     (1<<18)
+#define MS_SLAVE       (1<<19)
+#define MS_SHARED      (1<<20)
+#define MS_RELATIME    (1<<21)
+#define MS_KERNMOUNT   (1<<22)
+#define MS_I_VERSION   (1<<23)
+#define MS_STRICTATIME (1<<24)
+#define MS_NOSEC       (1<<28)
+#define MS_BORN        (1<<29)
+#define MS_ACTIVE      (1<<30)
+#define MS_NOUSER      (1U<<31)
+
+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)
 
 #define MS_MGC_VAL 0xc0ed0000
+#define MS_MGC_MSK 0xffff0000
 
-#define MNT_FORCE 1
+#define MNT_FORCE       1
+#define MNT_DETACH      2
+#define MNT_EXPIRE      4
+#define UMOUNT_NOFOLLOW 8
 
 int mount(const char *, const char *, const char *, unsigned long, const void *);
 int umount(const char *);