From 07b388eecb0861e04dd8280681033d961b5d7fc0 Mon Sep 17 00:00:00 2001 From: Nathan Sashihara <21227491+n8sh@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:58:06 -0400 Subject: [PATCH] Update tanya.net.iface to work on Windows Needed because 0fcc83d00eb9d0699167bf105d522e7d23a44d32 removed tanya.sys.windows.ifdef and tanya.sys.windows.iphlpapi. --- source/tanya/net/iface.d | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/source/tanya/net/iface.d b/source/tanya/net/iface.d index 8e2675a..3bc165a 100644 --- a/source/tanya/net/iface.d +++ b/source/tanya/net/iface.d @@ -22,8 +22,22 @@ import tanya.range; version (Windows) { - import tanya.sys.windows.ifdef; - import tanya.sys.windows.iphlpapi; + private union NET_LUID_LH { ulong Value, Info; } + private alias NET_LUID = NET_LUID_LH; + private alias NET_IFINDEX = uint; + private enum IF_MAX_STRING_SIZE = 256; + extern(Windows) @nogc nothrow private @system + { + uint ConvertInterfaceNameToLuidA(const(char)* InterfaceName, + NET_LUID* InterfaceLuid); + uint ConvertInterfaceLuidToIndex(const(NET_LUID)* InterfaceLuid, + NET_IFINDEX* InterfaceIndex); + uint ConvertInterfaceIndexToLuid(NET_IFINDEX InterfaceIndex, + NET_LUID* InterfaceLuid); + uint ConvertInterfaceLuidToNameA(const(NET_LUID)* InterfaceLuid, + char* InterfaceName, + size_t Length); + } } else version (Posix) {