Section: C Library Functions (3)
Index Return to Main Contents

BSD mandoc


getnameinfo - address-to-name translation in protocol-independent manner  


Fd #include <sys/socket.h> Fd #include <netdb.h> Ft int Fn getnameinfo const struct sockaddr *sa socklen_t salen char *host size_t hostlen char *serv size_t servlen int flags  


The Fn getnameinfo function is defined for protocol-independent address-to-nodename translation. It performs functionality of gethostbyaddr(3) and getservbyport(3) in more sophisticated manner.

The Fa sa arguement is a pointer to a generic socket address structure of size Fa salen . The arguements Fa host and Fa serv are pointers to buffers to hold the return values. Their sizes are specified by Fa hostlen and Fa servlen repectively. Either Fa host or Fa serv may be NULL if the hostname or service name is not required.

The Fa flags arguement modifies the behaviour of Fn getnameinfo as follows:

If NI_NOFQDN is set only the unqualified hostname is returned for local fully qualified names.

If NI_NUMERICHOST is set then the numeric form of the hostname is returned.

If NI_NAMEREQD is set, then a error is returned if the hostname cannot be looked up.

If NI_NUMERICSERV is set then the service is returned in numeric form.

If NI_DGRAM is set then the service is UDP based rather than TCP based.  


getaddrinfo(3), gethostbyaddr(3), getservbyport(3), hosts(5), services(5), hostname(7), named(8)

R. Gilligan, S. Thomson, J. Bound, and W. Stevens, ``Basic Socket Interface Extensions for IPv6,'' RFC2133, April 1997.  


The Fn getaddrinfo function is defined IEEE POSIX 1003.1g draft specification, and documented in ``Basic Socket Interface Extensions for IPv6'' (RFC2133).



STANDARDS manual pages