public static unsafe uint Ipv4AddressToString(byte[] address, StringBuilder buffer) { Debug.Assert(address != null); Debug.Assert(address.Length == IPAddressParser.IPv4AddressBytes); Debug.Assert(buffer != null); Debug.Assert(buffer.Capacity >= IPAddressParser.INET_ADDRSTRLEN); var sockaddr = new Interop.libc.sockaddr_in { sin_family = Interop.libc.AF_INET, sin_port = 0 }; sockaddr.sin_addr.s_addr = address.NetworkBytesToNetworkUInt32(0); int err = Interop.libc.getnameinfo((Interop.libc.sockaddr*)&sockaddr, (uint)sizeof(Interop.libc.sockaddr_in), buffer, (uint)buffer.Capacity, null, 0, Interop.libc.NI_NUMERICHOST); return unchecked((uint)err); }
public static unsafe uint Ipv4AddressToString(byte[] address, StringBuilder buffer) { Debug.Assert(address != null); Debug.Assert(address.Length == IPAddressParser.IPv4AddressBytes); Debug.Assert(buffer != null); Debug.Assert(buffer.Capacity >= IPAddressParser.INET_ADDRSTRLEN); var sockaddr = new Interop.libc.sockaddr_in { sin_family = Interop.libc.AF_INET, sin_port = 0 }; sockaddr.sin_addr.s_addr = address.NetworkBytesToNetworkUInt32(0); int err = Interop.libc.getnameinfo((Interop.libc.sockaddr *) & sockaddr, (uint)sizeof(Interop.libc.sockaddr_in), buffer, (uint)buffer.Capacity, null, 0, Interop.libc.NI_NUMERICHOST); return(unchecked ((uint)err)); }