Changelog:
MSAFD: Add PCH support, PSDK fixes
MISC: Fix everything to build with PSDK changes
PSDK Fixes:
w32api/include/ssdl.h - reimplement based on Wine header which was more
correct
w32api/include/ntsecapi.h - Remove duplicate structures and add typedef
w32api/include/winnt.h - add constant and missing structure
w32api/include/winioctl.h - add missing IOCTL code
w32api/include/winbase.h - add missing function declariation
w32api/include/aclui.h - remove duplicate structure
Modified: trunk/reactos/lib/aclui/precomp.h
Modified: trunk/reactos/lib/advapi32/advapi32.h
Modified: trunk/reactos/lib/msafd/include/helpers.h
Deleted: trunk/reactos/lib/msafd/include/msafd.h
Modified: trunk/reactos/lib/msafd/misc/dllmain.c
Modified: trunk/reactos/lib/msafd/misc/event.c
Modified: trunk/reactos/lib/msafd/misc/helpers.c
Modified: trunk/reactos/lib/msafd/misc/sndrcv.c
Modified: trunk/reactos/lib/msafd/misc/stubs.c
Added: trunk/reactos/lib/msafd/msafd.h
Modified: trunk/reactos/lib/msafd/msafd.xml
Modified: trunk/reactos/lib/netapi32/wksta.c
Modified: trunk/reactos/lib/secur32/lsa.c
Modified: trunk/reactos/lib/snmpapi/snmpapi.c
Modified: trunk/reactos/lib/ws2_32/include/ws2_32.h
Modified: trunk/reactos/lib/ws2help/ws2help.c
Modified: trunk/reactos/lib/ws2help/ws2help.h
Modified: trunk/reactos/lib/wshirda/wshirda.c
Modified: trunk/reactos/lib/wshirda/wshirda.h
Modified: trunk/reactos/subsys/system/lsass/lsass.c
Modified: trunk/reactos/subsys/system/winlogon/setup.c
Modified: trunk/reactos/subsys/system/winlogon/winlogon.h
Modified: trunk/reactos/w32api/include/aclui.h
Modified: trunk/reactos/w32api/include/ntsecapi.h
Modified: trunk/reactos/w32api/include/sddl.h
Modified: trunk/reactos/w32api/include/winbase.h
Modified: trunk/reactos/w32api/include/winioctl.h
Modified: trunk/reactos/w32api/include/winnt.h
_____
Modified: trunk/reactos/lib/aclui/precomp.h
--- trunk/reactos/lib/aclui/precomp.h 2005-08-15 01:41:24 UTC (rev
17393)
+++ trunk/reactos/lib/aclui/precomp.h 2005-08-15 02:24:48 UTC (rev
17394)
@@ -4,6 +4,7 @@
#include <prsht.h>
#include <aclui.h>
#include <sddl.h>
+#include <winternl.h>
#include <ntsecapi.h>
#if SUPPORT_UXTHEME
#include <uxtheme.h>
_____
Modified: trunk/reactos/lib/advapi32/advapi32.h
--- trunk/reactos/lib/advapi32/advapi32.h 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/advapi32/advapi32.h 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -13,11 +13,13 @@
/* PSDK/NDK Headers */
#include <windows.h>
-#include <ntsecapi.h>
#include <accctrl.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
+/* this has to go after the NDK when being used with the NDK */
+#include <ntsecapi.h>
+
#ifndef HAS_FN_PROGRESSW
#define FN_PROGRESSW FN_PROGRESS
#endif
_____
Modified: trunk/reactos/lib/msafd/include/helpers.h
--- trunk/reactos/lib/msafd/include/helpers.h 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/include/helpers.h 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -7,7 +7,7 @@
#ifndef __HELPERS_H
#define __HELPERS_H
-#include <msafd.h>
+//#include <msafd.h>
typedef struct _HELPER_DATA {
LIST_ENTRY Helpers;
_____
Deleted: trunk/reactos/lib/msafd/include/msafd.h
--- trunk/reactos/lib/msafd/include/msafd.h 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/include/msafd.h 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -1,472 +0,0 @@
-/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS Ancillary Function Driver DLL
- * FILE: include/msafd.h
- * PURPOSE: Ancillary Function Driver DLL header
- */
-#ifndef __MSAFD_H
-#define __MSAFD_H
-
-#include <roscfg.h>
-#include <stdlib.h>
-#include <windows.h>
-#include <wsahelp.h>
-#include <winsock2.h>
-#include <ws2spi.h>
-#include <ddk/tdi.h>
-#include <afd/shared.h>
-#include <helpers.h>
-#define NTOS_MODE_USER
-#include <ndk/ntndk.h>
-#include <debug.h>
-
-extern HANDLE GlobalHeap;
-extern WSPUPCALLTABLE Upcalls;
-extern LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
-extern LIST_ENTRY SockHelpersListHead;
-extern HANDLE SockEvent;
-extern HANDLE SockAsyncCompletionPort;
-extern BOOLEAN SockAsyncSelectCalled;
-
-typedef enum _SOCKET_STATE {
- SocketOpen,
- SocketBound,
- SocketBoundUdp,
- SocketConnected,
- SocketClosed
-} SOCKET_STATE, *PSOCKET_STATE;
-
-typedef struct _SOCK_SHARED_INFO {
- SOCKET_STATE State;
- INT
AddressFamily;
- INT
SocketType;
- INT
Protocol;
- INT
SizeOfLocalAddress;
- INT
SizeOfRemoteAddress;
- struct linger LingerData;
- ULONG SendTimeout;
- ULONG RecvTimeout;
- ULONG
SizeOfRecvBuffer;
- ULONG
SizeOfSendBuffer;
- struct {
- BOOLEAN Listening:1;
- BOOLEAN Broadcast:1;
- BOOLEAN Debug:1;
- BOOLEAN OobInline:1;
- BOOLEAN
ReuseAddresses:1;
- BOOLEAN
ExclusiveAddressUse:1;
- BOOLEAN NonBlocking:1;
- BOOLEAN
DontUseWildcard:1;
- BOOLEAN
ReceiveShutdown:1;
- BOOLEAN SendShutdown:1;
- BOOLEAN
UseDelayedAcceptance:1;
- BOOLEAN UseSAN:1;
- }; // Flags
- DWORD CreateFlags;
- DWORD CatalogEntryId;
- DWORD ServiceFlags1;
- DWORD ProviderFlags;
- GROUP GroupID;
- DWORD GroupType;
- INT
GroupPriority;
- INT
SocketLastError;
- HWND hWnd;
- LONG Unknown;
- DWORD SequenceNumber;
- UINT wMsg;
- LONG AsyncEvents;
- LONG
AsyncDisabledEvents;
-} SOCK_SHARED_INFO, *PSOCK_SHARED_INFO;
-
-typedef struct _SOCKET_INFORMATION {
- ULONG RefCount;
- SOCKET Handle;
- SOCK_SHARED_INFO SharedData;
- DWORD HelperEvents;
- PHELPER_DATA HelperData;
- PVOID HelperContext;
- PSOCKADDR LocalAddress;
- PSOCKADDR RemoteAddress;
- HANDLE TdiAddressHandle;
- HANDLE TdiConnectionHandle;
- PVOID AsyncData;
- HANDLE EventObject;
- LONG NetworkEvents;
- CRITICAL_SECTION Lock;
- PVOID SanData;
- BOOL TrySAN;
- SOCKADDR WSLocalAddress;
- SOCKADDR WSRemoteAddress;
-} SOCKET_INFORMATION, *PSOCKET_INFORMATION;
-
-
-typedef struct _SOCKET_CONTEXT {
- SOCK_SHARED_INFO SharedData;
- ULONG SizeOfHelperData;
- ULONG Padding;
- SOCKADDR LocalAddress;
- SOCKADDR RemoteAddress;
- /* Plus Helper Data */
-} SOCKET_CONTEXT, *PSOCKET_CONTEXT;
-
-typedef struct _ASYNC_DATA {
- PSOCKET_INFORMATION ParentSocket;
- DWORD SequenceNumber;
- IO_STATUS_BLOCK IoStatusBlock;
- AFD_POLL_INFO AsyncSelectInfo;
-} ASYNC_DATA, *PASYNC_DATA;
-
-SOCKET
-WSPAPI
-WSPAccept(
- IN SOCKET s,
- OUT LPSOCKADDR addr,
- IN OUT LPINT addrlen,
- IN LPCONDITIONPROC lpfnCondition,
- IN DWORD dwCallbackData,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPAddressToString(
- IN LPSOCKADDR lpsaAddress,
- IN DWORD dwAddressLength,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- OUT LPWSTR lpszAddressString,
- IN OUT LPDWORD lpdwAddressStringLength,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPAsyncSelect(
- IN SOCKET s,
- IN HWND hWnd,
- IN UINT wMsg,
- IN LONG lEvent,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI WSPBind(
- IN SOCKET s,
- IN CONST SOCKADDR *name,
- IN INT namelen,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPCancelBlockingCall(
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPCleanup(
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPCloseSocket(
- IN SOCKET s,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPConnect(
- IN SOCKET s,
- IN CONST SOCKADDR *name,
- IN INT namelen,
- IN LPWSABUF lpCallerData,
- OUT LPWSABUF lpCalleeData,
- IN LPQOS lpSQOS,
- IN LPQOS lpGQOS,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPDuplicateSocket(
- IN SOCKET s,
- IN DWORD dwProcessId,
- OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPEnumNetworkEvents(
- IN SOCKET s,
- IN WSAEVENT hEventObject,
- OUT LPWSANETWORKEVENTS lpNetworkEvents,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPEventSelect(
- IN SOCKET s,
- IN WSAEVENT hEventObject,
- IN LONG lNetworkEvents,
- OUT LPINT lpErrno);
-
-BOOL
-WSPAPI
-WSPGetOverlappedResult(
- IN SOCKET s,
- IN LPWSAOVERLAPPED lpOverlapped,
- OUT LPDWORD lpcbTransfer,
- IN BOOL fWait,
- OUT LPDWORD lpdwFlags,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPGetPeerName(
- IN SOCKET s,
- OUT LPSOCKADDR name,
- IN OUT LPINT namelen,
- OUT LPINT lpErrno);
-
-BOOL
-WSPAPI
-WSPGetQOSByName(
- IN SOCKET s,
- IN OUT LPWSABUF lpQOSName,
- OUT LPQOS lpQOS,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPGetSockName(
- IN SOCKET s,
- OUT LPSOCKADDR name,
- IN OUT LPINT namelen,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPGetSockOpt(
- IN SOCKET s,
- IN INT level,
- IN INT optname,
- OUT CHAR FAR* optval,
- IN OUT LPINT optlen,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPIoctl(
- IN SOCKET s,
- IN DWORD dwIoControlCode,
- IN LPVOID lpvInBuffer,
- IN DWORD cbInBuffer,
- OUT LPVOID lpvOutBuffer,
- IN DWORD cbOutBuffer,
- OUT LPDWORD lpcbBytesReturned,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-SOCKET
-WSPAPI
-WSPJoinLeaf(
- IN SOCKET s,
- IN CONST SOCKADDR *name,
- IN INT namelen,
- IN LPWSABUF lpCallerData,
- OUT LPWSABUF lpCalleeData,
- IN LPQOS lpSQOS,
- IN LPQOS lpGQOS,
- IN DWORD dwFlags,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPListen(
- IN SOCKET s,
- IN INT backlog,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPRecv(
- IN SOCKET s,
- IN OUT LPWSABUF lpBuffers,
- IN DWORD dwBufferCount,
- OUT LPDWORD lpNumberOfBytesRecvd,
- IN OUT LPDWORD lpFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPRecvDisconnect(
- IN SOCKET s,
- OUT LPWSABUF lpInboundDisconnectData,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPRecvFrom(
- IN SOCKET s,
- IN OUT LPWSABUF lpBuffers,
- IN DWORD dwBufferCount,
- OUT LPDWORD lpNumberOfBytesRecvd,
- IN OUT LPDWORD lpFlags,
- OUT LPSOCKADDR lpFrom,
- IN OUT LPINT lpFromlen,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPSelect(
- IN INT nfds,
- IN OUT LPFD_SET readfds,
- IN OUT LPFD_SET writefds,
- IN OUT LPFD_SET exceptfds,
- IN CONST LPTIMEVAL timeout,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPSend(
- IN SOCKET s,
- IN LPWSABUF lpBuffers,
- IN DWORD dwBufferCount,
- OUT LPDWORD lpNumberOfBytesSent,
- IN DWORD dwFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPSendDisconnect(
- IN SOCKET s,
- IN LPWSABUF lpOutboundDisconnectData,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPSendTo(
- IN SOCKET s,
- IN LPWSABUF lpBuffers,
- IN DWORD dwBufferCount,
- OUT LPDWORD lpNumberOfBytesSent,
- IN DWORD dwFlags,
- IN CONST SOCKADDR *lpTo,
- IN INT iTolen,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPSetSockOpt(
- IN SOCKET s,
- IN INT level,
- IN INT optname,
- IN CONST CHAR FAR* optval,
- IN INT optlen,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPShutdown(
- IN SOCKET s,
- IN INT how,
- OUT LPINT lpErrno);
-
-SOCKET
-WSPAPI
-WSPSocket(
- IN INT af,
- IN INT type,
- IN INT protocol,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- IN GROUP g,
- IN DWORD dwFlags,
- OUT LPINT lpErrno);
-
-INT
-WSPAPI
-WSPStringToAddress(
- IN LPWSTR AddressString,
- IN INT AddressFamily,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- OUT LPSOCKADDR lpAddress,
- IN OUT LPINT lpAddressLength,
- OUT LPINT lpErrno);
-
-
-PSOCKET_INFORMATION GetSocketStructure(
- SOCKET Handle
-);
-
-VOID DeleteSocketStructure( SOCKET Handle );
-
-int GetSocketInformation(
- PSOCKET_INFORMATION Socket,
- ULONG AfdInformationClass,
- PULONG Ulong OPTIONAL,
- PLARGE_INTEGER LargeInteger OPTIONAL
-);
-
-int SetSocketInformation(
- PSOCKET_INFORMATION Socket,
- ULONG AfdInformationClass,
- PULONG Ulong OPTIONAL,
- PLARGE_INTEGER LargeInteger OPTIONAL
-);
-
-int CreateContext(
- PSOCKET_INFORMATION Socket
-);
-
-int SockAsyncThread(
- PVOID ThreadParam
-);
-
-VOID
-SockProcessAsyncSelect(
- PSOCKET_INFORMATION Socket,
- PASYNC_DATA AsyncData
-);
-
-VOID
-SockAsyncSelectCompletionRoutine(
- PVOID Context,
- PIO_STATUS_BLOCK IoStatusBlock
-);
-
-BOOLEAN
-SockCreateOrReferenceAsyncThread(
- VOID
-);
-
-BOOLEAN SockGetAsyncSelectHelperAfdHandle(
- VOID
-);
-
-VOID SockProcessQueuedAsyncSelect(
- PVOID Context,
- PIO_STATUS_BLOCK IoStatusBlock
-);
-
-VOID
-SockReenableAsyncSelectEvent (
- IN PSOCKET_INFORMATION Socket,
- IN ULONG Event
- );
-
-DWORD MsafdReturnWithErrno( NTSTATUS Status, LPINT Errno, DWORD
Received,
- LPDWORD ReturnedBytes );
-
-typedef VOID (*PASYNC_COMPLETION_ROUTINE)(PVOID Context,
PIO_STATUS_BLOCK IoStatusBlock);
-
-#endif /* __MSAFD_H */
-
-/* EOF */
_____
Modified: trunk/reactos/lib/msafd/misc/dllmain.c
--- trunk/reactos/lib/msafd/misc/dllmain.c 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/misc/dllmain.c 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -10,11 +10,10 @@
* CSH 01/09-2000 Created
* Alex 16/07/2004 - Complete Rewrite
*/
-#include <roscfg.h>
-#include <string.h>
#include <msafd.h>
-#include <helpers.h>
+#include <debug.h>
+
#ifdef DBG
//DWORD DebugTraceLevel = DEBUG_ULTRA;
DWORD DebugTraceLevel = 0;
_____
Modified: trunk/reactos/lib/msafd/misc/event.c
--- trunk/reactos/lib/msafd/misc/event.c 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/misc/event.c 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -10,9 +10,10 @@
* Alex 16/07/2004 - Complete Rewrite
*/
-#include <roscfg.h>
#include <msafd.h>
+#include <debug.h>
+
int
WSPAPI
WSPEventSelect(
_____
Modified: trunk/reactos/lib/msafd/misc/helpers.c
--- trunk/reactos/lib/msafd/misc/helpers.c 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/misc/helpers.c 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -10,8 +10,9 @@
* Alex 16/07/2004 - Complete Rewrite
*/
#include <msafd.h>
-#include <helpers.h>
+#include <debug.h>
+
CRITICAL_SECTION HelperDLLDatabaseLock;
LIST_ENTRY HelperDLLDatabaseListHead;
_____
Modified: trunk/reactos/lib/msafd/misc/sndrcv.c
--- trunk/reactos/lib/msafd/misc/sndrcv.c 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/misc/sndrcv.c 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -10,9 +10,8 @@
* Alex 16/07/2004 - Complete Rewrite
*/
-#include <roscfg.h>
-#include <string.h>
#include <msafd.h>
+
#include <debug.h>
INT
_____
Modified: trunk/reactos/lib/msafd/misc/stubs.c
--- trunk/reactos/lib/msafd/misc/stubs.c 2005-08-15 01:41:24 UTC
(rev 17393)
+++ trunk/reactos/lib/msafd/misc/stubs.c 2005-08-15 02:24:48 UTC
(rev 17394)
@@ -9,6 +9,7 @@
*/
#include <msafd.h>
+#include <debug.h>
INT
WSPAPI
_____
Added: trunk/reactos/lib/msafd/msafd.h
--- trunk/reactos/lib/msafd/msafd.h 2005-08-15 01:41:24 UTC (rev
17393)
+++ trunk/reactos/lib/msafd/msafd.h 2005-08-15 02:24:48 UTC (rev
17394)
@@ -0,0 +1,474 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Ancillary Function Driver DLL
+ * FILE: include/msafd.h
+ * PURPOSE: Ancillary Function Driver DLL header
+ */
+#ifndef __MSAFD_H
+#define __MSAFD_H
+
+#include <stdio.h>
+
+#include <stdlib.h>
+#include <windows.h>
+#include <winsock2.h>
+#include <ws2spi.h>
+#define NTOS_MODE_USER
+#include <ndk/ntndk.h>
+
+/* This includes ntsecapi.h so it needs to come after the NDK */
+#include <wsahelp.h>
+#include <ddk/tdi.h>
+#include <afd/shared.h>
+#include <helpers.h>
+
+extern HANDLE GlobalHeap;
+extern WSPUPCALLTABLE Upcalls;
+extern LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
+extern LIST_ENTRY SockHelpersListHead;
+extern HANDLE SockEvent;
+extern HANDLE SockAsyncCompletionPort;
+extern BOOLEAN SockAsyncSelectCalled;
+
+typedef enum _SOCKET_STATE {
+ SocketOpen,
+ SocketBound,
+ SocketBoundUdp,
+ SocketConnected,
+ SocketClosed
+} SOCKET_STATE, *PSOCKET_STATE;
+
+typedef struct _SOCK_SHARED_INFO {
+ SOCKET_STATE State;
+ INT
AddressFamily;
+ INT
SocketType;
+ INT
Protocol;
+ INT
SizeOfLocalAddress;
+ INT
SizeOfRemoteAddress;
+ struct linger LingerData;
+ ULONG SendTimeout;
+ ULONG RecvTimeout;
+ ULONG
SizeOfRecvBuffer;
+ ULONG
SizeOfSendBuffer;
+ struct {
+ BOOLEAN Listening:1;
+ BOOLEAN Broadcast:1;
+ BOOLEAN Debug:1;
+ BOOLEAN OobInline:1;
+ BOOLEAN
ReuseAddresses:1;
+ BOOLEAN
ExclusiveAddressUse:1;
+ BOOLEAN NonBlocking:1;
+ BOOLEAN
DontUseWildcard:1;
+ BOOLEAN
ReceiveShutdown:1;
+ BOOLEAN SendShutdown:1;
+ BOOLEAN
UseDelayedAcceptance:1;
+ BOOLEAN UseSAN:1;
+ }; // Flags
+ DWORD CreateFlags;
+ DWORD CatalogEntryId;
+ DWORD ServiceFlags1;
+ DWORD ProviderFlags;
+ GROUP GroupID;
+ DWORD GroupType;
+ INT
GroupPriority;
+ INT
SocketLastError;
+ HWND hWnd;
+ LONG Unknown;
+ DWORD SequenceNumber;
+ UINT wMsg;
+ LONG AsyncEvents;
+ LONG
AsyncDisabledEvents;
+} SOCK_SHARED_INFO, *PSOCK_SHARED_INFO;
+
+typedef struct _SOCKET_INFORMATION {
+ ULONG RefCount;
+ SOCKET Handle;
+ SOCK_SHARED_INFO SharedData;
+ DWORD HelperEvents;
+ PHELPER_DATA HelperData;
+ PVOID HelperContext;
+ PSOCKADDR LocalAddress;
+ PSOCKADDR RemoteAddress;
+ HANDLE TdiAddressHandle;
+ HANDLE TdiConnectionHandle;
+ PVOID AsyncData;
+ HANDLE EventObject;
+ LONG NetworkEvents;
+ CRITICAL_SECTION Lock;
+ PVOID SanData;
+ BOOL TrySAN;
+ SOCKADDR WSLocalAddress;
+ SOCKADDR WSRemoteAddress;
+} SOCKET_INFORMATION, *PSOCKET_INFORMATION;
+
+
+typedef struct _SOCKET_CONTEXT {
+ SOCK_SHARED_INFO SharedData;
+ ULONG SizeOfHelperData;
+ ULONG Padding;
+ SOCKADDR LocalAddress;
+ SOCKADDR RemoteAddress;
+ /* Plus Helper Data */
+} SOCKET_CONTEXT, *PSOCKET_CONTEXT;
+
+typedef struct _ASYNC_DATA {
+ PSOCKET_INFORMATION ParentSocket;
+ DWORD SequenceNumber;
+ IO_STATUS_BLOCK IoStatusBlock;
+ AFD_POLL_INFO AsyncSelectInfo;
+} ASYNC_DATA, *PASYNC_DATA;
+
+SOCKET
+WSPAPI
+WSPAccept(
+ IN SOCKET s,
+ OUT LPSOCKADDR addr,
+ IN OUT LPINT addrlen,
+ IN LPCONDITIONPROC lpfnCondition,
+ IN DWORD dwCallbackData,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPAddressToString(
+ IN LPSOCKADDR lpsaAddress,
+ IN DWORD dwAddressLength,
+ IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
+ OUT LPWSTR lpszAddressString,
+ IN OUT LPDWORD lpdwAddressStringLength,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPAsyncSelect(
+ IN SOCKET s,
+ IN HWND hWnd,
+ IN UINT wMsg,
+ IN LONG lEvent,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI WSPBind(
+ IN SOCKET s,
+ IN CONST SOCKADDR *name,
+ IN INT namelen,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPCancelBlockingCall(
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPCleanup(
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPCloseSocket(
+ IN SOCKET s,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPConnect(
+ IN SOCKET s,
+ IN CONST SOCKADDR *name,
+ IN INT namelen,
+ IN LPWSABUF lpCallerData,
+ OUT LPWSABUF lpCalleeData,
+ IN LPQOS lpSQOS,
+ IN LPQOS lpGQOS,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPDuplicateSocket(
+ IN SOCKET s,
+ IN DWORD dwProcessId,
+ OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPEnumNetworkEvents(
+ IN SOCKET s,
+ IN WSAEVENT hEventObject,
+ OUT LPWSANETWORKEVENTS lpNetworkEvents,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPEventSelect(
+ IN SOCKET s,
+ IN WSAEVENT hEventObject,
+ IN LONG lNetworkEvents,
+ OUT LPINT lpErrno);
+
+BOOL
+WSPAPI
+WSPGetOverlappedResult(
+ IN SOCKET s,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ OUT LPDWORD lpcbTransfer,
+ IN BOOL fWait,
+ OUT LPDWORD lpdwFlags,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPGetPeerName(
+ IN SOCKET s,
+ OUT LPSOCKADDR name,
+ IN OUT LPINT namelen,
+ OUT LPINT lpErrno);
+
+BOOL
+WSPAPI
+WSPGetQOSByName(
+ IN SOCKET s,
+ IN OUT LPWSABUF lpQOSName,
+ OUT LPQOS lpQOS,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPGetSockName(
+ IN SOCKET s,
+ OUT LPSOCKADDR name,
+ IN OUT LPINT namelen,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPGetSockOpt(
+ IN SOCKET s,
+ IN INT level,
+ IN INT optname,
+ OUT CHAR FAR* optval,
+ IN OUT LPINT optlen,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPIoctl(
+ IN SOCKET s,
+ IN DWORD dwIoControlCode,
+ IN LPVOID lpvInBuffer,
+ IN DWORD cbInBuffer,
+ OUT LPVOID lpvOutBuffer,
+ IN DWORD cbOutBuffer,
+ OUT LPDWORD lpcbBytesReturned,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
+ IN LPWSATHREADID lpThreadId,
+ OUT LPINT lpErrno);
+
+SOCKET
+WSPAPI
+WSPJoinLeaf(
+ IN SOCKET s,
+ IN CONST SOCKADDR *name,
+ IN INT namelen,
+ IN LPWSABUF lpCallerData,
+ OUT LPWSABUF lpCalleeData,
+ IN LPQOS lpSQOS,
+ IN LPQOS lpGQOS,
+ IN DWORD dwFlags,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPListen(
+ IN SOCKET s,
+ IN INT backlog,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPRecv(
+ IN SOCKET s,
+ IN OUT LPWSABUF lpBuffers,
+ IN DWORD dwBufferCount,
+ OUT LPDWORD lpNumberOfBytesRecvd,
+ IN OUT LPDWORD lpFlags,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
+ IN LPWSATHREADID lpThreadId,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPRecvDisconnect(
+ IN SOCKET s,
+ OUT LPWSABUF lpInboundDisconnectData,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPRecvFrom(
+ IN SOCKET s,
+ IN OUT LPWSABUF lpBuffers,
+ IN DWORD dwBufferCount,
+ OUT LPDWORD lpNumberOfBytesRecvd,
+ IN OUT LPDWORD lpFlags,
+ OUT LPSOCKADDR lpFrom,
+ IN OUT LPINT lpFromlen,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
+ IN LPWSATHREADID lpThreadId,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPSelect(
+ IN INT nfds,
+ IN OUT LPFD_SET readfds,
+ IN OUT LPFD_SET writefds,
+ IN OUT LPFD_SET exceptfds,
+ IN CONST LPTIMEVAL timeout,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPSend(
+ IN SOCKET s,
+ IN LPWSABUF lpBuffers,
+ IN DWORD dwBufferCount,
+ OUT LPDWORD lpNumberOfBytesSent,
+ IN DWORD dwFlags,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
+ IN LPWSATHREADID lpThreadId,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPSendDisconnect(
+ IN SOCKET s,
+ IN LPWSABUF lpOutboundDisconnectData,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPSendTo(
+ IN SOCKET s,
+ IN LPWSABUF lpBuffers,
+ IN DWORD dwBufferCount,
+ OUT LPDWORD lpNumberOfBytesSent,
+ IN DWORD dwFlags,
+ IN CONST SOCKADDR *lpTo,
+ IN INT iTolen,
+ IN LPWSAOVERLAPPED lpOverlapped,
+ IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
+ IN LPWSATHREADID lpThreadId,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPSetSockOpt(
+ IN SOCKET s,
+ IN INT level,
+ IN INT optname,
+ IN CONST CHAR FAR* optval,
+ IN INT optlen,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPShutdown(
+ IN SOCKET s,
+ IN INT how,
+ OUT LPINT lpErrno);
+
+SOCKET
+WSPAPI
+WSPSocket(
+ IN INT af,
+ IN INT type,
+ IN INT protocol,
+ IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
+ IN GROUP g,
+ IN DWORD dwFlags,
+ OUT LPINT lpErrno);
+
+INT
+WSPAPI
+WSPStringToAddress(
[truncated at 1000 lines; 457 more skipped]