示例#1
0
 internal NetworkInterface(uv_interface_address_t *iface)
 {
     Name = Marshal.PtrToStringAnsi(iface->name);
     Internal = iface->is_internal != 0;
     Address = UV.GetIPEndPoint((IntPtr)(((IntPtr)iface).ToInt64() + sizeof(IntPtr) + sizeof(int))).Address;
 }
示例#2
0
		internal NetworkInterface(uv_interface_address_t *iface)
		{
			Name = Marshal.PtrToStringAnsi(iface->name);
			Internal = iface->is_internal != 0;
			byte[] phys_addr = new byte[6];
			for (int i = 0; i < phys_addr.Length; i++) {
				phys_addr[i] = iface->phys_addr[i];
			}
			PhysicalAddress = new PhysicalAddress(phys_addr);
			Address = UV.GetIPEndPoint(new IntPtr(&iface->sockaddr), false).Address;
			Netmask = UV.GetIPEndPoint(new IntPtr(&iface->netmask), false).Address;
		}