summaryrefslogtreecommitdiffstats
path: root/winsup/w32api/include/wsahelp.h
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-08-26 22:13:05 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-08-26 22:13:05 +0000
commiteac48e7ecfee5ca30d573714facd4b4bd0c1d13a (patch)
treebff697bad1e85a85fdc78a60611995856c0a333d /winsup/w32api/include/wsahelp.h
parent9b487837a5521cfe9917d935d5869d8da8110867 (diff)
downloadcygnal-eac48e7ecfee5ca30d573714facd4b4bd0c1d13a.tar.gz
cygnal-eac48e7ecfee5ca30d573714facd4b4bd0c1d13a.tar.bz2
cygnal-eac48e7ecfee5ca30d573714facd4b4bd0c1d13a.zip
2002-08-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/wsahelp.h: New file. * lib/test.c: Include wsahelp.h.
Diffstat (limited to 'winsup/w32api/include/wsahelp.h')
-rw-r--r--winsup/w32api/include/wsahelp.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/winsup/w32api/include/wsahelp.h b/winsup/w32api/include/wsahelp.h
new file mode 100644
index 000000000..e3b45b86c
--- /dev/null
+++ b/winsup/w32api/include/wsahelp.h
@@ -0,0 +1,92 @@
+#ifndef _WSAHELP_H
+#define _WSAHELP_H
+
+#include <winsock2.h>
+#include <ntsecapi.h>
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define WSH_NOTIFY_BIND 0x00000001
+#define WSH_NOTIFY_LISTEN 0x00000002
+#define WSH_NOTIFY_CONNECT 0x00000004
+#define WSH_NOTIFY_ACCEPT 0x00000008
+#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
+#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
+#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
+#define WSH_NOTIFY_CLOSE 0x00000080
+#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
+#define SOL_INTERNAL 0xFFFE
+#define SO_CONTEXT 1
+
+#ifndef RC_INVOKED
+typedef enum _SOCKADDR_ADDRESS_INFO {
+ SockaddrAddressInfoNormal,
+ SockaddrAddressInfoWildcard,
+ SockaddrAddressInfoBroadcast,
+ SockaddrAddressInfoLoopback
+} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
+typedef enum _SOCKADDR_ENDPOINT_INFO {
+ SockaddrEndpointInfoNormal,
+ SockaddrEndpointInfoWildcard,
+ SockaddrEndpointInfoReserved
+} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
+typedef struct _WINSOCK_MAPPING {
+ DWORD Rows;
+ DWORD Columns;
+ struct {
+ DWORD AddressFamily;
+ DWORD SocketType;
+ DWORD Protocol;
+ } Mapping[1];
+} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
+typedef struct _SOCKADDR_INFO {
+ SOCKADDR_ADDRESS_INFO AddressInfo;
+ SOCKADDR_ENDPOINT_INFO EndpointInfo;
+} SOCKADDR_INFO, *PSOCKADDR_INFO;
+
+INT WINAPI WSHAddressToString(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
+INT WINAPI WSHEnumProtocols(LPINT,LPWSTR,LPVOID,LPDWORD);
+INT WINAPI WSHGetBroadcastSockaddr(PVOID,PSOCKADDR,PINT);
+INT WINAPI WSHGetProviderGuid(LPWSTR,LPGUID);
+INT WINAPI WSHGetSockaddrType(PSOCKADDR,DWORD,PSOCKADDR_INFO);
+INT WINAPI WSHGetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
+INT WINAPI WSHGetWildcardSockaddr(PVOID,PSOCKADDR,PINT);
+DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING,DWORD);
+INT WINAPI WSHGetWSAProtocolInfo(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
+INT WINAPI WSHIoctl(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,
+LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
+INT WINAPI WSHJoinLeaf(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,PSOCKADDR,
+DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
+INT WINAPI WSHNotify(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
+INT WINAPI WSHOpenSocket(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
+INT WINAPI WSHOpenSocket2(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
+INT WINAPI WSHSetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
+INT WINAPI WSHStringToAddress(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
+
+typedef INT (WINAPI *PWSH_ADDRESS_TO_STRING)(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
+typedef INT (WINAPI *PWSH_ENUM_PROTOCOLS)(LPINT,LPWSTR,LPVOID,LPDWORD);
+typedef INT (WINAPI *PWSH_GET_BROADCAST_SOCKADDR)(PVOID,PSOCKADDR,PINT);
+typedef INT (WINAPI *PWSH_GET_PROVIDER_GUID)(LPWSTR,LPGUID);
+typedef INT (WINAPI *PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR,DWORD,PSOCKADDR_INFO);
+typedef INT (WINAPI *PWSH_GET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
+typedef INT (WINAPI *PWSH_GET_WILDCARD_SOCKEADDR)(PVOID,PSOCKADDR,PINT);
+typedef DWORD (WINAPI *PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING,DWORD);
+typedef INT (WINAPI *PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
+typedef INT (WINAPI *PWSH_IOCTL)(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,
+ LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
+typedef INT (WINAPI *PWSH_JOIN_LEAF)(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,
+ PSOCKADDR,DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
+typedef INT (WINAPI *PWSH_NOTIFY)(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
+typedef INT (WINAPI *PWSH_OPEN_SOCKET)(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
+typedef INT (WINAPI *PWSH_OPEN_SOCKET2)(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
+typedef INT (WINAPI *PWSH_SET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
+typedef INT (WINAPI *PWSH_STRING_TO_ADDRESS)(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
+
+#endif /* RC_INVOKED */
+
+#ifdef __cplusplus
+};
+#endif /* __cplusplus */
+
+#endif /* _WSAHELP_H */