move libc related stuff out of platform.h

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c
index 514b5d7..4416408 100644
--- a/util-linux/fdisk.c
+++ b/util-linux/fdisk.c
@@ -12,6 +12,10 @@
 #define _LARGEFILE64_SOURCE
 #endif
 #include <assert.h>             /* assert */
+#include <sys/mount.h>
+#if !defined(BLKSSZGET)
+# define BLKSSZGET _IO(0x12, 104)
+#endif
 #include "libbb.h"
 
 /* Looks like someone forgot to add this to config system */
diff --git a/util-linux/freeramdisk.c b/util-linux/freeramdisk.c
index bde6afc..6b9d95e 100644
--- a/util-linux/freeramdisk.c
+++ b/util-linux/freeramdisk.c
@@ -8,7 +8,7 @@
  *
  * Licensed under GPLv2, see file LICENSE in this tarball for details.
  */
-
+#include <sys/mount.h>
 #include "libbb.h"
 
 /* From <linux/fd.h> */
diff --git a/util-linux/mkfs_vfat.c b/util-linux/mkfs_vfat.c
index 8c6078d..8d12bab 100644
--- a/util-linux/mkfs_vfat.c
+++ b/util-linux/mkfs_vfat.c
@@ -7,12 +7,15 @@
  *
  * Licensed under GPLv2, see file LICENSE in this tarball for details.
  */
-#include "libbb.h"
-#include "volume_id/volume_id_internal.h"
-
 #include <linux/hdreg.h> /* HDIO_GETGEO */
 #include <linux/fd.h>    /* FDGETPRM */
+#include <sys/mount.h>   /* BLKSSZGET */
+#if !defined(BLKSSZGET)
+# define BLKSSZGET _IO(0x12, 104)
+#endif
 //#include <linux/msdos_fs.h>
+#include "libbb.h"
+#include "volume_id/volume_id_internal.h"
 
 #define SECTOR_SIZE             512
 
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 72dabd8..56c32e1 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -8,7 +8,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
-
 // Design notes: There is no spec for mount.  Remind me to write one.
 //
 // mount_main() calls singlemount() which calls mount_it_now().
@@ -17,9 +16,37 @@
 // singlemount() can loop through /etc/filesystems for fstype detection.
 // mount_it_now() does the actual mount.
 //
-
 #include <mntent.h>
 #include <syslog.h>
+#include <sys/mount.h>
+#ifndef MS_BIND
+# define MS_BIND        (1 << 12)
+#endif
+#ifndef MS_MOVE
+# define MS_MOVE        (1 << 13)
+#endif
+#ifndef MS_RECURSIVE
+# define MS_RECURSIVE   (1 << 14)
+#endif
+#ifndef MS_SILENT
+# define MS_SILENT      (1 << 15)
+#endif
+/* The shared subtree stuff, which went in around 2.6.15. */
+#ifndef MS_UNBINDABLE
+# define MS_UNBINDABLE  (1 << 17)
+#endif
+#ifndef MS_PRIVATE
+# define MS_PRIVATE     (1 << 18)
+#endif
+#ifndef MS_SLAVE
+# define MS_SLAVE       (1 << 19)
+#endif
+#ifndef MS_SHARED
+# define MS_SHARED      (1 << 20)
+#endif
+#ifndef MS_RELATIME
+# define MS_RELATIME    (1 << 21)
+#endif
 #include "libbb.h"
 
 #if ENABLE_FEATURE_MOUNT_LABEL
diff --git a/util-linux/switch_root.c b/util-linux/switch_root.c
index 0f00b60..ff05518 100644
--- a/util-linux/switch_root.c
+++ b/util-linux/switch_root.c
@@ -5,18 +5,16 @@
  *
  * Licensed under GPL version 2, see file LICENSE in this tarball for details.
  */
-#include "libbb.h"
 #include <sys/vfs.h>
-
+#include <sys/mount.h>
+#include "libbb.h"
 // Make up for header deficiencies
 #ifndef RAMFS_MAGIC
 # define RAMFS_MAGIC ((unsigned)0x858458f6)
 #endif
-
 #ifndef TMPFS_MAGIC
 # define TMPFS_MAGIC ((unsigned)0x01021994)
 #endif
-
 #ifndef MS_MOVE
 # define MS_MOVE     8192
 #endif
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 5b22bfa..a4b2bd0 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -7,8 +7,37 @@
  *
  * Licensed under GPL version 2, see file LICENSE in this tarball for details.
  */
-
 #include <mntent.h>
+#include <sys/mount.h>
+/* Make sure we have all the new mount flags we actually try to use. */
+#ifndef MS_BIND
+# define MS_BIND        (1 << 12)
+#endif
+#ifndef MS_MOVE
+# define MS_MOVE        (1 << 13)
+#endif
+#ifndef MS_RECURSIVE
+# define MS_RECURSIVE   (1 << 14)
+#endif
+#ifndef MS_SILENT
+# define MS_SILENT      (1 << 15)
+#endif
+/* The shared subtree stuff, which went in around 2.6.15. */
+#ifndef MS_UNBINDABLE
+# define MS_UNBINDABLE  (1 << 17)
+#endif
+#ifndef MS_PRIVATE
+# define MS_PRIVATE     (1 << 18)
+#endif
+#ifndef MS_SLAVE
+# define MS_SLAVE       (1 << 19)
+#endif
+#ifndef MS_SHARED
+# define MS_SHARED      (1 << 20)
+#endif
+#ifndef MS_RELATIME
+# define MS_RELATIME    (1 << 21)
+#endif
 #include "libbb.h"
 
 #if defined(__dietlibc__)
diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c
index a1786df..0686a07 100644
--- a/util-linux/volume_id/get_devname.c
+++ b/util-linux/volume_id/get_devname.c
@@ -7,11 +7,12 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
-
+#include <sys/mount.h> /* BLKGETSIZE64 */
+#if !defined(BLKGETSIZE64)
+# define BLKGETSIZE64 _IOR(0x12,114,size_t)
+#endif
 #include "volume_id_internal.h"
 
-//#define BLKGETSIZE64 _IOR(0x12,114,size_t)
-
 static struct uuidCache_s {
 	struct uuidCache_s *next;
 //	int major, minor;