[MSAFD] Move the default debug channel to msafd.h.
[reactos.git] / dll / win32 / msafd / msafd.h
index b4e5be4..3765c2f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * COPYRIGHT:   See COPYING in the top level directory
  * PROJECT:     ReactOS Ancillary Function Driver DLL
- * FILE:        include/msafd.h
+ * FILE:        dll/win32/msafd/msafd.h
  * PURPOSE:     Ancillary Function Driver DLL header
  */
 
 #include <wsahelp.h>
 #include <tdi.h>
 #include <afd/shared.h>
-#include <helpers.h>
+#include <mswsock.h>
 
-#include <debug.h>
+#include <wine/debug.h>
+WINE_DEFAULT_DEBUG_CHANNEL(msafd);
+
+#include "include/helpers.h"
 
 extern HANDLE GlobalHeap;
 extern WSPUPCALLTABLE Upcalls;
@@ -49,6 +52,7 @@ typedef enum _SOCKET_STATE {
 
 typedef struct _SOCK_SHARED_INFO {
     SOCKET_STATE                               State;
+    LONG                                               RefCount;
     INT                                                        AddressFamily;
     INT                                                        SocketType;
     INT                                                        Protocol;
@@ -59,6 +63,7 @@ typedef struct _SOCK_SHARED_INFO {
     ULONG                                              RecvTimeout;
     ULONG                                              SizeOfRecvBuffer;
     ULONG                                              SizeOfSendBuffer;
+    ULONG                                              ConnectTime;
     struct {
         BOOLEAN                                        Listening:1;
         BOOLEAN                                        Broadcast:1;
@@ -74,7 +79,6 @@ typedef struct _SOCK_SHARED_INFO {
                BOOLEAN                                 UseSAN:1;
     }; // Flags
     DWORD                                              CreateFlags;
-    DWORD                                              CatalogEntryId;
     DWORD                                              ServiceFlags1;
     DWORD                                              ProviderFlags;
     GROUP                                              GroupID;
@@ -87,12 +91,14 @@ typedef struct _SOCK_SHARED_INFO {
     UINT                                               wMsg;
     LONG                                               AsyncEvents;
     LONG                                               AsyncDisabledEvents;
+    SOCKADDR                                   WSLocalAddress;
+    SOCKADDR                                   WSRemoteAddress;
 } SOCK_SHARED_INFO, *PSOCK_SHARED_INFO;
 
 typedef struct _SOCKET_INFORMATION {
-       ULONG RefCount;
        SOCKET Handle;
-       SOCK_SHARED_INFO SharedData;
+       PSOCK_SHARED_INFO SharedData;
+       HANDLE SharedDataHandle;
        DWORD HelperEvents;
        PHELPER_DATA HelperData;
        PVOID HelperContext;
@@ -106,8 +112,7 @@ typedef struct _SOCKET_INFORMATION {
        CRITICAL_SECTION Lock;
        PVOID SanData;
        BOOL TrySAN;
-       SOCKADDR WSLocalAddress;
-       SOCKADDR WSRemoteAddress;
+       WSAPROTOCOL_INFOW ProtocolInfo;
        struct _SOCKET_INFORMATION *NextSocket;
 } SOCKET_INFORMATION, *PSOCKET_INFORMATION;
 
@@ -128,6 +133,13 @@ typedef struct _ASYNC_DATA {
        AFD_POLL_INFO AsyncSelectInfo;
 } ASYNC_DATA, *PASYNC_DATA;
 
+typedef struct _AFDAPCCONTEXT
+{
+    LPWSAOVERLAPPED lpOverlapped;
+    LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine;
+    PSOCKET_INFORMATION lpSocket;
+} AFDAPCCONTEXT, *PAFDAPCCONTEXT;
+
 SOCKET
 WSPAPI
 WSPAccept(
@@ -427,7 +439,9 @@ int GetSocketInformation(
        ULONG                           AfdInformationClass,
     PBOOLEAN            Boolean      OPTIONAL,
        PULONG              Ulong        OPTIONAL,
-       PLARGE_INTEGER          LargeInteger OPTIONAL
+       PLARGE_INTEGER          LargeInteger OPTIONAL,
+    LPWSAOVERLAPPED     Overlapped   OPTIONAL,
+    LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine OPTIONAL
 );
 
 int SetSocketInformation(
@@ -435,14 +449,18 @@ int SetSocketInformation(
        ULONG                           AfdInformationClass,
     PBOOLEAN            Boolean      OPTIONAL,
        PULONG                          Ulong            OPTIONAL,
-       PLARGE_INTEGER          LargeInteger OPTIONAL
+       PLARGE_INTEGER          LargeInteger OPTIONAL,
+    LPWSAOVERLAPPED     Overlapped   OPTIONAL,
+    LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine OPTIONAL
 );
 
 int CreateContext(
        PSOCKET_INFORMATION Socket
 );
 
-int SockAsyncThread(
+ULONG
+NTAPI
+SockAsyncThread(
        PVOID ThreadParam
 );