결과는 res로 지정한 포인터 주소로 반환되는데, 여러 개의 결과가 있을 수 있으므로 연결 리스트로 반환되며 res는 그 첫째 원소가 된다. addrinfo 구조체에 DNS 서버의 조회 결과가 담겨 오는데 그 내용은 다음과 같다.
struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; char* ai_canon_name; sockaddr* ai_addr; addrinfo* ai_next; };
ai_flags, ai_socktype, ai_protocol은 hint에 요구 사항을 정의할 때 사용한다. 결과에는 사용하지 않으며 무시해도 된다.
ai_family는 addrinfo에 관련된 주소 패밀리를 나타낸다. AF_INET이면 IPv4이고 AF_INET6이면 IPv6 주소가 된다.
ai_addrlen는 ai_addr이 가리키는 sockaddr의 길이 값이다.