getnameinfo man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

GETNAMEINFO(3XNET)					    GETNAMEINFO(3XNET)

NAME
       getnameinfo - get name information

SYNOPSIS
       cc [ flag ... ] file ... -lxnet [ library ... ]
       #include <sys/socket.h>
       #include <netdb.h>

       int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen,
	    char *restrict node, socklen_t nodelen, char *restrict service,
	    socklen_t servicelen, unsigned flags);

DESCRIPTION
       The  getnameinfo()  function translates a socket address to a node name
       and  service  location,	all  of	 which	are  defined  as   in	getad‐
       drinfo(3XNET).

       The  sa argument points to a socket address structure to be translated.
       If the socket address structure contains an IPv4-mapped IPv6 address or
       an IPv4-compatible IPv6 address, the implementation extracts the embed‐
       ded IPv4 address and lookup the node name for that IPv4 address.

       If the node argument is non-NULL and the nodelen argument is  non-zero,
       then the node argument points to a buffer able to contain up to nodelen
       characters that receives the node name as a null-terminated string.  If
       the  node  argument  is	NULL or the nodelen argument is zero, the node
       name is not returned. If the node's name cannot be located, the numeric
       form of the node's address is returned instead of its name.

       If the service argument is non-NULL and the servicelen argument is non-
       zero, then the service argument points to a buffer able to  contain  up
       to servicelen bytes that receives the service name as a null-terminated
       string. If the service argument is NULL or the servicelen  argument  is
       zero, the service name is not returned. If the service's name cannot be
       located, the numeric form of the service address (for example, its port
       number) is returned instead of its name.

       The  flags  argument  is a flag that changes the default actions of the
       function. By default the fully-qualified domain	name  (FQDN)  for  the
       host is returned, but:

	   o	  If the flag bit NI_NOFQDN is set, only the node name portion
		  of the FQDN is returned for local hosts.

	   o	  If the flag bit NI_NUMERICHOST is set, the numeric  form  of
		  the  host's  address	is returned instead of its name, under
		  all circumstances.

	   o	  If the flag bit NI_NAMEREQD is set, an error is returned  if
		  the host's name cannot be located.

	   o	  If  the  flag bit NI_NUMERICSERV is set, the numeric form of
		  the service address is returned (for example, its port  num‐
		  ber) instead of its name, under all circumstances.

	   o	  If  the  flag	 bit  NI_DGRAM is set, this indicates that the
		  service is a	datagram  service  (SOCK_DGRAM).  The  default
		  behavior  assumes  that  the	service	 is  a	stream service
		  (SOCK_STREAM).

RETURN VALUES
       A 0 return value for getnameinfo() indicates successful	completion;  a
       non-zero	 return	 value	indicates failure. The possible values for the
       failures are listed in the ERRORS section.

       Upon successful completion, getnameinfo() returns the node and  service
       names,  if  requested,  in the buffers provided. The returned names are
       always null-terminated strings.

ERRORS
       The getnameinfo() function will fail if:

       EAI_AGAIN
		       The name could not be resolved  at  this	 time.	Future
		       attempts might succeed.

       EAI_BADFLAGS
		       The flags argument had an invalid value.

       EAI_FAIL
		       A non-recoverable error occurred.

       EAI_FAMILY
		       The  address  family  was not recognized or the address
		       length was invalid for the specified family.

       EAI_MEMORY
		       There was a memory allocation failure.

       EAI_NONAME
		       The name does not resolve for the supplied  parameters.
		       NI_NAMEREQD  is	set  and  the  host's  name  cannot be
		       located, or both nodename and servname were NULL.

       EAI_SYSTEM
		       A system error occurred. The error code can be found in
		       errno.

USAGE
       If the returned values are to be used as part of any further name reso‐
       lution (for example, passed to getaddrinfo()), applications should pro‐
       vide buffers large enough to store any result possible on the system.

       Given the IPv4-mapped IPv6 address "::ffff:1.2.3.4", the implementation
       performs a lookup as if the socket address structure contains the  IPv4
       address "1.2.3.4".

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       gai_strerror(3XNET),	 getaddrinfo(3XNET),	 getservbyname(3XNET),
       socket(3XNET), attributes(5), standards(5)

NOTES
       The IPv6 unspecified address  ("::")  and  the  IPv6  loopback  address
       ("::1")	are  not IPv4-compatible addresses. If the address is the IPv6
       unspecified address ("::"), a lookup is not performed, and the  EAI_NO‐
       NAME error is returned.

       The  two	 NI_NUMERICxxx	flags are required to support the -n flag that
       many commands provide.

       The NI_DGRAM flag is required for the few  AF_INET  and	AF_INET6  port
       numbers	(for example, [512,514]) that represent different services for
       UDP and TCP.

				  Nov 1, 2003		    GETNAMEINFO(3XNET)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net