---
name: "dns_ip4"
section: "3"
platform: "linux"
package: "libowfat-dev"
version: "0.32-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dns_ip4"
---

# dns\_ip4(3)

look up IPv4 addresses

## NAME

dns\_ip4 - look up IPv4 addresses

## SYNTAX

**#include \<libowfat/dns.h\>**

int **dns\_ip4**(stralloc\* *out*,stralloc\* *fqdn*);

## DESCRIPTION

dns\_ip4 looks up 4-byte IP addresses for the fully-qualified domain name in *fqdn*. It puts the concatenation of the IP addresses into *out* and returns 0. If the domain does not exist in DNS, or has no IP addresses, *out* will be empty.

If dns\_ip4 has trouble with the DNS lookup or runs out of memory, it returns -1, setting errno appropriately. It may or may not change *out*.

If *fqdn* is a dotted-decimal IP address, dns\_ip4 puts that IP address into *out* without checking DNS. More generally, if *fqdn* is a dot-separated sequence of dotted-decimal IP addresses, dns\_ip4 puts those IP addresses into out without checking DNS. Brackets may appear inside the dotted-decimal IP addresses; they are ignored.

## SEE ALSO

[dns\_ip4\_packet(3)](/dns_ip4_packet/3.md), [dns\_ip6(3)](/dns_ip6/3.md), [dns\_name4(3)](/dns_name4/3.md)
