diff --git a/reactos/include/reactos/winsock/nsp_dns.h b/reactos/include/reactos/winsock/nsp_dns.h new file mode 100644 index 00000000000..c8c0e0cb847 --- /dev/null +++ b/reactos/include/reactos/winsock/nsp_dns.h @@ -0,0 +1,27 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS WinSock 2 Headers + * FILE: include/winsock/nsp_dns.h + * PURPOSE: WinSock 2 Shared NSP Header + */ + + +#ifndef __NSP_DNS_H +#define __NSP_DNS_H + +/* Includes */ +#include + +/* Globals */ +GUID HostnameGuid = SVCID_HOSTNAME; +GUID AddressGuid = SVCID_INET_HOSTADDRBYINETSTRING; +GUID HostAddrByNameGuid = SVCID_INET_HOSTADDRBYNAME; +GUID IANAGuid = SVCID_INET_SERVICEBYNAME; +GUID InetHostName = SVCID_INET_HOSTADDRBYNAME; +GUID Ipv6Guid = SVCID_DNS_TYPE_AAAA; + +/* Macros and Defines */ +#define RNR_BUFFER_SIZE 512 + +#endif + diff --git a/reactos/include/reactos/winsock/ws2help.h b/reactos/include/reactos/winsock/ws2help.h new file mode 100644 index 00000000000..c24eaa60851 --- /dev/null +++ b/reactos/include/reactos/winsock/ws2help.h @@ -0,0 +1,163 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS WinSock 2 Helper DLL + * FILE: include/libs/winsock/ws2help.h + * PURPOSE: WinSock 2 Helper DLL header + */ + +#ifndef __WS2HELP_H +#define __WS2HELP_H + +/* Types */ +typedef struct _WSH_HANDLE +{ + LONG RefCount; + HANDLE Handle; +} WSH_HANDLE, *PWAH_HANDLE; + +typedef struct _WSH_HASH_TABLE +{ + DWORD Size; + PWAH_HANDLE Handles[1]; +} WSH_HASH_TABLE, *PWAH_HASH_TABLE; + +typedef struct _WSH_SEARCH_TABLE +{ + volatile PWAH_HASH_TABLE HashTable; + volatile PLONG CurrentCount; + LONG Count1; + LONG Count2; + LONG SpinCount; + BOOL Expanding; + CRITICAL_SECTION Lock; +} WSH_SEARCH_TABLE, *PWAH_SEARCH_TABLE; + +typedef struct _WSH_HANDLE_TABLE +{ + DWORD Mask; + WSH_SEARCH_TABLE SearchTables[1]; +} WSH_HANDLE_TABLE, *PWAH_HANDLE_TABLE; + +//typedef struct _WSH_HANDLE_TABLE *PWAH_HANDLE_TABLE; + +typedef BOOL +(WINAPI *PWAH_HANDLE_ENUMERATE_PROC)( + IN PVOID Context, + IN PWAH_HANDLE Handle +); + +PWAH_HANDLE +WINAPI +WahReferenceContextByHandle( + IN PWAH_HANDLE_TABLE Table, + IN HANDLE Handle +); + +DWORD +WINAPI +WahRemoveHandleContext( + IN PWAH_HANDLE_TABLE Table, + IN PWAH_HANDLE Handle +); + +DWORD +WINAPI +WahCloseSocketHandle( + IN HANDLE HelperHandle, + IN SOCKET Socket +); + +DWORD +WINAPI +WahOpenCurrentThread( + IN HANDLE HelperHandle, + OUT LPWSATHREADID ThreadId +); + +DWORD +WINAPI +WahCloseApcHelper( + IN HANDLE HelperHandle +); + +DWORD +WINAPI +WahCloseThread( + IN HANDLE HelperHandle, + IN LPWSATHREADID ThreadId +); + +DWORD +WINAPI +WahCloseHandleHelper( + IN HANDLE HelperHandle +); + +DWORD +WINAPI +WahCloseNotificationHandleHelper( + IN HANDLE HelperHandle +); + +DWORD +WINAPI +WahOpenNotificationHandleHelper( + OUT PHANDLE HelperHandle +); + +DWORD +WINAPI +WahCreateNotificationHandle( + IN HANDLE HelperHandle, + OUT PHANDLE NotificationHelperHandle +); + +INT +WINAPI +WahWaitForNotification( + IN HANDLE NotificationHelperHandle, + IN HANDLE lpNotificationHandle, + IN LPWSAOVERLAPPED lpOverlapped, + IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine +); + +INT +WINAPI +WahNotifyAllProcesses( + IN HANDLE NotificationHelperHandle +); + +BOOL +WINAPI +WahEnumerateHandleContexts( + IN PWAH_HANDLE_TABLE Table, + IN PWAH_HANDLE_ENUMERATE_PROC Callback, + IN PVOID Context +); + +DWORD +WINAPI +WahCreateHandleContextTable( + OUT PWAH_HANDLE_TABLE *Table +); + +DWORD +WINAPI +WahDestroyHandleContextTable( + IN PWAH_HANDLE_TABLE Table +); + +PWAH_HANDLE +WINAPI +WahInsertHandleContext( + IN PWAH_HANDLE_TABLE Table, + IN PWAH_HANDLE Handle +); + +DWORD +WINAPI +WahOpenApcHelper( + OUT PHANDLE ApcHelperHandle +); + +#endif