#include #include #include #include #include #include // int getaddrinfo(const char *node, const char *service, // const struct addrinfo *hints, // struct addrinfo **res); // // void freeaddrinfo(struct addrinfo *res); int main () { const char *host = "208.77.188.166"; // www.example.com const char *port = NULL; int socktype = SOCK_STREAM; int flags = AI_CANONNAME; struct addrinfo hints; struct addrinfo* res = NULL; int error; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = socktype; hints.ai_flags = flags; error = getaddrinfo(host, port, &hints, &res); fprintf(stderr, "sock_addrinfo: error=%d res->ai_canonname='%s'\n", error, (res && res->ai_canonname)? res->ai_canonname : "NULL"); if (res) freeaddrinfo(res); return 0; }