Argh. More cross libc cleanup. Should be ok now...
authorEric Andersen <andersen@codepoet.org>
Sat, 8 Jul 2000 19:20:49 +0000 (19:20 -0000)
committerEric Andersen <andersen@codepoet.org>
Sat, 8 Jul 2000 19:20:49 +0000 (19:20 -0000)
 -Erik

mount.c
umount.c
util-linux/mount.c
util-linux/umount.c
utility.c

diff --git a/mount.c b/mount.c
index 01e9b3d..72734ae 100644 (file)
--- a/mount.c
+++ b/mount.c
 #include <string.h>
 #include <stdio.h>
 #include <mntent.h>
-#include <sys/mount.h>
 #include <ctype.h>
 #if defined BB_FEATURE_USE_DEVPS_PATCH
 #include <linux/devmtab.h>
 #endif
 
-/* 2.0.x. kernels don't know about MS_NODIRATIME */
-#ifndef MS_NODIRATIME
+
+#define MS_MGC_VAL             0xc0ed0000 /* Magic number indicatng "new" flags */
+#define MS_RDONLY        1      /* Mount read-only */
+#define MS_NOSUID        2      /* Ignore suid and sgid bits */
+#define MS_NODEV         4      /* Disallow access to device special files */
+#define MS_NOEXEC        8      /* Disallow program execution */
+#define MS_SYNCHRONOUS  16      /* Writes are synced at once */
+#define MS_REMOUNT      32      /* Alter flags of a mounted FS */
+#define MS_MANDLOCK     64      /* Allow mandatory locks on an FS */
+#define S_QUOTA         128     /* Quota initialized for file/directory/symlink */
+#define S_APPEND        256     /* Append-only file */
+#define S_IMMUTABLE     512     /* Immutable file */
+#define MS_NOATIME      1024    /* Do not update access times. */
 #define MS_NODIRATIME   2048    /* Do not update directory access times */
-#endif
 
 
 
 #if defined BB_FEATURE_MOUNT_LOOP
 #include <fcntl.h>
 #include <sys/ioctl.h>
-
-
 static int use_loop = FALSE;
 #endif
 
+extern int mount (__const char *__special_file, __const char *__dir,
+                       __const char *__fstype, unsigned long int __rwflag,
+                       __const void *__data);
+extern int umount (__const char *__special_file);
+extern int umount2 (__const char *__special_file, int __flags);
+
+
 extern const char mtab_file[]; /* Defined in utility.c */
 
 static const char mount_usage[] = 
index 4f6edc2..fc9b466 100644 (file)
--- a/umount.c
+++ b/umount.c
 #include <stdio.h>
 #include <mntent.h>
 #include <errno.h>
-#include <linux/unistd.h>
 
 
-#ifndef MNT_FORCE
 #define MNT_FORCE              1
-#endif
-#ifndef MS_MGC_VAL
 #define MS_MGC_VAL             0xc0ed0000 /* Magic number indicatng "new" flags */
-#endif
-#ifndef MS_REMOUNT
 #define MS_REMOUNT             32      /* Alter flags of a mounted FS.  */
-#endif
-#ifndef MS_RDONLY
 #define MS_RDONLY              1       /* Mount read-only.  */
-#endif
-#ifndef __NR_umount2
-#define __NR_umount2           52
-#endif
 
-/* Include our own version of <sys/mount.h>, since libc5 doesn't
- * know about umount2 */
-static _syscall1(int, umount, const char *, special_file);
-static _syscall2(int, umount2, const char *, special_file, int, flags);
-static _syscall5(int, mount, const char *, special_file, const char *, dir,
-               const char *, fstype, unsigned long int, rwflag, const void *, data);
+extern int mount (__const char *__special_file, __const char *__dir,
+                       __const char *__fstype, unsigned long int __rwflag,
+                       __const void *__data);
+extern int umount (__const char *__special_file);
+extern int umount2 (__const char *__special_file, int __flags);
 
 
 
index 01e9b3d..72734ae 100644 (file)
 #include <string.h>
 #include <stdio.h>
 #include <mntent.h>
-#include <sys/mount.h>
 #include <ctype.h>
 #if defined BB_FEATURE_USE_DEVPS_PATCH
 #include <linux/devmtab.h>
 #endif
 
