From d4664c132392e8bcd2ec565f5feae7330752eebf Mon Sep 17 00:00:00 2001 From: Bruno Jesus <00cpxxx@gmail.com> Date: Wed, 4 Nov 2015 21:59:00 +0800 Subject: [PATCH] include: Add definitions related to WSAPoll(). Signed-off-by: Bruno Jesus <00cpxxx@gmail.com> Signed-off-by: Alexandre Julliard --- include/winsock2.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/include/winsock2.h b/include/winsock2.h index d871a23fa90..461b90c1b2e 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -112,6 +112,33 @@ extern "C" { #define SD_SEND 0x01 #define SD_BOTH 0x02 +/* Constants for WSAPoll() */ +#ifndef __WINE_WINE_PORT_H +#ifndef USE_WS_PREFIX +#define POLLERR 0x0001 +#define POLLHUP 0x0002 +#define POLLNVAL 0x0004 +#define POLLWRNORM 0x0010 +#define POLLWRBAND 0x0020 +#define POLLRDNORM 0x0100 +#define POLLRDBAND 0x0200 +#define POLLPRI 0x0400 +#define POLLIN (POLLRDNORM|POLLRDBAND) +#define POLLOUT (POLLWRNORM) +#else +#define WS_POLLERR 0x0001 +#define WS_POLLHUP 0x0002 +#define WS_POLLNVAL 0x0004 +#define WS_POLLWRNORM 0x0010 +#define WS_POLLWRBAND 0x0020 +#define WS_POLLRDNORM 0x0100 +#define WS_POLLRDBAND 0x0200 +#define WS_POLLPRI 0x0400 +#define WS_POLLIN (WS_POLLRDNORM|WS_POLLRDBAND) +#define WS_POLLOUT (WS_POLLWRNORM) +#endif +#endif + /* Constants for WSAIoctl() */ #ifdef USE_WS_PREFIX #define WS_IOC_UNIX 0x00000000 @@ -286,6 +313,13 @@ typedef struct _WSAPROTOCOLCHAIN #define SECURITY_PROTOCOL_NONE 0x0000 +typedef struct /*WS(pollfd)*/ +{ + SOCKET fd; + SHORT events; + SHORT revents; +} WSAPOLLFD; + #define WSAPROTOCOL_LEN 255 typedef struct _WSAPROTOCOL_INFOA { @@ -689,6 +723,7 @@ INT WINAPI WSALookupServiceNextW(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW); int WINAPI WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION); int WINAPI WSANtohl(SOCKET,ULONG,ULONG*); int WINAPI WSANtohs(SOCKET,WS(u_short),WS(u_short)*); +int WINAPI WSAPoll(WSAPOLLFD*,ULONG,int); INT WINAPI WSAProviderConfigChange(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); int WINAPI WSARecv(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); int WINAPI WSARecvDisconnect(SOCKET,LPWSABUF); @@ -763,6 +798,7 @@ typedef int (WINAPI *LPFN_WSANSPIOCTL)(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LP typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET,ULONG,ULONG*); typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET,WS(u_short),WS(u_short)*); typedef INT (WINAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); +typedef int (WINAPI *LPFN_WSAPOLL)(WSAPOLLFD*,ULONG,int); typedef int (WINAPI *LPFN_WSARECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET,LPWSABUF); typedef int (WINAPI *LPFN_WSARECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct WS(sockaddr)*,LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);