getaddrinfo 入力 ホスト名(IPv4/v6 address文字列, FQDN文字列) サービス名文字列("80" or "http") 何が欲しいのか(hints) 出力 socket/bind/connectするのに必要な情報全て(addrinfo) sockaddr, protocol number, socket type, etc int getaddrinfo(host, port, hints, res) const char *host; const char *port; const struct addrinfo *hints; struct addrinfo **res; struct addrinfo { int ai_flags; int ai_family; /* PF_xxx */ int ai_socktype; /* SOCK_xxx */ int ai_protocol; size_t ai_addrlen; char *ai_canonname; struct sockaddr *ai_addr; struct addrinfo *ai_next; };