Update tanya.net.iface to work on Windows

Needed because 0fcc83d00e removed
tanya.sys.windows.ifdef and tanya.sys.windows.iphlpapi.
This commit is contained in:
Nathan Sashihara 2023-09-22 15:58:06 -04:00
parent 90797a48be
commit 07b388eecb
1 changed files with 16 additions and 2 deletions

View File

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