diff options
Diffstat (limited to 'Userland/Libraries')
-rw-r--r-- | Userland/Libraries/LibCore/System.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibCore/System.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Userland/Libraries/LibCore/System.cpp b/Userland/Libraries/LibCore/System.cpp index f29fb758ca..bbc1a08684 100644 --- a/Userland/Libraries/LibCore/System.cpp +++ b/Userland/Libraries/LibCore/System.cpp @@ -352,6 +352,14 @@ ErrorOr<String> gethostname() return String(&hostname[0]); } +ErrorOr<void> sethostname(StringView hostname) +{ + int rc = ::sethostname(hostname.characters_without_null_termination(), hostname.length()); + if (rc < 0) + return Error::from_syscall("sethostname"sv, -errno); + return {}; +} + ErrorOr<String> getcwd() { auto* cwd = ::getcwd(nullptr, 0); diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h index 7cf6027d53..1ade033c6a 100644 --- a/Userland/Libraries/LibCore/System.h +++ b/Userland/Libraries/LibCore/System.h @@ -9,6 +9,7 @@ #pragma once #include <AK/Error.h> +#include <AK/StringView.h> #include <fcntl.h> #include <grp.h> #include <pwd.h> @@ -72,6 +73,7 @@ ErrorOr<int> dup(int source_fd); ErrorOr<int> dup2(int source_fd, int destination_fd); ErrorOr<String> ptsname(int fd); ErrorOr<String> gethostname(); +ErrorOr<void> sethostname(StringView); ErrorOr<String> getcwd(); ErrorOr<void> ioctl(int fd, unsigned request, ...); ErrorOr<struct termios> tcgetattr(int fd); |