10#define WSH_NOTIFY_BIND 0x00000001
11#define WSH_NOTIFY_LISTEN 0x00000002
12#define WSH_NOTIFY_CONNECT 0x00000004
13#define WSH_NOTIFY_ACCEPT 0x00000008
14#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
15#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
16#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
17#define WSH_NOTIFY_CLOSE 0x00000080
18#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
19#define SOL_INTERNAL 0xFFFE
UNICODE_STRING * PUNICODE_STRING
SOCKADDR_ADDRESS_INFO AddressInfo
SOCKADDR_ENDPOINT_INFO EndpointInfo
struct _WINSOCK_MAPPING::@3362 Mapping[1]
struct _QualityOfService * LPQOS
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
struct _WSAOVERLAPPED * LPWSAOVERLAPPED
struct _WSAPROTOCOL_INFOW * LPWSAPROTOCOL_INFOW
struct sockaddr * PSOCKADDR
struct sockaddr * LPSOCKADDR
struct _WSABUF * LPWSABUF
struct _WINSOCK_MAPPING * PWINSOCK_MAPPING
INT WINAPI WSHNotify(PVOID, SOCKET, HANDLE, HANDLE, DWORD)
DWORD(WINAPI * PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING, DWORD)
INT WINAPI WSHGetWildcardSockaddr(PVOID, PSOCKADDR, PINT)
INT(WINAPI * PWSH_GET_BROADCAST_SOCKADDR)(PVOID, PSOCKADDR, PINT)
INT(WINAPI * PWSH_GET_WILDCARD_SOCKADDR)(PVOID, PSOCKADDR, PINT)
INT WINAPI WSHGetWSAProtocolInfo(LPWSTR, LPWSAPROTOCOL_INFOW *, LPDWORD)
INT WINAPI WSHGetSocketInformation(PVOID, SOCKET, HANDLE, HANDLE, INT, INT, PCHAR, LPINT)
enum _SOCKADDR_ADDRESS_INFO SOCKADDR_ADDRESS_INFO
INT WINAPI WSHOpenSocket2(PINT, PINT, PINT, GROUP, DWORD, PUNICODE_STRING, PVOID *, PDWORD)
INT WINAPI WSHEnumProtocols(LPINT, LPWSTR, LPVOID, LPDWORD)
INT(WINAPI * PWSH_SET_SOCKET_INFORMATION)(PVOID, SOCKET, HANDLE, HANDLE, INT, INT, PCHAR, INT)
enum _SOCKADDR_ENDPOINT_INFO SOCKADDR_ENDPOINT_INFO
struct _SOCKADDR_INFO * PSOCKADDR_INFO
@ SockaddrEndpointInfoReserved
@ SockaddrEndpointInfoNormal
@ SockaddrEndpointInfoWildcard
INT WINAPI WSHSetSocketInformation(PVOID, SOCKET, HANDLE, HANDLE, INT, INT, PCHAR, INT)
INT(WINAPI * PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR, DWORD, PSOCKADDR_INFO)
INT(WINAPI * PWSH_GET_PROVIDER_GUID)(LPWSTR, LPGUID)
INT(WINAPI * PWSH_OPEN_SOCKET2)(PINT, PINT, PINT, GROUP, DWORD, PUNICODE_STRING, PVOID *, PDWORD)
INT WINAPI WSHGetSockaddrType(PSOCKADDR, DWORD, PSOCKADDR_INFO)
INT WINAPI WSHStringToAddress(LPWSTR, DWORD, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPDWORD)
@ SockaddrAddressInfoNormal
@ SockaddrAddressInfoLoopback
@ SockaddrAddressInfoWildcard
@ SockaddrAddressInfoBroadcast
struct _SOCKADDR_INFO SOCKADDR_INFO
DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING, DWORD)
INT(WINAPI * PWSH_NOTIFY)(PVOID, SOCKET, HANDLE, HANDLE, DWORD)
INT WINAPI WSHJoinLeaf(PVOID, SOCKET, HANDLE, HANDLE, PVOID, SOCKET, PSOCKADDR, DWORD, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD)
INT(WINAPI * PWSH_JOIN_LEAF)(PVOID, SOCKET, HANDLE, HANDLE, PVOID, SOCKET, PSOCKADDR, DWORD, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD)
INT(WINAPI * PWSH_STRING_TO_ADDRESS)(LPWSTR, DWORD, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPDWORD)
struct _WINSOCK_MAPPING WINSOCK_MAPPING
INT WINAPI WSHOpenSocket(PINT, PINT, PINT, PUNICODE_STRING, PVOID, PDWORD)
INT(WINAPI * PWSH_ENUM_PROTOCOLS)(LPINT, LPWSTR, LPVOID, LPDWORD)
enum _SOCKADDR_ADDRESS_INFO * PSOCKADDR_ADDRESS_INFO
enum _SOCKADDR_ENDPOINT_INFO * PSOCKADDR_ENDPOINT_INFO
INT(WINAPI * PWSH_OPEN_SOCKET)(PINT, PINT, PINT, PUNICODE_STRING, PVOID, PDWORD)
INT(WINAPI * PWSH_IOCTL)(PVOID, SOCKET, HANDLE, HANDLE, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPBOOL)
INT WINAPI WSHGetProviderGuid(LPWSTR, LPGUID)
INT(WINAPI * PWSH_ADDRESS_TO_STRING)(LPSOCKADDR, INT, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD)
INT(WINAPI * PWSH_GET_SOCKET_INFORMATION)(PVOID, SOCKET, HANDLE, HANDLE, INT, INT, PCHAR, LPINT)
INT WINAPI WSHIoctl(PVOID, SOCKET, HANDLE, HANDLE, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPBOOL)
INT WINAPI WSHAddressToString(LPSOCKADDR, INT, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD)
INT(WINAPI * PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR, LPWSAPROTOCOL_INFOW *, LPDWORD)
INT WINAPI WSHGetBroadcastSockaddr(PVOID, PSOCKADDR, PINT)