X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fnetwork.h;h=a5904d93af552b8c09b584505a793ddd3754e7a5;hb=541e8f3beccbe806599e9af4902d1e68b4367b80;hp=3aa8ba8367969681a47ef1a8ea62eff89dadecbf;hpb=c9fdab0dabdf82546ff01f4903f15a615c5e25ca;p=ffmpeg diff --git a/libavformat/network.h b/libavformat/network.h index 3aa8ba83679..a5904d93af5 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -18,20 +18,52 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef NETWORK_H -#define NETWORK_H +#ifndef AVFORMAT_NETWORK_H +#define AVFORMAT_NETWORK_H +#ifdef HAVE_WINSOCK2_H +#include +#include + +#define ff_neterrno() WSAGetLastError() +#define FF_NETERROR(err) WSA##err +#define WSAEAGAIN WSAEWOULDBLOCK +#else #include #include #include +#include + +#define ff_neterrno() errno +#define FF_NETERROR(err) err +#endif + #ifdef HAVE_ARPA_INET_H #include #endif -#include + +int ff_socket_nonblock(int socket, int enable); + +static inline int ff_network_init(void) +{ +#ifdef HAVE_WINSOCK2_H + WSADATA wsaData; + if (WSAStartup(MAKEWORD(1,1), &wsaData)) + return 0; +#endif + return 1; +} + +static inline void ff_network_close(void) +{ +#ifdef HAVE_WINSOCK2_H + WSACleanup(); +#endif +} #if !defined(HAVE_INET_ATON) /* in os_support.c */ int inet_aton (const char * str, struct in_addr * add); #endif -#endif +#endif /* AVFORMAT_NETWORK_H */