Вы забыли #include <netdb.h>
. Поскольку вы не включили этот файл, вы работаете с правилом «int по умолчанию». По сути, в C, если у функции нет прототипа, предполагается, что она равна:
int function_name();
другими словами «возвращает целое число, принимает неизвестное количество параметров».
Правильное объявление прототипа функции (в данном случае с помощью заголовка) позволит избежать этого.