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

FreeBSD Manual Pages

  
 
  

home | help
Socket::GetAddrInfo::SUsertContributed Perl Socket::GetAddrInfo::Socket6api(3)

NAME
       "Socket::GetAddrInfo::Socket6api" - Provide Socket::GetAddrInfo
       functions using Socket6 API

SYNOPSIS
	use Socket qw( AF_UNSPEC SOCK_STREAM );
	use Socket::GetAddrInfo::Socket6api qw(	getaddrinfo getnameinfo	);

	my $sock;

	my @res	= getaddrinfo( "www.google.com", "www",	AF_UNSPEC, SOCK_STREAM );

	die "Cannot resolve name - $res[0]" if @res == 1;

	while( @res >= 5 ) {
	   my (	$family, $socktype, $protocol, $addr, undef ) =	splice @res, 0,	5, ();

	   $sock = IO::Socket->new();
	   $sock->socket( $family, $socktype, $protocol	) or
	     undef $sock, next;

	   $sock->connect( $addr ) or undef $sock, next;

	   last;
	}

	if( $sock ) {
	   my (	$host, $service	) = getnameinfo( $sock->peername );
	   print "Connected to $host:$service\n" if defined $host;
	}

DESCRIPTION
       Socket::GetAddrInfo provides the	functions of "getaddrinfo" and
       "getnameinfo" using a convenient	interface where	hints and address
       structures are represented as hashes. Socket6 also provides these
       functions, in a form taking and returning flat lists of values.

       This module wraps the functions provided	by "Socket::GetAddrInfo" to
       provide them in an identical API	to "Socket6". It is intended to	stand
       as a utility for	existing code written for the "Socket6"	API to use
       these functions instead.

FUNCTIONS
   @res	= getaddrinfo( $host, $service,	$family, $socktype, $protocol, $flags
       )
       This version of the API takes the hints values as separate ordered
       parameters.  Unspecified	parameters should be passed as 0.

       If successful, this function returns a flat list	of values, five	for
       each returned address structure.	Each group of five elements will
       contain,	in order, the "family",	"socktype", "protocol",	"addr" and
       "canonname" values of the address structure.

       If unsuccessful,	it will	return a single	value, containing the string
       error message. To remain	compatible with	the "Socket6" interface, this
       value does not have the error integer part.

   ( $host, $service ) = getnameinfo( $addr, $flags )
       This version of the API returns only the	host name and service name, if
       successfully resolved. On error,	it will	return an empty	list. To
       remain compatible with the "Socket6" interface, no error	information
       will be supplied.

AUTHOR
       Paul Evans <leonerd@leonerd.org.uk>

perl v5.24.1			  2017-07-02Socket::GetAddrInfo::Socket6api(3)

NAME | SYNOPSIS | DESCRIPTION | FUNCTIONS | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Socket::GetAddrInfo::Socket6api&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help