X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fsocketengine_iocp.h;h=cf1a08c4c268269540aac038a9cf363910d504ac;hb=e6d000042ea75d4e0485bec9564b47163a3ca414;hp=f4825c6b46c7aeb5c29b9e7ff403eaa647f6f6cd;hpb=1cb674495d8903346831b0ca8baad9478c714861;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/socketengine_iocp.h b/include/socketengine_iocp.h index f4825c6b4..cf1a08c4c 100644 --- a/include/socketengine_iocp.h +++ b/include/socketengine_iocp.h @@ -6,7 +6,7 @@ * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see - * the file COPYING for details. + * the file COPYING for details. * * --------------------------------------------------- */ @@ -114,6 +114,11 @@ class IOCPEngine : public SocketEngine map m_binding; public: + /** Holds the preallocated buffer passed to WSARecvFrom + * function. Yes, I know, it's a dirty hack. + */ + udp_overlap * udp_ov; + /** Creates an IOCP Socket Engine * @param Instance The creator of this object */ @@ -206,10 +211,21 @@ public: */ EventHandler* GetIntRef(int fd); - /** Holds the preallocated buffer passed to WSARecvFrom - * function. Yes, I know, it's a dirty hack. - */ - udp_overlap * udp_ov; + bool BoundsCheckFd(EventHandler* eh); + + virtual int Accept(EventHandler* fd, sockaddr *addr, socklen_t *addrlen); + + virtual int RecvFrom(EventHandler* fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen); + + virtual int Blocking(int fd); + + virtual int NonBlocking(int fd); + + virtual int GetSockName(EventHandler* fd, sockaddr *name, socklen_t* name); + + virtual int Close(int fd); + + virtual int Close(EventHandler* fd); }; /** Creates a SocketEngine