summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/i386/linux/linux_dummy.c2
-rw-r--r--sys/i386/linux/linux_file.c28
-rw-r--r--sys/i386/linux/linux_proto.h12
-rw-r--r--sys/i386/linux/linux_syscall.h2
-rw-r--r--sys/i386/linux/linux_sysent.c6
5 files changed, 41 insertions, 9 deletions
diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c
index 7cdac161d439..25615fd3ff0b 100644
--- a/sys/i386/linux/linux_dummy.c
+++ b/sys/i386/linux/linux_dummy.c
@@ -96,8 +96,6 @@ DUMMY(rt_sigreturn);
DUMMY(rt_sigpending);
DUMMY(rt_sigtimedwait);
DUMMY(rt_sigqueueinfo);
-DUMMY(pread);
-DUMMY(pwrite);
DUMMY(capget);
DUMMY(capset);
DUMMY(sendfile);
diff --git a/sys/i386/linux/linux_file.c b/sys/i386/linux/linux_file.c
index 90d82c2d3295..2cb2303629ce 100644
--- a/sys/i386/linux/linux_file.c
+++ b/sys/i386/linux/linux_file.c
@@ -849,3 +849,31 @@ linux_fdatasync(p, uap)
bsd.fd = uap->fd;
return fsync(p, &bsd);
}
+
+int
+linux_pread(p, uap)
+ struct proc *p;
+ struct linux_pread_args *uap;
+{
+ struct pread_args bsd;
+
+ bsd.fd = uap->fd;
+ bsd.buf = uap->buf;
+ bsd.nbyte = uap->nbyte;
+ bsd.offset = uap->offset;
+ return pread(p, &bsd);
+}
+
+int
+linux_pwrite(p, uap)
+ struct proc *p;
+ struct linux_pwrite_args *uap;
+{
+ struct pwrite_args bsd;
+
+ bsd.fd = uap->fd;
+ bsd.buf = uap->buf;
+ bsd.nbyte = uap->nbyte;
+ bsd.offset = uap->offset;
+ return pwrite(p, &bsd);
+}
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h
index 1cda60b87fa3..594abf8b90f5 100644
--- a/sys/i386/linux/linux_proto.h
+++ b/sys/i386/linux/linux_proto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.1 2000/07/07 01:18:21 obrien Exp
+ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.2 2000/07/19 21:11:10 marcel Exp
*/
#ifndef _LINUX_SYSPROTO_H_
@@ -480,10 +480,16 @@ struct linux_rt_sigsuspend_args {
size_t sigsetsize; char sigsetsize_[PAD_(size_t)];
};
struct linux_pread_args {
- register_t dummy;
+ int fd; char fd_[PAD_(int)];
+ char * buf; char buf_[PAD_(char *)];
+ size_t nbyte; char nbyte_[PAD_(size_t)];
+ off_t offset; char offset_[PAD_(off_t)];
};
struct linux_pwrite_args {
- register_t dummy;
+ int fd; char fd_[PAD_(int)];
+ const char * buf; char buf_[PAD_(const char *)];
+ size_t nbyte; char nbyte_[PAD_(size_t)];
+ off_t offset; char offset_[PAD_(off_t)];
};
struct linux_chown_args {
char * path; char path_[PAD_(char *)];
diff --git a/sys/i386/linux/linux_syscall.h b/sys/i386/linux/linux_syscall.h
index 9ef1a341fdbd..df82255e37d6 100644
--- a/sys/i386/linux/linux_syscall.h
+++ b/sys/i386/linux/linux_syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.1 2000/07/07 01:18:21 obrien Exp
+ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.2 2000/07/19 21:11:10 marcel Exp
*/
#define LINUX_SYS_linux_setup 0
diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c
index 91b4b6f96fc5..3e5484081365 100644
--- a/sys/i386/linux/linux_sysent.c
+++ b/sys/i386/linux/linux_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.1 2000/07/07 01:18:21 obrien Exp
+ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.2 2000/07/19 21:11:10 marcel Exp
*/
#include "opt_compat.h"
@@ -195,8 +195,8 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)linux_rt_sigtimedwait }, /* 177 = linux_rt_sigtimedwait */
{ 0, (sy_call_t *)linux_rt_sigqueueinfo }, /* 178 = linux_rt_sigqueueinfo */
{ 2, (sy_call_t *)linux_rt_sigsuspend }, /* 179 = linux_rt_sigsuspend */
- { 0, (sy_call_t *)linux_pread }, /* 180 = linux_pread */
- { 0, (sy_call_t *)linux_pwrite }, /* 181 = linux_pwrite */
+ { 5, (sy_call_t *)linux_pread }, /* 180 = linux_pread */
+ { 5, (sy_call_t *)linux_pwrite }, /* 181 = linux_pwrite */
{ 3, (sy_call_t *)linux_chown }, /* 182 = linux_chown */
{ 2, (sy_call_t *)linux_getcwd }, /* 183 = linux_getcwd */
{ 0, (sy_call_t *)linux_capget }, /* 184 = linux_capget */