summaryrefslogtreecommitdiff
path: root/libavformat/network.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/network.h')
-rw-r--r--libavformat/network.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/libavformat/network.h b/libavformat/network.h
index d6aee93121..58a8e80e72 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -27,9 +27,21 @@
#include <winsock2.h>
#include <ws2tcpip.h>
-#define ff_neterrno() (-WSAGetLastError())
-#define FF_NETERROR(err) (-WSA##err)
-#define WSAEAGAIN WSAEWOULDBLOCK
+#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+#define ETIMEDOUT WSAETIMEDOUT
+#define ECONNREFUSED WSAECONNREFUSED
+#define EINPROGRESS WSAEINPROGRESS
+
+static inline int ff_neterrno() {
+ int err = WSAGetLastError();
+ switch (err) {
+ case WSAEWOULDBLOCK:
+ return AVERROR(EAGAIN);
+ case WSAEINTR:
+ return AVERROR(EINTR);
+ }
+ return -err;
+}
#else
#include <sys/types.h>
#include <sys/socket.h>
@@ -37,7 +49,6 @@
#include <netdb.h>
#define ff_neterrno() AVERROR(errno)
-#define FF_NETERROR(err) AVERROR(err)
#endif
#if HAVE_ARPA_INET_H