diff options
| author | Luke Huang <huangluke@google.com> | 2018-08-08 13:13:04 +0800 |
|---|---|---|
| committer | Luke Huang <huangluke@google.com> | 2018-11-01 11:01:23 +0900 |
| commit | f778204a792f6955cabcaf3220cff85b69d3c0b6 (patch) | |
| tree | a3c7f1d96f04ab14fc5696b991e52f022cd0784f /libnetdutils/Syscalls.cpp | |
| parent | 5ae615416cb8dedcb7bd1157f58d012c3535ed11 (diff) | |
| download | platform_system_netd-f778204a792f6955cabcaf3220cff85b69d3c0b6.tar.gz platform_system_netd-f778204a792f6955cabcaf3220cff85b69d3c0b6.tar.bz2 platform_system_netd-f778204a792f6955cabcaf3220cff85b69d3c0b6.zip | |
Interface-related commands porting
Test: built, flashed, booted
system/netd/tests/runtests.sh passes
Change-Id: Ief3b2a0a55b74db0a794f3f9ca58298a2fcb57dd
Diffstat (limited to 'libnetdutils/Syscalls.cpp')
| -rw-r--r-- | libnetdutils/Syscalls.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libnetdutils/Syscalls.cpp b/libnetdutils/Syscalls.cpp index ac5fef2d3..9f653f70c 100644 --- a/libnetdutils/Syscalls.cpp +++ b/libnetdutils/Syscalls.cpp @@ -14,12 +14,12 @@ * limitations under the License. */ +#include "netdutils/Syscalls.h" + #include <atomic> #include <type_traits> #include <utility> -#include "netdutils/Syscalls.h" - namespace android { namespace netdutils { namespace { @@ -99,6 +99,14 @@ class RealSyscalls final : public Syscalls { return status::ok; } + StatusOr<ifreq> ioctl(Fd sock, unsigned long request, ifreq* ifr) const override { + auto rv = ::ioctl(sock.get(), request, ifr); + if (rv == -1) { + return statusFromErrno(errno, "ioctl() failed"); + } + return *ifr; + } + StatusOr<UniqueFd> eventfd(unsigned int initval, int flags) const override { UniqueFd fd(::eventfd(initval, flags)); if (!isWellFormed(fd)) { |
