Argh. More cross libc cleanup. Should be ok now...

-Erik
This commit is contained in:
Eric Andersen 2000-07-08 19:20:49 +00:00
parent 2cd439f7f0
commit a57ba4db64
5 changed files with 66 additions and 49 deletions

26
mount.c
View File

@ -43,27 +43,41 @@
#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[] =

View File

@ -26,31 +26,18 @@
#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);

View File

@ -43,27 +43,41 @@
#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[] =

View File

@ -26,31 +26,18 @@
#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);

View File

@ -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)