ReactOS 0.4.16-dev-2206-gc56950d
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
137{
142
144{
150
152{
157
159{
163
164
166SOCKET
167WSPAPI
169 _In_ SOCKET s,
170 _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR * addr,
171 _Inout_opt_ LPINT addrlen,
172 _In_opt_ LPCONDITIONPROC lpfnCondition,
173 _In_opt_ DWORD_PTR dwCallbackData,
174 _Out_ LPINT lpErrno);
175
176INT
177WSPAPI
179 IN LPSOCKADDR lpsaAddress,
180 IN DWORD dwAddressLength,
181 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
182 OUT LPWSTR lpszAddressString,
183 IN OUT LPDWORD lpdwAddressStringLength,
184 OUT LPINT lpErrno);
185
186INT
187WSPAPI
189 IN SOCKET s,
190 IN HWND hWnd,
191 IN UINT wMsg,
192 IN LONG lEvent,
193 OUT LPINT lpErrno);
194
195INT
197 IN SOCKET s,
199 IN INT namelen,
200 OUT LPINT lpErrno);
201
202INT
203WSPAPI
205 OUT LPINT lpErrno);
206
207INT
208WSPAPI
210 OUT LPINT lpErrno);
211
212INT
213WSPAPI
215 IN SOCKET s,
216 OUT LPINT lpErrno);
217
218INT
219WSPAPI
221 IN SOCKET s,
223 IN INT namelen,
224 IN LPWSABUF lpCallerData,
225 OUT LPWSABUF lpCalleeData,
226 IN LPQOS lpSQOS,
227 IN LPQOS lpGQOS,
228 OUT LPINT lpErrno);
229
230INT
231WSPAPI
233 IN SOCKET s,
235 OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
236 OUT LPINT lpErrno);
237
238INT
239WSPAPI
241 IN SOCKET s,
242 IN WSAEVENT hEventObject,
243 OUT LPWSANETWORKEVENTS lpNetworkEvents,
244 OUT LPINT lpErrno);
245
246INT
247WSPAPI
249 IN SOCKET s,
250 IN WSAEVENT hEventObject,
251 IN LONG lNetworkEvents,
252 OUT LPINT lpErrno);
253
254BOOL
255WSPAPI
257 IN SOCKET s,
259 OUT LPDWORD lpcbTransfer,
260 IN BOOL fWait,
261 OUT LPDWORD lpdwFlags,
262 OUT LPINT lpErrno);
263
264INT
265WSPAPI
267 IN SOCKET s,
270 OUT LPINT lpErrno);
271
272BOOL
273WSPAPI
275 IN SOCKET s,
276 IN OUT LPWSABUF lpQOSName,
277 OUT LPQOS lpQOS,
278 OUT LPINT lpErrno);
279
280INT
281WSPAPI
283 IN SOCKET s,
286 OUT LPINT lpErrno);
287
288INT
289WSPAPI
291 IN SOCKET s,
292 IN INT level,
293 IN INT optname,
294 OUT CHAR FAR* optval,
295 IN OUT LPINT optlen,
296 OUT LPINT lpErrno);
297
298INT
299WSPAPI
301 IN SOCKET s,
303 IN LPVOID lpvInBuffer,
304 IN DWORD cbInBuffer,
305 OUT LPVOID lpvOutBuffer,
306 IN DWORD cbOutBuffer,
307 OUT LPDWORD lpcbBytesReturned,
309 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
310 IN LPWSATHREADID lpThreadId,
311 OUT LPINT lpErrno);
312
313SOCKET
314WSPAPI
316 IN SOCKET s,
318 IN INT namelen,
319 IN LPWSABUF lpCallerData,
320 OUT LPWSABUF lpCalleeData,
321 IN LPQOS lpSQOS,
322 IN LPQOS lpGQOS,
324 OUT LPINT lpErrno);
325
326INT
327WSPAPI
329 IN SOCKET s,
330 IN INT backlog,
331 OUT LPINT lpErrno);
332
333INT
334WSPAPI
336 IN SOCKET s,
337 IN OUT LPWSABUF lpBuffers,
338 IN DWORD dwBufferCount,
339 OUT LPDWORD lpNumberOfBytesRecvd,
340 IN OUT LPDWORD lpFlags,
342 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
343 IN LPWSATHREADID lpThreadId,
344 OUT LPINT lpErrno);
345
346INT
347WSPAPI
349 IN SOCKET s,
350 OUT LPWSABUF lpInboundDisconnectData,
351 OUT LPINT lpErrno);
352
353INT
354WSPAPI
356 IN SOCKET s,
357 IN OUT LPWSABUF lpBuffers,
358 IN DWORD dwBufferCount,
359 OUT LPDWORD lpNumberOfBytesRecvd,
360 IN OUT LPDWORD lpFlags,
361 OUT LPSOCKADDR lpFrom,
362 IN OUT LPINT lpFromlen,
364 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
365 IN LPWSATHREADID lpThreadId,
366 OUT LPINT lpErrno);
367
368INT
369WSPAPI
371 IN INT nfds,
372 IN OUT fd_set *readfds,
373 IN OUT fd_set *writefds,
374 IN OUT fd_set *exceptfds,
375 IN CONST struct timeval *timeout,
376 OUT LPINT lpErrno);
377
378INT
379WSPAPI
381 IN SOCKET s,
382 IN LPWSABUF lpBuffers,
383 IN DWORD dwBufferCount,
384 OUT LPDWORD lpNumberOfBytesSent,
387 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
388 IN LPWSATHREADID lpThreadId,
389 OUT LPINT lpErrno);
390
391INT
392WSPAPI
394 IN SOCKET s,
395 IN LPWSABUF lpOutboundDisconnectData,
396 OUT LPINT lpErrno);
397
398INT
399WSPAPI
401 IN SOCKET s,
402 IN LPWSABUF lpBuffers,
403 IN DWORD dwBufferCount,
404 OUT LPDWORD lpNumberOfBytesSent,
406 IN CONST SOCKADDR *lpTo,
407 IN INT iTolen,
409 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
410 IN LPWSATHREADID lpThreadId,
411 OUT LPINT lpErrno);
412
413INT
414WSPAPI
416 IN SOCKET s,
417 IN INT level,
418 IN INT optname,
419 IN CONST CHAR FAR* optval,
420 IN INT optlen,
421 OUT LPINT lpErrno);
422
423INT
424WSPAPI
426 IN SOCKET s,
427 IN INT how,
428 OUT LPINT lpErrno);
429
430SOCKET
431WSPAPI
433 IN INT af,
434 IN INT type,
436 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
437 IN GROUP g,
439 OUT LPINT lpErrno);
440
441INT
442WSPAPI
444 IN LPWSTR AddressString,
446 IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
447 OUT LPSOCKADDR lpAddress,
448 IN OUT LPINT lpAddressLength,
449 OUT LPINT lpErrno);
450
451BOOL
452WSPAPI
454 IN SOCKET sListenSocket,
456 OUT PVOID lpOutputBuffer,
462
463BOOL
464WSPAPI
466 IN SOCKET s,
467 IN const struct sockaddr *name,
468 IN int namelen,
469 IN PVOID lpSendBuffer,
470 IN DWORD dwSendDataLength,
471 OUT LPDWORD lpdwBytesSent,
473
474BOOL
475WSPAPI
477 IN SOCKET hSocket,
481
482VOID
483WSPAPI
485 IN PVOID lpOutputBuffer,
489 OUT struct sockaddr **LocalSockaddr,
491 OUT struct sockaddr **RemoteSockaddr,
493
496);
497
499
501
503 PSOCKET_INFORMATION Socket,
504 ULONG AfdInformationClass,
505 PBOOLEAN Boolean OPTIONAL,
507 PLARGE_INTEGER LargeInteger OPTIONAL,
508 LPWSAOVERLAPPED Overlapped OPTIONAL,
510);
511
513 PSOCKET_INFORMATION Socket,
514 ULONG AfdInformationClass,
515 PBOOLEAN Boolean OPTIONAL,
517 PLARGE_INTEGER LargeInteger OPTIONAL,
518 LPWSAOVERLAPPED Overlapped OPTIONAL,
520);
521
522int CreateContext(
524);
525
526ULONG
527NTAPI
529 PVOID ThreadParam
530);
531
532VOID
534 PSOCKET_INFORMATION Socket,
535 PASYNC_DATA AsyncData
536);
537
538VOID
542);
543
546 VOID
547);
548
550 VOID
551);
552
556);
557
558VOID
560 IN PSOCKET_INFORMATION Socket,
562 );
563
565
567DWORD
570 _Out_opt_ LPINT Errno,
572 _Out_opt_ LPDWORD ReturnedBytes)
573{
574 if (Errno)
575 {
577
578 if (ReturnedBytes)
579 *ReturnedBytes = (*Errno == 0) ? Received : 0;
580
581 return (*Errno == 0) ? 0 : SOCKET_ERROR;
582 }
583 else
584 {
585 if (ReturnedBytes)
586 *ReturnedBytes = (Status == STATUS_SUCCESS) ? Received : 0;
587
588 return (Status == STATUS_SUCCESS) ? 0 : SOCKET_ERROR;
589 }
590}
591
592VOID
594 _In_ HANDLE hObject);
595
596#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:3165
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:2887
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:3859
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:1064
INT WSPAPI WSPCleanup(OUT LPINT lpErrno)
Definition: dllmain.c:3349
FORCEINLINE DWORD MsafdReturnWithErrno(_In_ NTSTATUS Status, _Out_opt_ LPINT Errno, _In_ DWORD Received, _Out_opt_ LPDWORD ReturnedBytes)
Definition: msafd.h:568
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:3381
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:3702
VOID SockProcessAsyncSelect(PSOCKET_INFORMATION Socket, PASYNC_DATA AsyncData)
Definition: dllmain.c:3988
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:2360
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:2711
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:3629
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:2258
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:3652
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:2463
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:4071
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:3507
ULONG NTAPI SockAsyncThread(PVOID ThreadParam)
Definition: dllmain.c:3763
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:3225
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:1448
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 _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:4105
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:3797
VOID(* PASYNC_COMPLETION_ROUTINE)(PVOID Context, PIO_STATUS_BLOCK IoStatusBlock)
Definition: msafd.h:564
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
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
_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: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
IO_STATUS_BLOCK IoStatusBlock
Definition: msafd.h:161
PAFD_INFO lpInfoData
Definition: msafd.h:140
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:139
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:138
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:154
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:153
PSOCKET_INFORMATION lpSocket
Definition: msafd.h:155
LPWSAOVERLAPPED lpOverlapped
Definition: msafd.h:145
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
Definition: msafd.h:146
PSOCKET_INFORMATION lpSocket
Definition: msafd.h:147
PTRANSPORT_ADDRESS lpRemoteAddress
Definition: msafd.h:148
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: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