* map.h, map.c: Flush; add new ST_NOEXEC, ST_REMOUNT, and ST_BIND MountFlags
authorJonathan Pryor <jpryor@novell.com>
Sat, 5 Jan 2008 12:31:40 +0000 (12:31 -0000)
committerJonathan Pryor <jpryor@novell.com>
Sat, 5 Jan 2008 12:31:40 +0000 (12:31 -0000)
  enumeration values.

svn path=/trunk/mono/; revision=92275

support/ChangeLog
support/map.c
support/map.h

index 5c0aca4ea97b187078174a070a8eb4e942298a9b..3ea48ffbf6ea4d2b3acf92b3ec584f8675a69037 100644 (file)
@@ -1,3 +1,8 @@
+2008-01-05  Jonathan Pryor  <jpryor@novell.com>
+
+       * map.h, map.c: Flush; add new ST_NOEXEC, ST_REMOUNT, and ST_BIND MountFlags 
+         enumeration values.
+
 2007-12-17  Jonathan Pryor  <jpryor@novell.com>
 
        * map.h: Flush; add Mono_Posix_Syscall__Utsname, Mono_Posix_Syscall_uname()
index 26795ed49669891b85684eac7c586022cd8e83e1..c4e56d64b5570eb89124e0a20cdc7e30f501ea64 100644 (file)
@@ -2902,6 +2902,12 @@ int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
 #else /* def ST_APPEND */
                {errno = EINVAL; return -1;}
 #endif /* ndef ST_APPEND */
+       if ((x & Mono_Posix_MountFlags_ST_BIND) == Mono_Posix_MountFlags_ST_BIND)
+#ifdef ST_BIND
+               *r |= ST_BIND;
+#else /* def ST_BIND */
+               {errno = EINVAL; return -1;}
+#endif /* ndef ST_BIND */
        if ((x & Mono_Posix_MountFlags_ST_IMMUTABLE) == Mono_Posix_MountFlags_ST_IMMUTABLE)
 #ifdef ST_IMMUTABLE
                *r |= ST_IMMUTABLE;
@@ -2932,6 +2938,12 @@ int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
 #else /* def ST_NODIRATIME */
                {errno = EINVAL; return -1;}
 #endif /* ndef ST_NODIRATIME */
+       if ((x & Mono_Posix_MountFlags_ST_NOEXEC) == Mono_Posix_MountFlags_ST_NOEXEC)
+#ifdef ST_NOEXEC
+               *r |= ST_NOEXEC;
+#else /* def ST_NOEXEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef ST_NOEXEC */
        if ((x & Mono_Posix_MountFlags_ST_NOSUID) == Mono_Posix_MountFlags_ST_NOSUID)
 #ifdef ST_NOSUID
                *r |= ST_NOSUID;
@@ -2944,6 +2956,12 @@ int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
 #else /* def ST_RDONLY */
                {errno = EINVAL; return -1;}
 #endif /* ndef ST_RDONLY */
+       if ((x & Mono_Posix_MountFlags_ST_REMOUNT) == Mono_Posix_MountFlags_ST_REMOUNT)
+#ifdef ST_REMOUNT
+               *r |= ST_REMOUNT;
+#else /* def ST_REMOUNT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef ST_REMOUNT */
        if ((x & Mono_Posix_MountFlags_ST_SYNCHRONOUS) == Mono_Posix_MountFlags_ST_SYNCHRONOUS)
 #ifdef ST_SYNCHRONOUS
                *r |= ST_SYNCHRONOUS;
@@ -2970,6 +2988,10 @@ int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
        if ((x & ST_APPEND) == ST_APPEND)
                *r |= Mono_Posix_MountFlags_ST_APPEND;
 #endif /* ndef ST_APPEND */
+#ifdef ST_BIND
+       if ((x & ST_BIND) == ST_BIND)
+               *r |= Mono_Posix_MountFlags_ST_BIND;
+#endif /* ndef ST_BIND */
 #ifdef ST_IMMUTABLE
        if ((x & ST_IMMUTABLE) == ST_IMMUTABLE)
                *r |= Mono_Posix_MountFlags_ST_IMMUTABLE;
