Если коротко: функиця заполняет структуру типа in_addr
, преобразуя сведения о хосте из строкового представления.
У winsock2 нет такой функции. Есть более продвинутый аналог inet_pton, в POSIX он тоже есть, да вот только mingw про неё в windows не знает. Пичалька.
Поэтому делаем примерно следующее:
#ifdef WIN32
static int inet_aton(const char *cp, struct in_addr *inp)
{
if (cp == 0 || inp == 0)
{
return -1;
}
unsigned long addr = inet_addr(cp);
if (addr == INADDR_NONE || addr == INADDR_ANY)
{
return -1;
}
inp->s_addr = addr;
}
#endif
не верх совершенства и корректности, но для моих целей работало.