- gethostname() requires linking with -lws2_32.
- GetComputerName() does not return the right kind of hostname.
- GetComputerNameEx(ComputerNameDnsHostname,...) returns the right hostname,
- but it hard to use portably:
+ but it is hard to use portably:
- It requires defining _WIN32_WINNT to at least 0x0500.
- With mingw, it also requires
"#define GetComputerNameEx GetComputerNameExA".
/* Get winsock2.h. */
#include <unistd.h>
+/* Get INT_MAX. */
+#include <limits.h>
+
/* Get set_winsock_errno. */
#include "w32sock.h"
+#include "sockets.h"
+
#undef gethostname
int
if (len > INT_MAX)
len = INT_MAX;
+ gl_sockets_startup (SOCKETS_1_1);
r = gethostname (name, (int) len);
if (r < 0)
set_winsock_errno ();