#include "internal.h"
#include <stdio.h>
-#include <sys/mount.h>
#include <mntent.h>
#include <errno.h>
+#include <linux/unistd.h>
+
+
+//#include <sys/mount.h>
+/* 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);
+#define MNT_FORCE 1
+#define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */
+#define MS_REMOUNT 32 /* Alter flags of a mounted FS. */
+#define MS_RDONLY 1 /* Mount read-only. */
static const char umount_usage[] =
- "umount [flags] filesystem|directory\n\n"
- "Flags:\n" "\t-a:\tUnmount all file systems"
+ "umount [flags] filesystem|directory\n"
+#ifndef BB_FEATURE_TRIVIAL_HELP
+ "Unmount file systems\n"
+ "\nFlags:\n" "\t-a:\tUnmount all file systems"
#ifdef BB_MTAB
" in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n"
#else
#if defined BB_FEATURE_MOUNT_LOOP
"\t-l:\tDo not free loop device (if a loop device has been used)\n"
#endif
+#endif
;
struct _mtab_entry_t {
}
if (do_umount(*argv, useMtab) == 0)
exit(TRUE);
- else {
- perror("umount");
- exit(FALSE);
- }
+ perror("umount");
+ return(FALSE);
}