2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
6 #include "common/include/NetworkSockets.hpp"
11 #include <armnn/Conversion.hpp>
24 #elif defined(_MSC_VER)
26 return WSAStartup(MAKEWORD(2, 2), &wsaData) == 0;
34 #elif defined(_MSC_VER)
35 return closesocket(s);
40 bool SetNonBlocking(Socket s)
43 const int currentFlags = fcntl(s, F_GETFL);
44 return fcntl(s, F_SETFL, currentFlags | O_NONBLOCK) == 0;
45 #elif defined(_MSC_VER)
47 return ioctlsocket(s, FIONBIO, &mode) == 0;
52 long Write(Socket s, const void* buf, size_t len)
55 return write(s, buf, len);
56 #elif defined(_MSC_VER)
57 return send(s, static_cast<const char*>(buf), static_cast<int>(len), 0);
62 long Read(Socket s, void* buf, size_t len)
65 return read(s, buf, len);
66 #elif defined(_MSC_VER)
67 return recv(s, static_cast<char*>(buf), static_cast<int>(len), 0);
71 int Ioctl(Socket s, unsigned long int cmd, void* arg)
74 ARMNN_NO_CONVERSION_WARN_BEGIN
75 return ioctl(s, static_cast<int>(cmd), arg);
76 ARMNN_NO_CONVERSION_WARN_END
77 #elif defined(_MSC_VER)
78 return ioctlsocket(s, cmd, static_cast<u_long*>(arg));
83 int Poll(PollFd* fds, nfds_t numFds, int timeout)
86 return poll(fds, numFds, timeout);
87 #elif defined(_MSC_VER)
88 return WSAPoll(fds, numFds, timeout);
93 armnnUtils::Sockets::Socket Accept(Socket s, sockaddr* addr, socklen_t* addrlen, int flags)
96 return accept4(s, addr, addrlen, flags);
97 #elif defined(_MSC_VER)
98 return accept(s, addr, reinterpret_cast<int*>(addrlen));