[MSAFD] Move the default debug channel to msafd.h.
[reactos.git] / dll / win32 / msafd / msafd.h
index ec8e9e5..3765c2f 100644 (file)
@@ -1,20 +1,21 @@
 /*
  * 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
  */
+
 #ifndef __MSAFD_H
 #define __MSAFD_H
 
+#include <stdarg.h>
+
 #define WIN32_NO_STATUS
 #define _INC_WINDOWS
 #define COM_NO_WINDOWS_H
-#include <stdarg.h>
+
 #include <windef.h>
 #include <winbase.h>
-#include <winuser.h>
-#include <winreg.h>
 #include <ws2spi.h>
 #define NTOS_MODE_USER
 #include <ndk/exfuncs.h>
 #include <wsahelp.h>
 #include <tdi.h>
 #include <afd/shared.h>
-#include <helpers.h>
+#include <mswsock.h>
+
+#include <wine/debug.h>
+WINE_DEFAULT_DEBUG_CHANNEL(msafd);
 
-#include <debug.h>
+#include "include/helpers.h"
 
 extern HANDLE GlobalHeap;
 extern WSPUPCALLTABLE Upcalls;
@@ -48,6 +52,7 @@ typedef enum _SOCKET_STATE {
 
 typedef struct _SOCK_SHARED_INFO {
     SOCKET_STATE                               State;
+    LONG                                               RefCount;
     INT                                                        AddressFamily;
     INT                                                        SocketType;
     INT                                                        Protocol;
@@ -58,6 +63,7 @@ typedef struct _SOCK_SHARED_INFO {
     ULONG                                              RecvTimeout;
     ULONG                                              SizeOfRecvBuffer;
     ULONG                                              SizeOfSendBuffer;
+    ULONG                                              ConnectTime;
     struct {
         BOOLEAN                                        Listening:1;
         BOOLEAN                                        Broadcast:1;
@@ -73,7 +79,6 @@ typedef struct _SOCK_SHARED_INFO {
                BOOLEAN                                 UseSAN:1;
     }; // Flags
     DWORD                                              CreateFlags;
-    DWORD                                              CatalogEntryId;
     DWORD                                              ServiceFlags1;
     DWORD                                              ProviderFlags;
     GROUP                                              GroupID;
@@ -86,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;
@@ -105,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;
 
@@ -127,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(
@@ -426,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(
@@ -434,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
 );
 
@@ -479,8 +498,8 @@ SockReenableAsyncSelectEvent (
 
 typedef VOID (*PASYNC_COMPLETION_ROUTINE)(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock);
 
-DWORD
 FORCEINLINE
+DWORD
 MsafdReturnWithErrno(NTSTATUS Status,
                      LPINT Errno,
                      DWORD Received,
@@ -507,5 +526,3 @@ MsafdReturnWithErrno(NTSTATUS Status,
 }
 
 #endif /* __MSAFD_H */
-
-/* EOF */