1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:48:12 +00:00

LibCore: Add ErrorOr wrapper for adjtime

This commit is contained in:
mjz19910 2022-01-16 17:25:26 -07:00 committed by Andreas Kling
parent 5ac57db5e9
commit a9fb34ca6f
2 changed files with 16 additions and 0 deletions

View file

@ -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);