Jun 30, 2000
lwres_getnameinfo
3
BIND9
2004
2005
2007
2012
Internet Systems Consortium, Inc. ("ISC")
2000
2001
Internet Software Consortium.

# lwres_getnameinfo

lightweight resolver socket address structure to hostname and service name

    #include <lwres/netdb.h>

    int
    lwres_getnameinfo
            const struct sockaddr *sa
            size_t salen
            char *host
            size_t hostlen
            char *serv
            size_t servlen
            int flags

## DESCRIPTION

This function is equivalent to the getnameinfo 3 function defined in RFC2133. `lwres_getnameinfo()` returns the hostname for the struct sockaddr `sa` which is `salen` bytes long. The hostname is of length `hostlen` and is returned via `*host.` The maximum length of the hostname is 1025 bytes: `NI_MAXHOST`.

The name of the service associated with the port number in `sa` is returned in `*serv.` It is `servlen` bytes long. The maximum length of the service name is `NI_MAXSERV` - 32 bytes.

The `flags` argument sets the following bits:

`NI_NOFQDN`

  A fully qualified domain name is not required for local hosts. The local part of the fully qualified domain name is returned instead.

`NI_NUMERICHOST`

  Return the address in numeric form, as if calling inet_ntop(), instead of a host name.

`NI_NAMEREQD`

  A name is required. If the hostname cannot be found in the DNS and this flag is set, a non-zero error code is returned. If the hostname is not found and the flag is not set, the address is returned in numeric form.

`NI_NUMERICSERV`

  The service name is returned as a digit string representing the port number.

`NI_DGRAM`

  Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp". This is required for the few ports (512-514) that have different services for UDP and TCP.

## RETURN VALUES

`lwres_getnameinfo()` returns 0 on success or a non-zero error code if an error occurs.

## SEE ALSO

RFC2133 , getservbyport 3 , lwres 3 , lwres_getnameinfo 3 , lwres_getnamebyaddr 3 . lwres_net_ntop 3 .

## BUGS

RFC2133 fails to define what the nonzero return values of getnameinfo 3 are.