#include #include #include // niestandardowa funkcja ułatwiająca obsługę błędów (dostępna w glibc) #include int main(){ // Ustawienie "podpowiedzi" - sterowanie jakie wyniki chcemy otrzymać: addrinfo hints {}; // uwaga: puste 'list initialization' zeruje całą strukturę hints.ai_family = AF_INET; // tylko IPv4 (AF_INET) hints.ai_protocol = IPPROTO_UDP; // protokół UDP // Zmienna w której będzie umieszczona lokalizacja wyniku w pamięci addrinfo * resolved; // Z sieci bezprzewodowej PP (lub innych używających serwerów nazw z podsieci 150.254.5.0/24) // proszę zmienić "pool.ntp.org" na "onet.pl" - Dział Obsługi i Eksploatacji z niezrozumiałych // przyczyn cenzuruje odpowiedzi z DNS int res = getaddrinfo("pool.ntp.org", "ntp", &hints, &resolved); if(res) error(1,0,"Getaddrinfo failed: %s\n", gai_strerror(res)); if(!resolved) error(1,0,"Empty result\n"); for(addrinfo * it = resolved; it; it=it->ai_next){ sockaddr_in* addr = (sockaddr_in*) it->ai_addr; // <- rzutowanie bezpieczne, printf(" %s\n",inet_ntoa(addr->sin_addr)); // bo w podpowiedziach } // zażądaliśmy adresów IPv4 freeaddrinfo(resolved); return 0; }