aboutsummaryrefslogtreecommitdiff
path: root/src/socketengine_iocp.cpp
diff options
context:
space:
mode:
authorGravatar burlex2007-06-14 22:00:17 +0000
committerGravatar burlex2007-06-14 22:00:17 +0000
commit7d4edd5ac3987ff1161a5152e3aa19c8a0a8260a (patch)
tree80220eb63f9617793ef55ef7abed21d4965238fe /src/socketengine_iocp.cpp
parent- Fixed UDP Overlapped I/O under windows. (not the best way this could be don... (diff)
- Made the recvfrom wrapper a bit neater.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7314 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/socketengine_iocp.cpp')
-rw-r--r--src/socketengine_iocp.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/socketengine_iocp.cpp b/src/socketengine_iocp.cpp
index 8144c8be2..ff29716b7 100644
--- a/src/socketengine_iocp.cpp
+++ b/src/socketengine_iocp.cpp
@@ -349,6 +349,13 @@ int __getsockname(SOCKET s, sockaddr * name, int * namelen, void * acceptevent)
return 0;
}
+int __recvfrom(SOCKET s, char * buf, int len, int flags, struct sockaddr * from, int * fromlen, udp_overlap * ov)
+{
+ memcpy(buf, ov->udp_buffer, ov->udp_len);
+ memcpy(from, ov->udp_sockaddr, *fromlen);
+ return ov->udp_len;
+}
+
EventHandler * IOCPEngine::GetRef(int fd)
{
map<int, EventHandler*>::iterator itr = m_binding.find(fd);