1b73c669df5c4e3e9639a14af0f04a7f9429456d
[reactos.git] / dll / win32 / msafd / include / helpers.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Ancillary Function Driver DLL
4 * FILE: include/helpers.h
5 * PURPOSE: Definitions for helper DLL management
6 */
7 #ifndef __HELPERS_H
8 #define __HELPERS_H
9
10 //#include <msafd.h>
11
12 typedef struct _HELPER_DATA {
13 LIST_ENTRY Helpers;
14 LONG RefCount;
15 HANDLE hInstance;
16 INT MinWSAddressLength;
17 INT MaxWSAddressLength;
18 INT MinTDIAddressLength;
19 INT MaxTDIAddressLength;
20 BOOLEAN UseDelayedAcceptance;
21 PWINSOCK_MAPPING Mapping;
22 PWSH_OPEN_SOCKET WSHOpenSocket;
23 PWSH_OPEN_SOCKET2 WSHOpenSocket2;
24 PWSH_JOIN_LEAF WSHJoinLeaf;
25 PWSH_NOTIFY WSHNotify;
26 PWSH_GET_SOCKET_INFORMATION WSHGetSocketInformation;
27 PWSH_SET_SOCKET_INFORMATION WSHSetSocketInformation;
28 PWSH_GET_SOCKADDR_TYPE WSHGetSockaddrType;
29 PWSH_GET_WILDCARD_SOCKEADDR WSHGetWildcardSockaddr;
30 PWSH_GET_BROADCAST_SOCKADDR WSHGetBroadcastSockaddr;
31 PWSH_ADDRESS_TO_STRING WSHAddressToString;
32 PWSH_STRING_TO_ADDRESS WSHStringToAddress;
33 PWSH_IOCTL WSHIoctl;
34 WCHAR TransportName[1];
35 } HELPER_DATA, *PHELPER_DATA;
36
37 int SockLoadHelperDll(
38 PWSTR TransportName,
39 PWINSOCK_MAPPING Mapping,
40 PHELPER_DATA *HelperDllData
41 );
42
43 int SockLoadTransportMapping(
44 PWSTR TransportName,
45 PWINSOCK_MAPPING *Mapping
46 );
47
48 int SockLoadTransportList(
49 PWSTR *TransportList
50 );
51
52 BOOL SockIsTripleInMapping(
53 PWINSOCK_MAPPING Mapping,
54 INT AddressFamily,
55 INT SocketType,
56 INT Protocol
57 );
58
59 int SockGetTdiName(
60 PINT AddressFamily,
61 PINT SocketType,
62 PINT Protocol,
63 GROUP Group,
64 DWORD Flags,
65 PUNICODE_STRING TransportName,
66 PVOID *HelperDllContext,
67 PHELPER_DATA *HelperDllData,
68 PDWORD Events
69 );
70
71 #endif /* __HELPERS_H */
72
73 /* EOF */