aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorDoug Ambrisko <ambrisko@FreeBSD.org>2006-01-20 16:22:06 +0000
committerDoug Ambrisko <ambrisko@FreeBSD.org>2006-01-20 16:22:06 +0000
commit08a3081da8eb38b7153657224755756891a43a5d (patch)
tree7a618f9236f56fe9e818ceb6f8c28334ccebd2b3 /sys/compat
parent23350221ac46a086bb58daf99746f1d44fa21184 (diff)
Notes
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c21
-rw-r--r--sys/compat/freebsd32/syscalls.master4
2 files changed, 23 insertions, 2 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index feb03a52603a5..f2acf1a01944f 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -1221,6 +1221,27 @@ freebsd32_utimes(struct thread *td, struct freebsd32_utimes_args *uap)
}
int
+freebsd32_lutimes(struct thread *td, struct freebsd32_lutimes_args *uap)
+{
+ struct timeval32 s32[2];
+ struct timeval s[2], *sp;
+ int error;
+
+ if (uap->tptr != NULL) {
+ error = copyin(uap->tptr, s32, sizeof(s32));
+ if (error)
+ return (error);
+ CP(s32[0], s[0], tv_sec);
+ CP(s32[0], s[0], tv_usec);
+ CP(s32[1], s[1], tv_sec);
+ CP(s32[1], s[1], tv_usec);
+ sp = s;
+ } else
+ sp = NULL;
+ return (kern_lutimes(td, uap->path, UIO_USERSPACE, sp, UIO_SYSSPACE));
+}
+
+int
freebsd32_futimes(struct thread *td, struct freebsd32_futimes_args *uap)
{
struct timeval32 s32[2];
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index 16449b92f32d1..333615921b90e 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -476,8 +476,8 @@
275 AUE_NULL MNOPROTO { int lchown(char *path, uid_t uid, \
gid_t gid); } netbsd_lchown \
lchown_args int
-276 AUE_NULL MNOPROTO { int lutimes(char *path, \
- struct timeval *tptr); }
+276 AUE_NULL MSTD { int freebsd32_lutimes(char *path, \
+ struct timeval32 *tptr); }
277 AUE_NULL MNOPROTO { int msync(void *addr, size_t len, \
int flags); } netbsd_msync msync_args int
278 AUE_NULL MNOPROTO { int nstat(char *path, struct nstat *ub); }