summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-02-16 14:42:11 +0000
committerjlemon <jlemon@FreeBSD.org>2001-02-16 14:42:11 +0000
commit065a73369e7e9928b0d617ca8787a109245552e2 (patch)
tree27a55687c63b9b43bba2b369cc417272006db376 /sys/i386/linux
parentc7ba1f9694fa8b0335305d6b36f179a03a55fee9 (diff)
downloadFreeBSD-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.h9
-rw-r--r--sys/i386/linux/syscalls.master10
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); }
OpenPOWER on IntegriCloud