|
@@ -2,6 +2,7 @@
|
|
|
* Copyright (c) 2021-2022, Andreas Kling <kling@serenityos.org>
|
|
|
* Copyright (c) 2021, Kenneth Myhra <kennethmyhra@gmail.com>
|
|
|
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
|
|
|
+ * Copyright (c) 2022, Matthias Zimmerman <matthias291999@gmail.com>
|
|
|
*
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
*/
|
|
@@ -15,6 +16,7 @@
|
|
|
#include <sys/ioctl.h>
|
|
|
#include <sys/mman.h>
|
|
|
#include <sys/ptrace.h>
|
|
|
+#include <sys/time.h>
|
|
|
#include <termios.h>
|
|
|
#include <unistd.h>
|
|
|
|
|
@@ -741,6 +743,18 @@ ErrorOr<struct utsname> uname()
|
|
|
return uts;
|
|
|
}
|
|
|
|
|
|
+ErrorOr<void> adjtime(const struct timeval* delta, struct timeval* old_delta)
|
|
|
+{
|
|
|
+#ifdef __serenity__
|
|
|
+ int rc = syscall(SC_adjtime, delta, old_delta);
|
|
|
+ HANDLE_SYSCALL_RETURN_VALUE("adjtime"sv, rc, {});
|
|
|
+#else
|
|
|
+ if (::adjtime(delta, old_delta) < 0)
|
|
|
+ return Error::from_syscall("adjtime"sv, -errno);
|
|
|
+ return {};
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
ErrorOr<int> socket(int domain, int type, int protocol)
|
|
|
{
|
|
|
auto fd = ::socket(domain, type, protocol);
|