mirror of
https://github.com/sheumann/hush.git
synced 2024-09-12 00:55:11 +00:00
Argh. More cross libc cleanup. Should be ok now...
-Erik
This commit is contained in:
parent
2cd439f7f0
commit
a57ba4db64
26
mount.c
26
mount.c
@ -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[] =
|
||||
|
23
umount.c
23
umount.c
@ -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);
|
||||
|
||||
|
||||
|
||||
|
@ -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[] =
|
||||
|
@ -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);
|
||||
|
||||
|
||||
|
||||
|
17
utility.c
17
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)
|
||||
|
Loading…
Reference in New Issue
Block a user