ReactOS 0.4.15-dev-7961-gdcf9eb0
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 enum _SOCKET_STATE {
52
53typedef struct _SOCK_SHARED_INFO {
67 struct {
80 }; // Flags
97
98typedef struct _SOCKET_INFORMATION {
118
119
120typedef struct _SOCKET_CONTEXT {
126 /* Plus Helper Data */
128
129typedef struct _ASYNC_DATA {
135
136typedef struct _AFDAPCCONTEXT
137{
142
144SOCKET
145WSPAPI
147 _In_ SOCKET s,
148 _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR * addr,
149 _Inout_opt_ LPINT addrlen,
150 _In_opt_ LPCONDITIONPROC lpfnCondition,
151 _In_opt_ DWORD_PTR dwCallbackData,
152 _Out_ LPINT lpErrno);
153
154INT
155WSPAPI
157 IN LPSOCKADDR lpsaAddress,
158 IN DWORD dwAddressLength,
159 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
160 OUT LPWSTR lpszAddressString,
161 IN OUT LPDWORD lpdwAddressStringLength,
162 OUT LPINT lpErrno);
163
164INT
165WSPAPI
167 IN SOCKET s,
168 IN HWND hWnd,
169 IN UINT wMsg,
170 IN LONG lEvent,
171 OUT LPINT lpErrno);
172
173INT
175 IN SOCKET s,
177 IN INT namelen,
178 OUT LPINT lpErrno);
179
180INT
181WSPAPI
183 OUT LPINT lpErrno);
184
185INT
186WSPAPI
188 OUT LPINT lpErrno);
189
190INT
191WSPAPI
193 IN SOCKET s,
194 OUT LPINT lpErrno);
195
196INT
197WSPAPI
199 IN SOCKET s,
201 IN INT namelen,
202 IN LPWSABUF lpCallerData,
203 OUT LPWSABUF lpCalleeData,
204 IN LPQOS lpSQOS,
205 IN LPQOS lpGQOS,
206 OUT LPINT lpErrno);
207
208INT
209WSPAPI
211 IN SOCKET s,
212 IN DWORD dwProcessId,
213 OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
214 OUT LPINT lpErrno);
215
216INT
217WSPAPI
219 IN SOCKET s,
220 IN WSAEVENT hEventObject,
221 OUT LPWSANETWORKEVENTS lpNetworkEvents,
222 OUT LPINT lpErrno);
223
224INT
225WSPAPI
227 IN SOCKET s,
228 IN WSAEVENT hEventObject,
229 IN LONG lNetworkEvents,
230 OUT LPINT lpErrno);
231
232BOOL
233WSPAPI
235 IN SOCKET s,
237 OUT LPDWORD lpcbTransfer,
238 IN BOOL fWait,
239 OUT LPDWORD lpdwFlags,
240 OUT LPINT lpErrno);
241
242INT
243WSPAPI
245 IN SOCKET s,
248 OUT LPINT lpErrno);
249
250BOOL
251WSPAPI
253 IN SOCKET s,
254 IN OUT LPWSABUF lpQOSName,
255 OUT LPQOS lpQOS,
256 OUT LPINT lpErrno);
257
258INT
259WSPAPI
261 IN SOCKET s,
264 OUT LPINT lpErrno);
265
266INT
267WSPAPI
269 IN SOCKET s,
270 IN INT level,
271 IN INT optname,
272 OUT CHAR FAR* optval,
273 IN OUT LPINT optlen,
274 OUT LPINT lpErrno);
275
276INT
277WSPAPI
279 IN SOCKET s,
281 IN LPVOID lpvInBuffer,
282 IN DWORD cbInBuffer,
283 OUT LPVOID lpvOutBuffer,
284 IN DWORD cbOutBuffer,
285 OUT LPDWORD lpcbBytesReturned,
287 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
288 IN LPWSATHREADID lpThreadId,
289 OUT LPINT lpErrno);
290
291SOCKET
292WSPAPI
294 IN SOCKET s,
296 IN INT namelen,
297 IN LPWSABUF lpCallerData,
298 OUT LPWSABUF lpCalleeData,
299 IN LPQOS lpSQOS,
300 IN LPQOS lpGQOS,
302 OUT LPINT lpErrno);
303
304INT
305WSPAPI
307 IN SOCKET s,
308 IN INT backlog,
309 OUT LPINT lpErrno);
310
311INT
312WSPAPI
314 IN SOCKET s,
315 IN OUT LPWSABUF lpBuffers,
316 IN DWORD dwBufferCount,
317 OUT LPDWORD lpNumberOfBytesRecvd,
318 IN OUT LPDWORD lpFlags,
320 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
321 IN LPWSATHREADID lpThreadId,
322 OUT LPINT lpErrno);
323
324INT
325WSPAPI
327 IN SOCKET s,
328 OUT LPWSABUF lpInboundDisconnectData,
329 OUT LPINT lpErrno);
330
331INT
332WSPAPI
334 IN SOCKET s,
335 IN OUT LPWSABUF lpBuffers,
336 IN DWORD dwBufferCount,
337 OUT LPDWORD lpNumberOfBytesRecvd,
338 IN OUT LPDWORD lpFlags,
339 OUT LPSOCKADDR lpFrom,
340 IN OUT LPINT lpFromlen,
342 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
343 IN LPWSATHREADID lpThreadId,
344 OUT LPINT lpErrno);
345
346INT
347WSPAPI
349 IN INT nfds,
350 IN OUT fd_set *readfds,
351 IN OUT fd_set *writefds,
352 IN OUT fd_set *exceptfds,
353 IN CONST struct timeval *timeout,
354 OUT LPINT lpErrno);
355
356INT
357WSPAPI
359 IN SOCKET s,
360 IN LPWSABUF lpBuffers,
361 IN DWORD dwBufferCount,
362 OUT LPDWORD lpNumberOfBytesSent,
365 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
366 IN LPWSATHREADID lpThreadId,
367 OUT LPINT lpErrno);
368
369INT
370WSPAPI
372 IN SOCKET s,
373 IN LPWSABUF lpOutboundDisconnectData,
374 OUT LPINT lpErrno);
375
376INT
377WSPAPI
379 IN SOCKET s,
380 IN LPWSABUF lpBuffers,
381 IN DWORD dwBufferCount,
382 OUT LPDWORD lpNumberOfBytesSent,
384 IN CONST SOCKADDR *lpTo,
385 IN INT iTolen,
387 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
388 IN LPWSATHREADID lpThreadId,
389 OUT LPINT lpErrno);
390
391INT
392WSPAPI
394 IN SOCKET s,
395 IN INT level,
396 IN INT optname,
397 IN CONST CHAR FAR* optval,
398 IN INT optlen,
399 OUT LPINT lpErrno);
400
401INT
402WSPAPI
404 IN SOCKET s,
405 IN INT how,
406 OUT LPINT lpErrno);
407
408SOCKET
409WSPAPI
411 IN INT af,
412 IN INT type,
414 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
415 IN GROUP g,
417 OUT LPINT lpErrno);
418
419INT
420WSPAPI
422 IN LPWSTR AddressString,
424 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
425 OUT LPSOCKADDR lpAddress,
426 IN OUT LPINT lpAddressLength,
427 OUT LPINT lpErrno);
428
429BOOL
430WSPAPI
432 IN SOCKET sListenSocket,
434 OUT PVOID lpOutputBuffer,
440
441BOOL
442WSPAPI
444 IN SOCKET s,
445 IN const struct sockaddr *name,
446 IN int namelen,
447 IN PVOID lpSendBuffer,
448 IN DWORD dwSendDataLength,
449 OUT LPDWORD lpdwBytesSent,
451
452BOOL
453WSPAPI
455 IN SOCKET hSocket,
459
460VOID
461WSPAPI
463 IN PVOID lpOutputBuffer,
467 OUT struct sockaddr **LocalSockaddr,
469 OUT struct sockaddr **RemoteSockaddr,
471
474);
475
477
479
481 PSOCKET_INFORMATION Socket,
482 ULONG AfdInformationClass,
483 PBOOLEAN Boolean OPTIONAL,
485 PLARGE_INTEGER LargeInteger OPTIONAL,
486 LPWSAOVERLAPPED Overlapped OPTIONAL,
488);
489
491 PSOCKET_INFORMATION Socket,
492 ULONG AfdInformationClass,
493 PBOOLEAN Boolean OPTIONAL,
495 PLARGE_INTEGER LargeInteger OPTIONAL,
496 LPWSAOVERLAPPED Overlapped OPTIONAL,
498);
499
500int CreateContext(
502);
503
504ULONG
505NTAPI
507 PVOID ThreadParam
508);
509
510VOID
512 PSOCKET_INFORMATION Socket,
513 PASYNC_DATA AsyncData
514);
515
516VOID
520);
521
524 VOID
525);
526
528 VOID
529);
530
534);
535
536VOID
538 IN PSOCKET_INFORMATION Socket,
540 );
541
543
545DWORD
547 LPINT Errno,
549 LPDWORD ReturnedBytes)
550{
551 if (Errno)
552 {
554
555 if (ReturnedBytes)
556 *ReturnedBytes = (*Errno == 0) ? Received : 0;
557
558 return (*Errno == 0) ? 0 : SOCKET_ERROR;
559 }
560 else
561 {
562 DbgPrint("%s: Received invalid lpErrno pointer!\n", __FUNCTION__);
563
564 if (ReturnedBytes)
565 *ReturnedBytes = (Status == STATUS_SUCCESS) ? Received : 0;
566
567 return (Status == STATUS_SUCCESS) ? 0 : SOCKET_ERROR;
568 }
569}
570
571#endif /* __MSAFD_H */
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
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:3063
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:2785
INT WSPAPI WSPCancelBlockingCall(OUT LPINT lpErrno)
Definition: stubs.c:15
VOID SockAsyncSelectCompletionRoutine(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: dllmain.c:3750
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)
Definition: stubs.c:75
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:938
struct _AFDAPCCONTEXT AFDAPCCONTEXT
INT WSPAPI WSPCleanup(OUT LPINT lpErrno)
Definition: dllmain.c:3247
struct _SOCK_SHARED_INFO * PSOCK_SHARED_INFO
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:3270
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
INT WSPAPI WSPCloseSocket(IN SOCKET s, OUT LPINT lpErrno)
Definition: dllmain.c:623
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)
BOOLEAN SockCreateOrReferenceAsyncThread(VOID)
Definition: dllmain.c:3593
VOID SockProcessAsyncSelect(PSOCKET_INFORMATION Socket, PASYNC_DATA AsyncData)
Definition: dllmain.c:3879
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
enum _SOCKET_STATE SOCKET_STATE
INT WSPAPI WSPGetPeerName(IN SOCKET s, OUT LPSOCKADDR name, IN OUT LPINT namelen, OUT LPINT lpErrno)
Definition: dllmain.c:2258
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 DeleteSocketStructure(SOCKET Handle)
FORCEINLINE DWORD MsafdReturnWithErrno(NTSTATUS Status, LPINT Errno, DWORD Received, LPDWORD ReturnedBytes)
Definition: msafd.h:546
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:2609
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:104
BOOL WSPAPI WSPDisconnectEx(IN SOCKET hSocket, IN LPOVERLAPPED lpOverlapped, IN DWORD dwFlags, IN DWORD reserved)
Definition: stubs.c:91
PSOCKET_INFORMATION GetSocketStructure(SOCKET Handle)
Definition: dllmain.c:3520
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:2156
enum _SOCKET_STATE * PSOCKET_STATE
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:3543
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:2361
struct _AFDAPCCONTEXT * PAFDAPCCONTEXT
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:3962
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:3397
ULONG NTAPI SockAsyncThread(PVOID ThreadParam)
Definition: dllmain.c:3654
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:3123
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)
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:1434
INT WSPAPI WSPEventSelect(IN SOCKET s, IN WSAEVENT hEventObject, IN LONG lNetworkEvents, OUT LPINT lpErrno)
Definition: event.c:17
struct _SOCK_SHARED_INFO SOCK_SHARED_INFO
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:926
VOID SockReenableAsyncSelectEvent(IN PSOCKET_INFORMATION Socket, IN ULONG Event)
Definition: dllmain.c:3996
WSPUPCALLTABLE Upcalls
Definition: dllmain.c:20
_SOCKET_STATE
Definition: msafd.h:45
@ SocketBound
Definition: msafd.h:47
@ SocketConnected
Definition: msafd.h:49
@ SocketClosed
Definition: msafd.h:50
@ SocketBoundUdp
Definition: msafd.h:48
@ SocketOpen
Definition: msafd.h:46
BOOLEAN SockGetAsyncSelectHelperAfdHandle(VOID)
Definition: dllmain.c:3688
VOID(* PASYNC_COMPLETION_ROUTINE)(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: msafd.h:542
LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest
Definition: dllmain.c:22
r reserved
Definition: btrfs.c:3006
#define __FUNCTION__
Definition: types.h:116
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
#define DbgPrint
Definition: hal.h:12
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _Out_
Definition: ms_sal.h:345
#define _Out_writes_bytes_to_opt_(size, count)
Definition: ms_sal.h:361
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
enum _SOCKET_STATE SOCKET_STATE
_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
#define CONST
Definition: pedump.c:81
long LONG
Definition: pedump.c:60
#define STATUS_SUCCESS
Definition: shellext.h:65
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
PSOCKET_INFORMATION lpSocket
Definition: msafd.h:140
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:139
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:138
AFD_POLL_INFO AsyncSelectInfo
Definition: msafd.h:133
DWORD SequenceNumber
Definition: msafd.h:131
PSOCKET_INFORMATION ParentSocket
Definition: msafd.h:130
IO_STATUS_BLOCK IoStatusBlock
Definition: msafd.h:132
Definition: typedefs.h:120
SOCK_SHARED_INFO SharedData
Definition: msafd.h:121
ULONG Padding
Definition: msafd.h:123
SOCKADDR RemoteAddress
Definition: msafd.h:125
SOCKADDR LocalAddress
Definition: msafd.h:124
ULONG SizeOfHelperData
Definition: msafd.h:122
PVOID HelperContext
Definition: msafd.h:104
LONG NetworkEvents
Definition: msafd.h:111
HANDLE TdiConnectionHandle
Definition: msafd.h:108
struct _SOCKET_INFORMATION * NextSocket
Definition: msafd.h:116
HANDLE SharedDataHandle
Definition: msafd.h:101
PSOCKADDR LocalAddress
Definition: msafd.h:105
CRITICAL_SECTION Lock
Definition: msafd.h:112
PSOCK_SHARED_INFO SharedData
Definition: msafd.h:100
HANDLE EventObject
Definition: msafd.h:110
PHELPER_DATA HelperData
Definition: msafd.h:103
PSOCKADDR RemoteAddress
Definition: msafd.h:106
SOCKET Handle
Definition: msafd.h:99
HANDLE TdiAddressHandle
Definition: msafd.h:107
DWORD HelperEvents
Definition: msafd.h:102
WSAPROTOCOL_INFOW ProtocolInfo
Definition: msafd.h:115
DWORD GroupType
Definition: msafd.h:85
BOOLEAN Broadcast
Definition: msafd.h:69
BOOLEAN Debug
Definition: msafd.h:70
LONG AsyncDisabledEvents
Definition: msafd.h:93
INT SizeOfLocalAddress
Definition: msafd.h:59
ULONG RecvTimeout
Definition: msafd.h:63
BOOLEAN ExclusiveAddressUse
Definition: msafd.h:73
SOCKADDR WSRemoteAddress
Definition: msafd.h:95
BOOLEAN OobInline
Definition: msafd.h:71
SOCKET_STATE State
Definition: msafd.h:54
INT AddressFamily
Definition: msafd.h:56
ULONG SizeOfSendBuffer
Definition: msafd.h:65
BOOLEAN NonBlocking
Definition: msafd.h:74
BOOLEAN UseSAN
Definition: msafd.h:79
BOOLEAN SendShutdown
Definition: msafd.h:77
SOCKADDR WSLocalAddress
Definition: msafd.h:94
LONG RefCount
Definition: msafd.h:55
BOOLEAN ReuseAddresses
Definition: msafd.h:72
LONG AsyncEvents
Definition: msafd.h:92
ULONG SizeOfRecvBuffer
Definition: msafd.h:64
INT SocketLastError
Definition: msafd.h:87
struct linger LingerData
Definition: msafd.h:61
DWORD SequenceNumber
Definition: msafd.h:90
DWORD ProviderFlags
Definition: msafd.h:83
INT SizeOfRemoteAddress
Definition: msafd.h:60
BOOLEAN ReceiveShutdown
Definition: msafd.h:76
ULONG SendTimeout
Definition: msafd.h:62
INT GroupPriority
Definition: msafd.h:86
INT SocketType
Definition: msafd.h:57
BOOLEAN Listening
Definition: msafd.h:68
BOOLEAN DontUseWildcard
Definition: msafd.h:75
BOOLEAN UseDelayedAcceptance
Definition: msafd.h:78
LONG Unknown
Definition: msafd.h:89
DWORD ServiceFlags1
Definition: msafd.h:82
GROUP GroupID
Definition: msafd.h:84
ULONG ConnectTime
Definition: msafd.h:66
DWORD CreateFlags
Definition: msafd.h:81
Definition: winsock.h:66
Definition: name.c:39
Definition: dhcpd.h:245
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_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ DWORD dwIoControlCode
Definition: winddi.h:1700
int * LPINT
Definition: windef.h:178
unsigned int GROUP
Definition: winsock2.h:640
DWORD WSAEVENT
Definition: winsock2.h:606
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
Definition: winsock2.h:722
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:711
UINT_PTR SOCKET
Definition: winsock.h:47
#define SOCKET_ERROR
Definition: winsock.h:333
#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