source: vendor/w32api/3.6/include/wsahelp.h

Last change on this file was 2720, checked in by bird, 19 years ago

w32api v3.6

File size: 4.1 KB
Line 
1#ifndef _WSAHELP_H
2#define _WSAHELP_H
3
4#include <winsock2.h>
5#include <ntsecapi.h>
6#ifdef __cplusplus
7extern "C" {
8#endif /* __cplusplus */
9
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
20#define SO_CONTEXT 1
21
22#ifndef RC_INVOKED
23typedef enum _SOCKADDR_ADDRESS_INFO {
24 SockaddrAddressInfoNormal,
25 SockaddrAddressInfoWildcard,
26 SockaddrAddressInfoBroadcast,
27 SockaddrAddressInfoLoopback
28} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
29typedef enum _SOCKADDR_ENDPOINT_INFO {
30 SockaddrEndpointInfoNormal,
31 SockaddrEndpointInfoWildcard,
32 SockaddrEndpointInfoReserved
33} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
34typedef struct _SOCKADDR_INFO {
35 SOCKADDR_ADDRESS_INFO AddressInfo;
36 SOCKADDR_ENDPOINT_INFO EndpointInfo;
37} SOCKADDR_INFO, *PSOCKADDR_INFO;
38
39INT WINAPI WSHAddressToString(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
40INT WINAPI WSHEnumProtocols(LPINT,LPWSTR,LPVOID,LPDWORD);
41INT WINAPI WSHGetBroadcastSockaddr(PVOID,PSOCKADDR,PINT);
42INT WINAPI WSHGetProviderGuid(LPWSTR,LPGUID);
43INT WINAPI WSHGetSockaddrType(PSOCKADDR,DWORD,PSOCKADDR_INFO);
44INT WINAPI WSHGetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
45INT WINAPI WSHGetWildcardSockaddr(PVOID,PSOCKADDR,PINT);
46INT WINAPI WSHGetWSAProtocolInfo(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
47INT WINAPI WSHIoctl(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,
48LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
49INT WINAPI WSHJoinLeaf(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,PSOCKADDR,
50DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
51INT WINAPI WSHNotify(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
52INT WINAPI WSHOpenSocket(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
53INT WINAPI WSHOpenSocket2(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
54INT WINAPI WSHSetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
55INT WINAPI WSHStringToAddress(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
56
57typedef INT (WINAPI *PWSH_ADDRESS_TO_STRING)(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
58typedef INT (WINAPI *PWSH_ENUM_PROTOCOLS)(LPINT,LPWSTR,LPVOID,LPDWORD);
59typedef INT (WINAPI *PWSH_GET_BROADCAST_SOCKADDR)(PVOID,PSOCKADDR,PINT);
60typedef INT (WINAPI *PWSH_GET_PROVIDER_GUID)(LPWSTR,LPGUID);
61typedef INT (WINAPI *PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR,DWORD,PSOCKADDR_INFO);
62typedef INT (WINAPI *PWSH_GET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
63typedef INT (WINAPI *PWSH_GET_WILDCARD_SOCKEADDR)(PVOID,PSOCKADDR,PINT);
64typedef INT (WINAPI *PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
65typedef INT (WINAPI *PWSH_IOCTL)(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,
66 LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
67typedef INT (WINAPI *PWSH_JOIN_LEAF)(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,
68 PSOCKADDR,DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
69typedef INT (WINAPI *PWSH_NOTIFY)(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
70typedef INT (WINAPI *PWSH_OPEN_SOCKET)(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
71typedef INT (WINAPI *PWSH_OPEN_SOCKET2)(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
72typedef INT (WINAPI *PWSH_SET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
73typedef INT (WINAPI *PWSH_STRING_TO_ADDRESS)(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
74
75#ifndef __OBJC__
76/* "Protocol" is a builtin class name in ObjC. */
77typedef struct _WINSOCK_MAPPING {
78 DWORD Rows;
79 DWORD Columns;
80 struct {
81 DWORD AddressFamily;
82 DWORD SocketType;
83 DWORD Protocol;
84 } Mapping[1];
85} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
86DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING,DWORD);
87typedef DWORD (WINAPI *PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING,DWORD);
88#endif
89
90#endif /* RC_INVOKED */
91
92#ifdef __cplusplus
93}
94#endif /* __cplusplus */
95
96#endif /* _WSAHELP_H */
Note: See TracBrowser for help on using the repository browser.