ReactOS 0.4.16-dev-2284-g3529151
msafd.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Ancillary Function Driver DLL
4 * FILE: dll/win32/msafd/msafd.h
5 * PURPOSE: Ancillary Function Driver DLL header
6 */
7
8#ifndef __MSAFD_H
9#define __MSAFD_H
10
11#include <stdarg.h>
12
13#define WIN32_NO_STATUS
14#define _INC_WINDOWS
15#define COM_NO_WINDOWS_H
16
17#include <windef.h>
18#include <winbase.h>
19#include <ws2spi.h>
20#define NTOS_MODE_USER
21#include <ndk/exfuncs.h>
22#include <ndk/iofuncs.h>
23#include <ndk/obfuncs.h>
24#include <ndk/rtlfuncs.h>
25
26/* This includes ntsecapi.h so it needs to come after the NDK */
27#include <wsahelp.h>
28#include <tdi.h>
29#include <afd/shared.h>
30#include <mswsock.h>
31
32#include <wine/debug.h>
34
35#include "include/helpers.h"
36
37extern HANDLE GlobalHeap;
41extern HANDLE SockEvent;
44
45typedef struct _SOCKET_INFORMATION {
65
66
67typedef struct _SOCKET_CONTEXT {
73 /* Plus Helper Data */
75
76typedef struct _ASYNC_DATA {
82
84{
89
91{
97
99{
104
106{
110
111
113SOCKET
114WSPAPI
116 _In_ SOCKET s,
117 _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR * addr,
118 _Inout_opt_ LPINT addrlen,
119 _In_opt_ LPCONDITIONPROC lpfnCondition,
120 _In_opt_ DWORD_PTR dwCallbackData,
121 _Out_ LPINT lpErrno);
122
123INT
124WSPAPI
126 IN LPSOCKADDR lpsaAddress,
127 IN DWORD dwAddressLength,
128 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
129 OUT LPWSTR lpszAddressString,
130 IN OUT LPDWORD lpdwAddressStringLength,
131 OUT LPINT lpErrno);
132
133INT
134WSPAPI
136 IN SOCKET s,
137 IN HWND hWnd,
138 IN UINT wMsg,
139 IN LONG lEvent,
140 OUT LPINT lpErrno);
141
142INT
144 IN SOCKET s,
146 IN INT namelen,
147 OUT LPINT lpErrno);
148
149INT
150WSPAPI
152 OUT LPINT lpErrno);
153
154INT
155WSPAPI
157 OUT LPINT lpErrno);
158
159INT
160WSPAPI
162 IN SOCKET s,
163 OUT LPINT lpErrno);
164
165INT
166WSPAPI
168 IN SOCKET s,
170 IN INT namelen,
171 IN LPWSABUF lpCallerData,
172 OUT LPWSABUF lpCalleeData,
173 IN LPQOS lpSQOS,
174 IN LPQOS lpGQOS,
175 OUT LPINT lpErrno);
176
177INT
178WSPAPI
180 IN SOCKET s,
182 OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
183 OUT LPINT lpErrno);
184
185INT
186WSPAPI
188 IN SOCKET s,
189 IN WSAEVENT hEventObject,
190 OUT LPWSANETWORKEVENTS lpNetworkEvents,
191 OUT LPINT lpErrno);
192
193INT
194WSPAPI
196 IN SOCKET s,
197 IN WSAEVENT hEventObject,
198 IN LONG lNetworkEvents,
199 OUT LPINT lpErrno);
200
201BOOL
202WSPAPI
204 IN SOCKET s,
206 OUT LPDWORD lpcbTransfer,
207 IN BOOL fWait,
208 OUT LPDWORD lpdwFlags,
209 OUT LPINT lpErrno);
210
211INT
212WSPAPI
214 IN SOCKET s,
217 OUT LPINT lpErrno);
218
219BOOL
220WSPAPI
222 IN SOCKET s,
223 IN OUT LPWSABUF lpQOSName,
224 OUT LPQOS lpQOS,
225 OUT LPINT lpErrno);
226
227INT
228WSPAPI
230 IN SOCKET s,
233 OUT LPINT lpErrno);
234
235INT
236WSPAPI
238 IN SOCKET s,
239 IN INT level,
240 IN INT optname,
241 OUT CHAR FAR* optval,
242 IN OUT LPINT optlen,
243 OUT LPINT lpErrno);
244
245INT
246WSPAPI
248 IN SOCKET s,
250 IN LPVOID lpvInBuffer,
251 IN DWORD cbInBuffer,
252 OUT LPVOID lpvOutBuffer,
253 IN DWORD cbOutBuffer,
254 OUT LPDWORD lpcbBytesReturned,
256 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
257 IN LPWSATHREADID lpThreadId,
258 OUT LPINT lpErrno);
259
260SOCKET
261WSPAPI
263 IN SOCKET s,
265 IN INT namelen,
266 IN LPWSABUF lpCallerData,
267 OUT LPWSABUF lpCalleeData,
268 IN LPQOS lpSQOS,
269 IN LPQOS lpGQOS,
271 OUT LPINT lpErrno);
272
273INT
274WSPAPI
276 IN SOCKET s,
277 IN INT backlog,
278 OUT LPINT lpErrno);
279
280INT
281WSPAPI
283 IN SOCKET s,
284 IN OUT LPWSABUF lpBuffers,
285 IN DWORD dwBufferCount,
286 OUT LPDWORD lpNumberOfBytesRecvd,
287 IN OUT LPDWORD lpFlags,
289 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
290 IN LPWSATHREADID lpThreadId,
291 OUT LPINT lpErrno);
292
293INT
294WSPAPI
296 IN SOCKET s,
297 OUT LPWSABUF lpInboundDisconnectData,
298 OUT LPINT lpErrno);
299
300INT
301WSPAPI
303 IN SOCKET s,
304 IN OUT LPWSABUF lpBuffers,
305 IN DWORD dwBufferCount,
306 OUT LPDWORD lpNumberOfBytesRecvd,
307 IN OUT LPDWORD lpFlags,
308 OUT LPSOCKADDR lpFrom,
309 IN OUT LPINT lpFromlen,
311 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
312 IN LPWSATHREADID lpThreadId,
313 OUT LPINT lpErrno);
314
315INT
316WSPAPI
318 IN INT nfds,
319 IN OUT fd_set *readfds,
320 IN OUT fd_set *writefds,
321 IN OUT fd_set *exceptfds,
322 IN CONST struct timeval *timeout,
323 OUT LPINT lpErrno);
324
325INT
326WSPAPI
328 IN SOCKET s,
329 IN LPWSABUF lpBuffers,
330 IN DWORD dwBufferCount,
331 OUT LPDWORD lpNumberOfBytesSent,
334 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
335 IN LPWSATHREADID lpThreadId,
336 OUT LPINT lpErrno);
337
338INT
339WSPAPI
341 IN SOCKET s,
342 IN LPWSABUF lpOutboundDisconnectData,
343 OUT LPINT lpErrno);
344
345INT
346WSPAPI
348 IN SOCKET s,
349 IN LPWSABUF lpBuffers,
350 IN DWORD dwBufferCount,
351 OUT LPDWORD lpNumberOfBytesSent,
353 IN CONST SOCKADDR *lpTo,
354 IN INT iTolen,
356 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
357 IN LPWSATHREADID lpThreadId,
358 OUT LPINT lpErrno);
359
360INT
361WSPAPI
363 IN SOCKET s,
364 IN INT level,
365 IN INT optname,
366 IN CONST CHAR FAR* optval,
367 IN INT optlen,
368 OUT LPINT lpErrno);
369
370INT
371WSPAPI
373 IN SOCKET s,
374 IN INT how,
375 OUT LPINT lpErrno);
376
377SOCKET
378WSPAPI
380 IN INT af,
381 IN INT type,
383 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
384 IN GROUP g,
386 OUT LPINT lpErrno);
387
388INT
389WSPAPI
391 IN LPWSTR AddressString,
393 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
394 OUT LPSOCKADDR lpAddress,
395 IN OUT LPINT lpAddressLength,
396 OUT LPINT lpErrno);
397
398BOOL
399WSPAPI
401 IN SOCKET sListenSocket,
403 OUT PVOID lpOutputBuffer,
409
410BOOL
411WSPAPI
413 IN SOCKET s,
414 IN const struct sockaddr *name,
415 IN int namelen,
416 IN PVOID lpSendBuffer,
417 IN DWORD dwSendDataLength,
418 OUT LPDWORD lpdwBytesSent,
420
421BOOL
422WSPAPI
424 IN SOCKET hSocket,
428
429VOID
430WSPAPI
432 IN PVOID lpOutputBuffer,
436 OUT struct sockaddr **LocalSockaddr,
438 OUT struct sockaddr **RemoteSockaddr,
440
443);
444
446
448
450 PSOCKET_INFORMATION Socket,
451 ULONG AfdInformationClass,
452 PBOOLEAN Boolean OPTIONAL,
454 PLARGE_INTEGER LargeInteger OPTIONAL,
455 LPWSAOVERLAPPED Overlapped OPTIONAL,
457);
458
460 PSOCKET_INFORMATION Socket,
461 ULONG AfdInformationClass,
462 PBOOLEAN Boolean OPTIONAL,
464 PLARGE_INTEGER LargeInteger OPTIONAL,
465 LPWSAOVERLAPPED Overlapped OPTIONAL,
467);
468
469int CreateContext(
471);
472
473ULONG
474NTAPI
476 PVOID ThreadParam
477);
478
479VOID
481 PSOCKET_INFORMATION Socket,
482 PASYNC_DATA AsyncData
483);
484
485VOID
489);
490
493 VOID
494);
495
497 VOID
498);
499
503);
504
505VOID
507 IN PSOCKET_INFORMATION Socket,
509 );
510
512
514DWORD
517 _Out_opt_ LPINT Errno,
519 _Out_opt_ LPDWORD ReturnedBytes)
520{
521 if (Errno)
522 {
524
525 if (ReturnedBytes)
526 *ReturnedBytes = (*Errno == 0) ? Received : 0;
527
528 return (*Errno == 0) ? 0 : SOCKET_ERROR;
529 }
530 else
531 {
532 if (ReturnedBytes)
533 *ReturnedBytes = (Status == STATUS_SUCCESS) ? Received : 0;
534
535 return (Status == STATUS_SUCCESS) ? 0 : SOCKET_ERROR;
536 }
537}
538
539VOID
541 _In_ HANDLE hObject);
542
543#endif /* __MSAFD_H */
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
UINT Received
Definition: arping.c:40
HWND hWnd
Definition: settings.c:17
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
LONG NTSTATUS
Definition: precomp.h:26
#define FAR
Definition: zlib.h:34
INT WSPAPI WSPSelect(IN INT nfds, IN OUT fd_set *readfds, IN OUT fd_set *writefds, IN OUT fd_set *exceptfds, IN CONST struct timeval *timeout, 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)
Definition: dllmain.c:3381
INT WSPAPI WSPSetSockOpt(IN SOCKET s, IN INT level, IN INT optname, IN CONST CHAR FAR *optval, IN INT optlen, OUT LPINT lpErrno)
Definition: dllmain.c:3100
struct _MSAFD_CONNECT_APC_CONTEXT * PMSAFD_CONNECT_APC_CONTEXT
INT WSPAPI WSPCancelBlockingCall(OUT LPINT lpErrno)
Definition: stubs.c:15
struct _MSAFD_CONNECT_APC_CONTEXT MSAFD_CONNECT_APC_CONTEXT
VOID SockAsyncSelectCompletionRoutine(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: dllmain.c:4075
BOOL WSPAPI WSPConnectEx(IN SOCKET s, IN const struct sockaddr *name, IN int namelen, IN PVOID lpSendBuffer, IN DWORD dwSendDataLength, OUT LPDWORD lpdwBytesSent, IN OUT LPOVERLAPPED lpOverlapped)
INT WSPAPI WSPShutdown(IN SOCKET s, IN INT how, OUT LPINT lpErrno)
INT WSPAPI WSPSendDisconnect(IN SOCKET s, IN LPWSABUF lpOutboundDisconnectData, OUT LPINT lpErrno)
Definition: sndrcv.c:1064
INT WSPAPI WSPCleanup(OUT LPINT lpErrno)
Definition: dllmain.c:3565
FORCEINLINE DWORD MsafdReturnWithErrno(_In_ NTSTATUS Status, _Out_opt_ LPINT Errno, _In_ DWORD Received, _Out_opt_ LPDWORD ReturnedBytes)
Definition: msafd.h:515
INT WSPAPI WSPEnumNetworkEvents(IN SOCKET s, IN WSAEVENT hEventObject, OUT LPWSANETWORKEVENTS lpNetworkEvents, OUT LPINT lpErrno)
Definition: event.c:133
int GetSocketInformation(PSOCKET_INFORMATION Socket, ULONG AfdInformationClass, PBOOLEAN Boolean OPTIONAL, PULONG Ulong OPTIONAL, PLARGE_INTEGER LargeInteger OPTIONAL, LPWSAOVERLAPPED Overlapped OPTIONAL, LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine OPTIONAL)
Definition: dllmain.c:3597
struct _SOCKET_INFORMATION * PSOCKET_INFORMATION
HANDLE SockAsyncCompletionPort
Definition: dllmain.c:28
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)
BOOL WSPAPI WSPAcceptEx(IN SOCKET sListenSocket, IN SOCKET sAcceptSocket, OUT PVOID lpOutputBuffer, IN DWORD dwReceiveDataLength, IN DWORD dwLocalAddressLength, IN DWORD dwRemoteAddressLength, OUT LPDWORD lpdwBytesReceived, IN OUT LPOVERLAPPED lpOverlapped)
Definition: stubs.c:58
struct _ASYNC_DATA ASYNC_DATA
struct _MSAFD_RECV_APC_CONTEXT MSAFD_RECV_APC_CONTEXT
INT WSPAPI WSPCloseSocket(IN SOCKET s, OUT LPINT lpErrno)
Definition: dllmain.c:637
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)
struct _MSAFD_RECV_APC_CONTEXT * PMSAFD_RECV_APC_CONTEXT
BOOLEAN SockCreateOrReferenceAsyncThread(VOID)
Definition: dllmain.c:3918
VOID SockProcessAsyncSelect(PSOCKET_INFORMATION Socket, PASYNC_DATA AsyncData)
Definition: dllmain.c:4204
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)
struct _SOCKET_INFORMATION SOCKET_INFORMATION
LIST_ENTRY SockHelpersListHead
Definition: dllmain.c:25
INT WSPAPI WSPGetPeerName(IN SOCKET s, OUT LPSOCKADDR name, IN OUT LPINT namelen, OUT LPINT lpErrno)
Definition: dllmain.c:2463
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)
VOID MsafdWaitForAlert(_In_ HANDLE hObject)
Definition: dllmain.c:614
struct _MSAFD_INFO_APC_CONTEXT * PMSAFD_INFO_APC_CONTEXT
VOID DeleteSocketStructure(SOCKET Handle)
INT WSPAPI WSPAsyncSelect(IN SOCKET s, IN HWND hWnd, IN UINT wMsg, IN LONG lEvent, OUT LPINT lpErrno)
Definition: sndrcv.c:17
INT WSPAPI WSPGetSockOpt(IN SOCKET s, IN INT level, IN INT optname, OUT CHAR FAR *optval, IN OUT LPINT optlen, OUT LPINT lpErrno)
Definition: dllmain.c:2814
VOID WSPAPI WSPGetAcceptExSockaddrs(IN PVOID lpOutputBuffer, IN DWORD dwReceiveDataLength, IN DWORD dwLocalAddressLength, IN DWORD dwRemoteAddressLength, OUT struct sockaddr **LocalSockaddr, OUT LPINT LocalSockaddrLength, OUT struct sockaddr **RemoteSockaddr, OUT LPINT RemoteSockaddrLength)
Definition: stubs.c:88
BOOL WSPAPI WSPDisconnectEx(IN SOCKET hSocket, IN LPOVERLAPPED lpOverlapped, IN DWORD dwFlags, IN DWORD reserved)
Definition: stubs.c:75
PSOCKET_INFORMATION GetSocketStructure(SOCKET Handle)
Definition: dllmain.c:3845
struct _MSAFD_SEND_APC_CONTEXT MSAFD_SEND_APC_CONTEXT
struct _ASYNC_DATA * PASYNC_DATA
HANDLE GlobalHeap
Definition: dllmain.c:19
INT WSPAPI WSPGetSockName(IN SOCKET s, OUT LPSOCKADDR name, IN OUT LPINT namelen, OUT LPINT lpErrno)
Definition: dllmain.c:2361
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)
Definition: stubs.c:40
int CreateContext(PSOCKET_INFORMATION Socket)
Definition: dllmain.c:3868
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)
Definition: dllmain.c:2566
INT WSPAPI WSPDuplicateSocket(IN SOCKET s, IN DWORD dwProcessId, OUT LPWSAPROTOCOL_INFOW lpProtocolInfo, OUT LPINT lpErrno)
Definition: dllmain.c:449
VOID SockProcessQueuedAsyncSelect(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: dllmain.c:4287
int SetSocketInformation(PSOCKET_INFORMATION Socket, ULONG AfdInformationClass, PBOOLEAN Boolean OPTIONAL, PULONG Ulong OPTIONAL, PLARGE_INTEGER LargeInteger OPTIONAL, LPWSAOVERLAPPED Overlapped OPTIONAL, LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine OPTIONAL)
Definition: dllmain.c:3723
ULONG NTAPI SockAsyncThread(PVOID ThreadParam)
Definition: dllmain.c:3979
INT WSPAPI WSPListen(IN SOCKET s, IN INT backlog, 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 WSPStringToAddress(IN LPWSTR AddressString, IN INT AddressFamily, IN LPWSAPROTOCOL_INFOW lpProtocolInfo, OUT LPSOCKADDR lpAddress, IN OUT LPINT lpAddressLength, OUT LPINT lpErrno)
Definition: dllmain.c:3441
BOOL WSPAPI WSPGetOverlappedResult(IN SOCKET s, IN LPWSAOVERLAPPED lpOverlapped, OUT LPDWORD lpcbTransfer, IN BOOL fWait, OUT LPDWORD lpdwFlags, OUT LPINT lpErrno)
Definition: sndrcv.c:96
struct _SOCKET_CONTEXT SOCKET_CONTEXT
HANDLE SockEvent
INT WSPAPI WSPBind(IN SOCKET s, IN CONST SOCKADDR *name, IN INT namelen, OUT LPINT lpErrno)
struct _MSAFD_SEND_APC_CONTEXT * PMSAFD_SEND_APC_CONTEXT
BOOL WSPAPI WSPGetQOSByName(IN SOCKET s, IN OUT LPWSABUF lpQOSName, OUT LPQOS lpQOS, OUT LPINT lpErrno)
Definition: stubs.c:26
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 TranslateNtStatusError(NTSTATUS Status)
Definition: dllmain.c:537
_Must_inspect_result_ SOCKET WSPAPI WSPAccept(_In_ SOCKET s, _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *addr, _Inout_opt_ LPINT addrlen, _In_opt_ LPCONDITIONPROC lpfnCondition, _In_opt_ DWORD_PTR dwCallbackData, _Out_ LPINT lpErrno)
Definition: dllmain.c:1451
INT WSPAPI WSPEventSelect(IN SOCKET s, IN WSAEVENT hEventObject, IN LONG lNetworkEvents, OUT LPINT lpErrno)
Definition: event.c:17
struct _MSAFD_INFO_APC_CONTEXT MSAFD_INFO_APC_CONTEXT
struct _SOCKET_CONTEXT * PSOCKET_CONTEXT
BOOLEAN SockAsyncSelectCalled
Definition: dllmain.c:29
INT WSPAPI WSPRecvDisconnect(IN SOCKET s, OUT LPWSABUF lpInboundDisconnectData, OUT LPINT lpErrno)
Definition: sndrcv.c:1052
VOID SockReenableAsyncSelectEvent(IN PSOCKET_INFORMATION Socket, IN ULONG Event)
Definition: dllmain.c:4321
WSPUPCALLTABLE Upcalls
Definition: dllmain.c:20
BOOLEAN SockGetAsyncSelectHelperAfdHandle(VOID)
Definition: dllmain.c:4013
VOID(* PASYNC_COMPLETION_ROUTINE)(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: msafd.h:511
LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest
Definition: dllmain.c:22
r reserved
Definition: btrfs.c:3006
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
ULONG Handle
Definition: gdb_input.c:15
Status
Definition: gdiplustypes.h:25
GLint level
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLdouble s
Definition: gl.h:2039
GLint namelen
Definition: glext.h:7232
GLenum const GLvoid * addr
Definition: glext.h:9621
GLboolean GLboolean g
Definition: glext.h:6204
int * LPINT
Definition: minwindef.h:151
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr ** LocalSockaddr
Definition: mswsock.h:114
_In_ SOCKET sAcceptSocket
Definition: mswsock.h:100
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT LocalSockaddrLength
Definition: mswsock.h:115
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT _Outptr_result_bytebuffer_ RemoteSockaddrLength struct sockaddr ** RemoteSockaddr
Definition: mswsock.h:116
_In_ SOCKET _In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpdwBytesReceived
Definition: mswsock.h:105
_In_ SOCKET _In_ DWORD dwReceiveDataLength
Definition: mswsock.h:102
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT _Outptr_result_bytebuffer_ RemoteSockaddrLength struct sockaddr _Out_ LPINT RemoteSockaddrLength
Definition: mswsock.h:117
_In_ SOCKET _In_ DWORD _In_ DWORD _In_ DWORD dwRemoteAddressLength
Definition: mswsock.h:104
_In_ SOCKET _In_ DWORD _In_ DWORD dwLocalAddressLength
Definition: mswsock.h:103
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:93
unsigned int UINT
Definition: ndis.h:50
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
#define CONST
Definition: pedump.c:81
long LONG
Definition: pedump.c:60
_In_ DWORD dwProcessId
Definition: shlwapi.h:193
#define STATUS_SUCCESS
Definition: shellext.h:65
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
AFD_POLL_INFO AsyncSelectInfo
Definition: msafd.h:80
DWORD SequenceNumber
Definition: msafd.h:78
PSOCKET_INFORMATION ParentSocket
Definition: msafd.h:77
IO_STATUS_BLOCK IoStatusBlock
Definition: msafd.h:79
Definition: typedefs.h:120
IO_STATUS_BLOCK IoStatusBlock
Definition: msafd.h:108
PAFD_INFO lpInfoData
Definition: msafd.h:87
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:86
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:85
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:101
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:100
PSOCKET_INFORMATION lpSocket
Definition: msafd.h:102
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:92
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:93
PSOCKET_INFORMATION lpSocket
Definition: msafd.h:94
PTRANSPORT_ADDRESS lpRemoteAddress
Definition: msafd.h:95
SOCK_SHARED_INFO SharedData
Definition: msafd.h:68
ULONG Padding
Definition: msafd.h:70
SOCKADDR RemoteAddress
Definition: msafd.h:72
SOCKADDR LocalAddress
Definition: msafd.h:71
ULONG SizeOfHelperData
Definition: msafd.h:69
PVOID HelperContext
Definition: msafd.h:51
LONG NetworkEvents
Definition: msafd.h:58
HANDLE TdiConnectionHandle
Definition: msafd.h:55
struct _SOCKET_INFORMATION * NextSocket
Definition: msafd.h:63
PVOID AsyncData
Definition: msafd.h:56
HANDLE SharedDataHandle
Definition: msafd.h:48
PSOCKADDR LocalAddress
Definition: msafd.h:52
CRITICAL_SECTION Lock
Definition: msafd.h:59
PSOCK_SHARED_INFO SharedData
Definition: msafd.h:47
HANDLE EventObject
Definition: msafd.h:57
PHELPER_DATA HelperData
Definition: msafd.h:50
PSOCKADDR RemoteAddress
Definition: msafd.h:53
SOCKET Handle
Definition: msafd.h:46
HANDLE TdiAddressHandle
Definition: msafd.h:54
DWORD HelperEvents
Definition: msafd.h:49
WSAPROTOCOL_INFOW ProtocolInfo
Definition: msafd.h:62
Definition: winsock.h:60
Definition: name.c:39
Definition: dhcpd.h:248
HANDLE lEvent
Definition: tftpd.cpp:56
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t DWORD_PTR
Definition: typedefs.h:65
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
unsigned long Ulong
Definition: utypes.h:42
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
Definition: wdfrequest.h:895
#define FORCEINLINE
Definition: wdftypes.h:67
_In_ DWORD dwIoControlCode
Definition: winddi.h:1700
unsigned int GROUP
Definition: winsock2.h:634
DWORD WSAEVENT
Definition: winsock2.h:600
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
Definition: winsock2.h:716
int(CALLBACK * LPCONDITIONPROC)(IN LPWSABUF lpCallerId, IN LPWSABUF lpCallerData, IN OUT LPQOS lpSQOS, IN OUT LPQOS lpGQOS, IN LPWSABUF lpCalleeId, IN LPWSABUF lpCalleeData, OUT GROUP FAR *g, IN DWORD_PTR dwCallbackData)
Definition: winsock2.h:705
UINT_PTR SOCKET
Definition: winsock.h:41
#define SOCKET_ERROR
Definition: winsock.h:327
#define WSPAPI
Definition: ws2spi.h:39
int(WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST)(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)
Definition: ws2spi.h:408
WCHAR * LPWSTR
Definition: xmlstorage.h:184
char CHAR
Definition: xmlstorage.h:175