De acordo com a página de manual de getaddrinfo()
, você pode passar a família de endereços no parâmetro hints
, então algo como
struct addrinfo hints, *result; int s; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_INET; /* or AF_INET6 for ipv6 addresses */ s = getaddrinfo(NULL, "ftp", &hints, &result); ...
Eu não tentei isso, mas a abordagem parece estar certa.