initial mingw networking support

Originally committed as revision 9029 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Beregszaszi 2007-05-15 14:58:30 +00:00
parent 124bed6fb2
commit 5676d140a9
2 changed files with 17 additions and 3 deletions

View File

@ -21,16 +21,26 @@
#ifndef NETWORK_H
#define NETWORK_H
#ifdef __MINGW32__
#include <winsock2.h>
#include <ws2tcpip.h>
#define ff_neterrno() WSAGetLastError()
#define FF_NETERROR(err) WSA##err
#define WSAEAGAIN WSAEWOULDBLOCK
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#include <netdb.h>
#define ff_neterrno() errno
#define FF_NETERROR(err) err
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
int ff_socket_nonblock(int socket, int enable);

View File

@ -117,10 +117,14 @@ int resolve_host(struct in_addr *sin_addr, const char *hostname)
int ff_socket_nonblock(int socket, int enable)
{
#ifdef __MINGW32__
return ioctlsocket(socket, FIONBIO, &enable);
#else
if (enable)
return fcntl(socket, F_SETFL, fcntl(socket, F_GETFL) | O_NONBLOCK);
else
return fcntl(socket, F_SETFL, fcntl(socket, F_GETFL) & ~O_NONBLOCK);
#endif
}
#endif /* CONFIG_NETWORK */