-/* 2.0.x. kernels don't know about MS_NODIRATIME */
-#ifndef MS_NODIRATIME
+
+#define MS_MGC_VAL             0xc0ed0000 /* Magic number indicatng "new" flags */
+#define MS_RDONLY        1      /* Mount read-only */
+#define MS_NOSUID        2      /* Ignore suid and sgid bits */
+#define MS_NODEV         4      /* Disallow access to device special files */
+#define MS_NOEXEC        8      /* Disallow program execution */
+#define MS_SYNCHRONOUS  16      /* Writes are synced at once */
+#define MS_REMOUNT      32      /* Alter flags of a mounted FS */
+#define MS_MANDLOCK     64      /* Allow mandatory locks on an FS */
+#define S_QUOTA         128     /* Quota initialized for file/directory/symlink */
+#define S_APPEND        256     /* Append-only file */
+#define S_IMMUTABLE     512     /* Immutable file */
+#define MS_NOATIME      1024    /* Do not update access times. */
 #define MS_NODIRATIME   2048    /* Do not update directory access times */
-#endif
 
 
 
 #if defined BB_FEATURE_MOUNT_LOOP
 #include <fcntl.h>
 #include <sys/ioctl.h>
-
-
 static int use_loop = FALSE;
 #endif
 
+extern int mount (__const char *__special_file, __const char *__dir,
+                       __const char *__fstype, unsigned long int __rwflag,
+                       __const void *__data);
+extern int umount (__const char *__special_file);
+extern int umount2 (__const char *__special_file, int __flags);
+
+
 extern const char mtab_file[]; /* Defined in utility.c */
 
 static const char mount_usage[] = 
index 4f6edc2..fc9b466 100644 (file)
 #include <stdio.h>
 #include <mntent.h>
 #include <errno.h>
-#include <linux/unistd.h>
 
 
-#ifndef MNT_FORCE
 #define MNT_FORCE              1
-#endif
-#ifndef MS_MGC_VAL
 #define MS_MGC_VAL             0xc0ed0000 /* Magic number indicatng "new" flags */
-#endif
-#ifndef MS_REMOUNT
 #define MS_REMOUNT             32      /* Alter flags of a mounted FS.  */
-#endif
-#ifndef MS_RDONLY
 #define MS_RDONLY              1       /* Mount read-only.  */
-#endif
-#ifndef __NR_umount2
-#define __NR_umount2           52
-#endif
 
-/* Include our own version of <sys/mount.h>, since libc5 doesn't
- * know about umount2 */
-static _syscall1(int, umount, const char *, special_file);
-static _syscall2(int, umount2, const char *, special_file, int, flags);
-static _syscall5(int, mount, const char *, special_file, const char *, dir,
-               const char *, fstype, unsigned long int, rwflag, const void *, data);
+extern int mount (__const char *__special_file, __const char *__dir,
+                       __const char *__fstype, unsigned long int __rwflag,
+                       __const void *__data);
+extern int umount (__const char *__special_file);
+extern int umount2 (__const char *__special_file, int __flags);
 
 
 
index 271b101..3dedc2c 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -80,7 +80,6 @@ const char mtab_file[] = "/dev/mtab";
 #  endif
 #endif
 
-
 extern void usage(const char *usage)
 {
        fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n",
@@ -139,6 +138,22 @@ extern int get_kernel_revision(void)
 _syscall1(int, sysinfo, struct sysinfo *, info);
 #endif                                                 /* BB_INIT */
 
+#if defined BB_MOUNT || defined BB_UMOUNT
+#include <sys/syscall.h>
+#include <linux/unistd.h>
+
+#ifndef __NR_umount2
+#define __NR_umount2           52
+#endif
+
+/* Include our own version of <sys/mount.h>, since libc5 doesn't
+ * know about umount2 */
+extern _syscall1(int, umount, const char *, special_file);
+extern _syscall2(int, umount2, const char *, special_file, int, flags);
+extern _syscall5(int, mount, const char *, special_file, const char *, dir,
+               const char *, fstype, unsigned long int, rwflag, const void *, data);
+#endif
+
 
 
 #if defined (BB_CP_MV) || defined (BB_DU)