aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/utils/windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/utils/windows.c')
-rw-r--r--src/libstrongswan/utils/windows.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/windows.c b/src/libstrongswan/utils/windows.c
index e511db026..241ad055a 100644
--- a/src/libstrongswan/utils/windows.c
+++ b/src/libstrongswan/utils/windows.c
@@ -662,6 +662,22 @@ ssize_t windows_read(int fd, void *buf, size_t count)
/**
* See header
*/
+#undef write
+ssize_t windows_write(int fd, void *buf, size_t count)
+{
+ ssize_t ret;
+
+ ret = send(fd, buf, count, 0);
+ if (ret == -1 && WSAGetLastError() == WSAENOTSOCK)
+ {
+ ret = write(fd, buf, count);
+ }
+ return ret;
+}
+
+/**
+ * See header
+ */
int poll(struct pollfd *fds, int nfds, int timeout)
{
return wserr(WSAPoll(fds, nfds, timeout));