xref: /reactos/dll/win32/msafd/include/helpers.h (revision 84344399)
1 /*
2  * COPYRIGHT:   See COPYING in the top level directory
3  * PROJECT:     ReactOS Ancillary Function Driver DLL
4  * FILE:        dll/win32/msafd/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_SOCKADDR      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 */
74