Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Socket::GetAddrInfo::EUser3Contributed Perl DocumeSocket::GetAddrInfo::Emul(3)

       "Socket::GetAddrInfo::Emul" - Pure Perl emulation of "getaddrinfo" and
       "getnameinfo" using IPv4-only legacy resolvers

       "Socket::GetAddrInfo" attempts to provide the "getaddrinfo" and
       "getnameinfo" functions by some XS code that calls the real functions
       in libc.	If for some reason this	cannot be done;	either there is	no C
       compiler, or libc does not provide these	functions, then	they will be
       emulated	using the legacy resolvers "gethostbyname", etc... These
       emulations are not a complete replacement of the	real functions,
       because they only support IPv4 (the "AF_INET" socket family). In	this
       case, the following restrictions	will apply.

       o   If the "family" hint	is supplied, it	must be	"AF_INET". Any other
	   value will result in	an error thrown	by "croak".

       o   The only supported "flags" hint values are "AI_PASSIVE",

	   The flags "AI_V4MAPPED" and "AI_ALL"	are recognised but ignored, as
	   they	do not apply to	"AF_INET" lookups.  Since this function	only
	   returns "AF_INET" addresses,	it does	not need to probe the system
	   for configured addresses in other families, so the "AI_ADDRCONFIG"
	   flag	is also	ignored.

	   Note	that "AI_NUMERICSERV" is an extension not defined by RFC 2553,
	   but is provided by most OSes. It is possible	(though	unlikely) that
	   even	the native XS implementation does not recognise	this constant.

       o   If the sockaddr family of $addr is anything other than "AF_INET",
	   an error will be thrown with	"croak".

       o   The only supported $flags values are	"NI_NUMERICHOST",

       This pure-perl emulation	provides the IDN constants such	as "AI_IDN"
       and "NI_IDN", but the "getaddrinfo" and "getnameinfo" functions will
       croak if	passed these flags. This should	allow a	program	to probe for
       their support, and fall back to some other behaviour instead.

       Paul Evans <>

perl v5.32.0			  2020-08-08	  Socket::GetAddrInfo::Emul(3)


Want to link to this manual page? Use this URL:

home | help