Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }