OSDN Git Service

initial mingw networking support
authorAlex Beregszaszi <alex@rtfs.hu>
Tue, 15 May 2007 14:58:30 +0000 (14:58 +0000)
committerAlex Beregszaszi <alex@rtfs.hu>
Tue, 15 May 2007 14:58:30 +0000 (14:58 +0000)
Originally committed as revision 9029 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/network.h
libavformat/os_support.c

index 6ceba41..723b4f9 100644 (file)
 #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);
 
index abee749..bcb62b8 100644 (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 */