@@ -2990,6 +3012,10 @@ int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
        if ((x & ST_NODIRATIME) == ST_NODIRATIME)
                *r |= Mono_Posix_MountFlags_ST_NODIRATIME;
 #endif /* ndef ST_NODIRATIME */
+#ifdef ST_NOEXEC
+       if ((x & ST_NOEXEC) == ST_NOEXEC)
+               *r |= Mono_Posix_MountFlags_ST_NOEXEC;
+#endif /* ndef ST_NOEXEC */
 #ifdef ST_NOSUID
        if ((x & ST_NOSUID) == ST_NOSUID)
                *r |= Mono_Posix_MountFlags_ST_NOSUID;
@@ -2998,6 +3024,10 @@ int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
        if ((x & ST_RDONLY) == ST_RDONLY)
                *r |= Mono_Posix_MountFlags_ST_RDONLY;
 #endif /* ndef ST_RDONLY */
+#ifdef ST_REMOUNT
+       if ((x & ST_REMOUNT) == ST_REMOUNT)
+               *r |= Mono_Posix_MountFlags_ST_REMOUNT;
+#endif /* ndef ST_REMOUNT */
 #ifdef ST_SYNCHRONOUS
        if ((x & ST_SYNCHRONOUS) == ST_SYNCHRONOUS)
                *r |= Mono_Posix_MountFlags_ST_SYNCHRONOUS;
index 179defe372bfd278dd1a625362ec59e2bc9201c5..ec9ee9521c9226da52f66280c2edc0e0ca54fac7 100644 (file)
@@ -578,6 +578,8 @@ int Mono_Posix_ToMmapProts (int x, int *r);
 enum Mono_Posix_MountFlags {
        Mono_Posix_MountFlags_ST_APPEND            = 0x0000000000000100,
        #define Mono_Posix_MountFlags_ST_APPEND      Mono_Posix_MountFlags_ST_APPEND
+       Mono_Posix_MountFlags_ST_BIND              = 0x0000000000001000,
+       #define Mono_Posix_MountFlags_ST_BIND        Mono_Posix_MountFlags_ST_BIND
        Mono_Posix_MountFlags_ST_IMMUTABLE         = 0x0000000000000200,
        #define Mono_Posix_MountFlags_ST_IMMUTABLE   Mono_Posix_MountFlags_ST_IMMUTABLE
        Mono_Posix_MountFlags_ST_MANDLOCK          = 0x0000000000000040,
@@ -588,10 +590,14 @@ enum Mono_Posix_MountFlags {
        #define Mono_Posix_MountFlags_ST_NODEV       Mono_Posix_MountFlags_ST_NODEV
        Mono_Posix_MountFlags_ST_NODIRATIME        = 0x0000000000000800,
        #define Mono_Posix_MountFlags_ST_NODIRATIME  Mono_Posix_MountFlags_ST_NODIRATIME
+       Mono_Posix_MountFlags_ST_NOEXEC            = 0x0000000000000008,
+       #define Mono_Posix_MountFlags_ST_NOEXEC      Mono_Posix_MountFlags_ST_NOEXEC
        Mono_Posix_MountFlags_ST_NOSUID            = 0x0000000000000002,
        #define Mono_Posix_MountFlags_ST_NOSUID      Mono_Posix_MountFlags_ST_NOSUID
        Mono_Posix_MountFlags_ST_RDONLY            = 0x0000000000000001,
        #define Mono_Posix_MountFlags_ST_RDONLY      Mono_Posix_MountFlags_ST_RDONLY
+       Mono_Posix_MountFlags_ST_REMOUNT           = 0x0000000000000020,
+       #define Mono_Posix_MountFlags_ST_REMOUNT     Mono_Posix_MountFlags_ST_REMOUNT
        Mono_Posix_MountFlags_ST_SYNCHRONOUS       = 0x0000000000000010,
        #define Mono_Posix_MountFlags_ST_SYNCHRONOUS Mono_Posix_MountFlags_ST_SYNCHRONOUS
        Mono_Posix_MountFlags_ST_WRITE             = 0x0000000000000080,