---
name: "lwres_getnameinfo"
section: "3"
platform: "macos"
package: "bind9"
version: "65"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/lwres_getnameinfo"
---

# lwres\_getnameinfo(3)

lightweight resolver socket address structure to hostname and service name

## NAME

lwres\_getnameinfo - lightweight resolver socket address structure to hostname and service name

## SYNOPSIS

```
#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)](/getnameinfo/3.md) 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)](/getservbyport/3.md), [**lwres**(3)](/lwres/3.md), [**lwres\_getnameinfo**(3)](/lwres_getnameinfo/3.md), [**lwres\_getnamebyaddr**(3)](/lwres_getnamebyaddr/3.md). [**lwres\_net\_ntop**(3)](/lwres_net_ntop/3.md).

## BUGS

RFC2133 fails to define what the nonzero return values of [**getnameinfo**(3)](/getnameinfo/3.md) are.

## AUTHOR

**Internet Systems Consortium, Inc.**

## COPYRIGHT

Copyright © 2004, 2005, 2007, 2014-2016 Internet Systems Consortium, Inc. ("ISC")\
 Copyright © 2000, 2001 Internet Software Consortium.\
