NetsockaddrSourceParsing of socket addresses
Symbolic socket names:
`Inet(ip,port): An internet socket with IP ip and the given port`Inet_byname(n,port): An internet socket with the IP resulting from the resolution of the name n, and with the given port`Unix p: A Unix Domain socket with the path pUse Uq_resolver.sockaddr_of_socksymbol to convert to a Unix.sockaddr (and resolve names).
Parses designations of the forms:
<IPv4>:port[<IPv4_or_IPv6]:port<name>:port/path./pathRaises Failure on parse error.
The reverse function
Normalizes numeric IP addresses: if the address is an IPv4 address mapped to the IPv6 address space, the real IPv4 address is returned. This also works for numeric addresses in string form, whose writing is also normalized.
E.g.
norm_socksymbol (`Inet_by_name("::ffff:127.0.0.1", 80)) returns `Inet_by_name("127.0.0.1",80)norm_socksymbol (`Inet_by_name("0::1",80)) returns `Inet_by_name("::1", 80)IPv6-ification of numeric IP addresses: IPv4 addresses are mapped to the IPv6 address space. This also works for numeric addresses in string form, whose writing is also normalized.
E.g.
norm_socksymbol (`Inet_by_name("127.0.0.1", 80)) returns `Inet_by_name("::ffff:127.0.0.1",80)norm_socksymbol (`Inet_by_name("0::1",80)) returns `Inet_by_name("::1", 80)