#include "internal.h"
#include <stdio.h>
-#include <sys/mount.h>
#include <mntent.h>
#include <errno.h>
+#define MNT_FORCE 1
+#define MS_MGC_VAL 0xc0ed0000 /* Magic number indicatng "new" flags */
+#define MS_REMOUNT 32 /* Alter flags of a mounted FS. */
+#define MS_RDONLY 1 /* Mount read-only. */
+
+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);
+
+
+
static const char umount_usage[] =
"umount [flags] filesystem|directory\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
if (status != 0 && doForce == TRUE) {
status = umount2(blockDevice, MNT_FORCE);
if (status != 0) {
- fatalError("umount: forced umount of %s failed!\n", blockDevice);
+ fatalError("forced umount of %s failed!\n", blockDevice);
}
}
#endif
}
if (do_umount(*argv, useMtab) == 0)
exit(TRUE);
- else {
- perror("umount");
- exit(FALSE);
- }
+ perror("umount");
+ return(FALSE);
}