diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-08-09 22:38:35 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-08-10 02:30:33 +0200 |
commit | 747f5d07fbf14c76c9b43e91a7f81f1cab5edc51 (patch) | |
tree | a7b1e8748dc3ed2122ee4e812e4c9de91b071c3f /embeddable-dll-service/csharp/TunnelDll/Win32.cs | |
parent | embeddable-dll-service: use wgnt always (diff) | |
download | wireguard-windows-747f5d07fbf14c76c9b43e91a7f81f1cab5edc51.tar.xz wireguard-windows-747f5d07fbf14c76c9b43e91a7f81f1cab5edc51.zip |
embeddable-dll-service: csharp: update for wgnt
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | embeddable-dll-service/csharp/TunnelDll/Win32.cs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/embeddable-dll-service/csharp/TunnelDll/Win32.cs b/embeddable-dll-service/csharp/TunnelDll/Win32.cs index d8447f7f..4987fe8f 100644 --- a/embeddable-dll-service/csharp/TunnelDll/Win32.cs +++ b/embeddable-dll-service/csharp/TunnelDll/Win32.cs @@ -135,6 +135,58 @@ namespace Tunnel SidInfo = 5 } + [StructLayout(LayoutKind.Sequential)] + public unsafe struct IN_ADDR + { + public fixed byte bytes[4]; + } + + [StructLayout(LayoutKind.Sequential)] + public unsafe struct IN6_ADDR + { + public fixed byte bytes[16]; + } + + [StructLayout(LayoutKind.Sequential)] + public struct SOCKADDR_IN + { + public ushort sin_family; + public ushort sin_port; + public IN_ADDR sin_addr; + } + + [StructLayout(LayoutKind.Sequential)] + public struct SOCKADDR_IN6 + { + public ushort sin6_family; + public ushort sin6_port; + public uint sin6_flowinfo; + public IN6_ADDR sin6_addr; + public uint sin6_scope_id; + } + + [StructLayout(LayoutKind.Explicit)] + public struct SOCKADDR_INET + { + [FieldOffset(0)] + [MarshalAs(UnmanagedType.Struct)] + public SOCKADDR_IN Ipv4; + + [FieldOffset(0)] + [MarshalAs(UnmanagedType.Struct)] + public SOCKADDR_IN6 Ipv6; + + [FieldOffset(0)] + public ADDRESS_FAMILY si_family; + } + + public enum ADDRESS_FAMILY : UInt32 + { + AF_UNSPEC = 0, + AF_INET = 2, + AF_INET6 = 23 + } + [DllImport("advapi32.dll", EntryPoint = "OpenSCManagerW", ExactSpelling = true, CharSet = CharSet.Unicode, SetLastError = true)] public static extern IntPtr OpenSCManager(string machineName, string databaseName, ScmAccessRights dwDesiredAccess); |