diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-27 10:09:16 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-27 11:59:15 -0600 |
commit | 7fbb24afaac9c89c98db89f7773ce82c919c520c (patch) | |
tree | 7da9824aab58da9394aa4b9bc7996d649222c72c /tun/wintun/iphlpapi/conversion_windows.go | |
parent | d9008ac35cc9eff988680895a81445ad6b049d65 (diff) |
wintun: rename duplicate adapters instead of ourselves
Diffstat (limited to 'tun/wintun/iphlpapi/conversion_windows.go')
-rw-r--r-- | tun/wintun/iphlpapi/conversion_windows.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tun/wintun/iphlpapi/conversion_windows.go b/tun/wintun/iphlpapi/conversion_windows.go new file mode 100644 index 0000000..a19e961 --- /dev/null +++ b/tun/wintun/iphlpapi/conversion_windows.go @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: MIT + * + * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. + */ + +package iphlpapi + +import "golang.org/x/sys/windows" + +//sys convertInterfaceLUIDToGUID(interfaceLUID *uint64, interfaceGUID *windows.GUID) (ret error) = iphlpapi.ConvertInterfaceLuidToGuid +//sys convertInterfaceAliasToLUID(interfaceAlias *uint16, interfaceLUID *uint64) (ret error) = iphlpapi.ConvertInterfaceAliasToLuid + +func InterfaceGUIDFromAlias(alias string) (*windows.GUID, error) { + var luid uint64 + var guid windows.GUID + err := convertInterfaceAliasToLUID(windows.StringToUTF16Ptr(alias), &luid) + if err != nil { + return nil, err + } + err = convertInterfaceLUIDToGUID(&luid, &guid) + if err != nil { + return nil, err + } + return &guid, nil +} |