Implement wrappers for gethostbyname(), socket(), and connect().
commit60db5000ab3307def85fd8e4618e661a565c1750
authorJohannes Sixt <johannes.sixt@telecom.at>
Wed, 21 Nov 2007 21:47:00 +0000 (21 22:47 +0100)
committerJohannes Sixt <johannes.sixt@telecom.at>
Wed, 21 Nov 2007 21:47:00 +0000 (21 22:47 +0100)
tree6dc0ad084fa87e6301c49c545bf01fd397d41b9e
parent726fb5ed5ded96f6a60a7adf41e50b6c00b4f246
Implement wrappers for gethostbyname(), socket(), and connect().

gethostbyname() is the first function that calls into the Winsock library,
and it is wrapped only to initialize the library.

socket() is wrapped for two reasons:
- Windows's socket() creates things that are like low-level file handles,
  and they must be converted into file descriptors first.
- And these handles cannot be used with plain ReadFile()/WriteFile()
  because they are opened for "overlapped IO". We have to use WSASocket()
  to create non-overlapped IO sockets.

connect() must be wrapped because Windows's connect() expects the low-level
sockets, not file descriptors, and we must first unwrap the file descriptor
before we can pass it on to Windows's connect().

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
compat/mingw.c
git-compat-util.h