summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-11-12 20:50:03 +0000
committerEric Andersen <andersen@codepoet.org>2003-11-12 20:50:03 +0000
commit0de9c08b6c58ec248ed8a00e477bdc44dc10716e (patch)
treead23c496ea204877769ad46a23f4eb33eb0db4f0 /libc/sysdeps/linux/common
parentd1990393836764c4589d64581b57e3816e80829b (diff)
Add support for missing ntp_gettime and ntp_adjtime
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/Makefile2
-rw-r--r--libc/sysdeps/linux/common/ntp_gettime.c32
-rw-r--r--libc/sysdeps/linux/common/syscalls.c1
3 files changed, 34 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile
index 98d119a6a..cfd95300f 100644
--- a/libc/sysdeps/linux/common/Makefile
+++ b/libc/sysdeps/linux/common/Makefile
@@ -26,7 +26,7 @@ CSRC= waitpid.c getdnnm.c gethstnm.c getcwd.c ptrace.c \
truncate64.c getrlimit64.c setrlimit64.c creat64.c \
llseek.c pread_write.c _exit.c sync.c getdirname.c \
sendfile64.c xstatconv.c getdents.c getdents64.c vfork.c \
- ulimit.c
+ ulimit.c ntp_gettime.c
ifneq ($(strip $(EXCLUDE_BRK)),y)
CSRC+=sbrk.c
endif
diff --git a/libc/sysdeps/linux/common/ntp_gettime.c b/libc/sysdeps/linux/common/ntp_gettime.c
new file mode 100644
index 000000000..07f380402
--- /dev/null
+++ b/libc/sysdeps/linux/common/ntp_gettime.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <sys/timex.h>
+
+int ntp_gettime(struct ntptimeval *ntv)
+{
+ struct timex tntx;
+ int result;
+
+ tntx.modes = 0;
+ result = __adjtimex(&tntx);
+ ntv->time = tntx.time;
+ ntv->maxerror = tntx.maxerror;
+ ntv->esterror = tntx.esterror;
+ return result;
+}
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index 4bb40e3ab..0f1b29152 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -1413,6 +1413,7 @@ weak_alias(modify_ldt, __modify_ldt);
#include <sys/timex.h>
_syscall1(int, adjtimex, struct timex *, buf);
weak_alias(adjtimex, __adjtimex);
+weak_alias(adjtimex, ntp_adjtime);
#endif
//#define __NR_mprotect 125