From 468ae105d87ff7f381565958444030a4f55729fc Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sun, 5 Dec 2021 01:45:27 +0200 Subject: [PATCH] Kernel+LibC: Stub out if_nameindex() and if_freenameindex() These should allow users to receive the names of network interfaces in the system, but for now these are only stubs required to compile some ports. --- Kernel/API/POSIX/net/if.h | 5 +++++ Userland/Libraries/LibC/net.cpp | 12 ++++++++++++ Userland/Libraries/LibC/net/if.h | 2 ++ 3 files changed, 19 insertions(+) diff --git a/Kernel/API/POSIX/net/if.h b/Kernel/API/POSIX/net/if.h index 9c63d9ff82..3a90a8ec33 100644 --- a/Kernel/API/POSIX/net/if.h +++ b/Kernel/API/POSIX/net/if.h @@ -79,6 +79,11 @@ struct ifreq { #define ifr_hwaddr ifr_ifru.ifru_hwaddr // MAC address }; +struct if_nameindex { + unsigned int if_index; + char* if_name; +}; + #ifdef __cplusplus } #endif diff --git a/Userland/Libraries/LibC/net.cpp b/Userland/Libraries/LibC/net.cpp index ff79a90171..145ef4b153 100644 --- a/Userland/Libraries/LibC/net.cpp +++ b/Userland/Libraries/LibC/net.cpp @@ -21,3 +21,15 @@ char* if_indextoname([[maybe_unused]] unsigned int ifindex, [[maybe_unused]] cha errno = ENXIO; return nullptr; } + +// https://pubs.opengroup.org/onlinepubs/9699919799/functions/if_nameindex.html +struct if_nameindex* if_nameindex() +{ + errno = ENOSYS; + return nullptr; +} + +// https://pubs.opengroup.org/onlinepubs/9699919799/functions/if_freenameindex.html +void if_freenameindex(struct if_nameindex*) +{ +} diff --git a/Userland/Libraries/LibC/net/if.h b/Userland/Libraries/LibC/net/if.h index ff32ea69fe..dd6a4ca97a 100644 --- a/Userland/Libraries/LibC/net/if.h +++ b/Userland/Libraries/LibC/net/if.h @@ -12,5 +12,7 @@ __BEGIN_DECLS unsigned int if_nametoindex(char const* ifname); char* if_indextoname(unsigned int ifindex, char* ifname); +struct if_nameindex* if_nameindex(); +void if_freenameindex(struct if_nameindex* ptr); __END_DECLS