diff options
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index 1151f89fe..d97dc4f55 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -1316,6 +1316,14 @@ fhandler_socket::getpeername (struct sockaddr *name, int *namelen) return res; } +void __stdcall +fhandler_socket::read (void *in_ptr, size_t& len) +{ + WSABUF wsabuf = { len, (char *) in_ptr }; + WSAMSG wsamsg = { NULL, 0, &wsabuf, 1, { 0, NULL }, 0 }; + len = recv_internal (&wsamsg); +} + int fhandler_socket::readv (const struct iovec *const iov, const int iovcnt, ssize_t tot) @@ -1531,6 +1539,14 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags) } int +fhandler_socket::write (const void *ptr, size_t len) +{ + WSABUF wsabuf = { len, (char *) ptr }; + WSAMSG wsamsg = { NULL, 0, &wsabuf, 1, { 0, NULL }, 0 }; + return send_internal (&wsamsg, 0); +} + +int fhandler_socket::writev (const struct iovec *const iov, const int iovcnt, ssize_t tot) { |