diff options
author | jlemon <jlemon@FreeBSD.org> | 2001-02-16 14:42:11 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2001-02-16 14:42:11 +0000 |
commit | 065a73369e7e9928b0d617ca8787a109245552e2 (patch) | |
tree | 27a55687c63b9b43bba2b369cc417272006db376 /sys/i386/linux | |
parent | c7ba1f9694fa8b0335305d6b36f179a03a55fee9 (diff) | |
download | FreeBSD-src-065a73369e7e9928b0d617ca8787a109245552e2.zip FreeBSD-src-065a73369e7e9928b0d617ca8787a109245552e2.tar.gz |
Add mount syscall to linux emulation. Also improve emulation of reboot.
Diffstat (limited to 'sys/i386/linux')
-rw-r--r-- | sys/i386/linux/linux.h | 9 | ||||
-rw-r--r-- | sys/i386/linux/syscalls.master | 10 |
2 files changed, 15 insertions, 4 deletions
diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 8aff68a..88371d4 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -406,6 +406,15 @@ int linux_ioctl_unregister_handlers(struct linker_set *s); #define LINUX_F_UNLCK 2 /* + * mount flags + */ +#define LINUX_MS_RDONLY 0x0001 +#define LINUX_MS_NOSUID 0x0002 +#define LINUX_MS_NODEV 0x0004 +#define LINUX_MS_NOEXEC 0x0008 +#define LINUX_MS_REMOUNT 0x0020 + +/* * SystemV IPC defines */ #define LINUX_SEMOP 1 diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index e5c8e36..c81a746 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -54,8 +54,10 @@ 18 STD LINUX { int linux_stat(char *path, struct ostat *up); } 19 STD LINUX { int linux_lseek(int fdes, long off, int whence); } 20 NOPROTO LINUX { int getpid(void); } -21 STD LINUX { int linux_mount(void); } -22 STD LINUX { int linux_umount(void); } +21 STD LINUX { int linux_mount(char *specialfile, char *dir, \ + char *filesystemtype, u_long rwflag, \ + void *data); } +22 STD LINUX { int linux_umount(char *path); } 23 NOPROTO LINUX { int setuid(uid_t uid); } 24 NOPROTO LINUX { int getuid(void); } 25 STD LINUX { int linux_stime(void); } @@ -86,7 +88,7 @@ 49 NOPROTO LINUX { int geteuid(void); } 50 NOPROTO LINUX { int getegid(void); } 51 NOPROTO LINUX { int acct(char *path); } -52 STD LINUX { int linux_umount2(void); } +52 STD LINUX { int linux_umount2(char *path, int flags); } 53 STD LINUX { int linux_lock(void); } 54 STD LINUX { int linux_ioctl(int fd, u_long cmd, int arg); } 55 STD LINUX { int linux_fcntl(int fd, int cmd, int arg); } @@ -135,7 +137,7 @@ int count); } 86 STD LINUX { int linux_uselib(char *library); } 87 NOPROTO LINUX { int swapon(char *name); } -88 NOPROTO LINUX { int reboot(int opt); } +88 STD LINUX { int linux_reboot(int magic1, int magic2, int opt); } 89 STD LINUX { int linux_readdir(int fd, \ struct linux_dirent *dent, \ unsigned int count); } |