ReactOS 0.4.16-dev-2298-gcac013a
shared.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Ancillary Function Driver
4 * FILE: include/reactos/drivers/afd/shared.h
5 * PURPOSE: Shared definitions for AFD.SYS and MSAFD.DLL
6 */
7#ifndef __AFD_SHARED_H
8#define __AFD_SHARED_H
9
10#define AFD_MAX_EVENTS 10
11#define AFD_PACKET_COMMAND_LENGTH 15
12#define AfdCommand "AfdOpenPacketXX"
13
14/* Extra definition of WSABUF for AFD so that I don't have to include any
15 * userland winsock headers. */
16typedef struct _AFD_WSABUF {
20
21typedef struct _AFD_CREATE_PACKET {
27
28typedef struct _AFD_INFO {
30 union {
37
38typedef struct _AFD_BIND_DATA {
42
43typedef struct _AFD_LISTEN_DATA {
48
49typedef struct _AFD_HANDLE_ {
54
55typedef struct _AFD_POLL_INFO {
61
62typedef struct _AFD_ACCEPT_DATA {
67
72
78
79typedef struct _AFD_DEFER_ACCEPT_DATA {
83
84typedef struct _AFD_RECV_INFO {
90
91typedef struct _AFD_RECV_INFO_UDP {
99
100typedef struct _AFD_SEND_INFO {
106
107typedef struct _AFD_SEND_INFO_UDP {
114
116
117typedef struct _AFD_CONNECT_INFO {
123
125{
129
134
140
141typedef struct _AFD_DISCONNECT_INFO {
145
147{
151
153{
157
158/* AFD Packet Endpoint Flags */
159#define AFD_ENDPOINT_CONNECTIONLESS 0x1
160#define AFD_ENDPOINT_MESSAGE_ORIENTED 0x10
161#define AFD_ENDPOINT_RAW 0x100
162#define AFD_ENDPOINT_MULTIPOINT 0x1000
163#define AFD_ENDPOINT_C_ROOT 0x10000
164#define AFD_ENDPOINT_D_ROOT 0x100000
165
166/* AFD TDI Query Flags */
167#define AFD_ADDRESS_HANDLE 0x1L
168#define AFD_CONNECTION_HANDLE 0x2L
169
170/* AFD event bits */
171#define AFD_EVENT_RECEIVE_BIT 0
172#define AFD_EVENT_OOB_RECEIVE_BIT 1
173#define AFD_EVENT_SEND_BIT 2
174#define AFD_EVENT_DISCONNECT_BIT 3
175#define AFD_EVENT_ABORT_BIT 4
176#define AFD_EVENT_CLOSE_BIT 5
177#define AFD_EVENT_CONNECT_BIT 6
178#define AFD_EVENT_ACCEPT_BIT 7
179#define AFD_EVENT_CONNECT_FAIL_BIT 8
180#define AFD_EVENT_QOS_BIT 9
181#define AFD_EVENT_GROUP_QOS_BIT 10
182#define AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT 11
183#define AFD_EVENT_ADDRESS_LIST_CHANGE_BIT 12
184#define AFD_MAX_EVENT 13
185#define AFD_ALL_EVENTS ((1 << AFD_MAX_EVENT) - 1)
186
187/* AFD Info Flags */
188#define AFD_INFO_INLINING_MODE 0x01L
189#define AFD_INFO_BLOCKING_MODE 0x02L
190#define AFD_INFO_SENDS_IN_PROGRESS 0x04L
191#define AFD_INFO_RECEIVE_WINDOW_SIZE 0x06L
192#define AFD_INFO_SEND_WINDOW_SIZE 0x07L
193#define AFD_INFO_GROUP_ID_TYPE 0x10L
194#define AFD_INFO_RECEIVE_CONTENT_SIZE 0x11L
195
196/* AFD Share Flags */
197#define AFD_SHARE_UNIQUE 0x0L
198#define AFD_SHARE_REUSE 0x1L
199#define AFD_SHARE_WILDCARD 0x2L
200#define AFD_SHARE_EXCLUSIVE 0x3L
201
202/* AFD Disconnect Flags */
203#define AFD_DISCONNECT_SEND 0x01L
204#define AFD_DISCONNECT_RECV 0x02L
205#define AFD_DISCONNECT_ABORT 0x04L
206#define AFD_DISCONNECT_DATAGRAM 0x08L
207
208/* AFD Event Flags */
209#define AFD_EVENT_RECEIVE (1 << AFD_EVENT_RECEIVE_BIT)
210#define AFD_EVENT_OOB_RECEIVE (1 << AFD_EVENT_OOB_RECEIVE_BIT)
211#define AFD_EVENT_SEND (1 << AFD_EVENT_SEND_BIT)
212#define AFD_EVENT_DISCONNECT (1 << AFD_EVENT_DISCONNECT_BIT)
213#define AFD_EVENT_ABORT (1 << AFD_EVENT_ABORT_BIT)
214#define AFD_EVENT_CLOSE (1 << AFD_EVENT_CLOSE_BIT)
215#define AFD_EVENT_CONNECT (1 << AFD_EVENT_CONNECT_BIT)
216#define AFD_EVENT_ACCEPT (1 << AFD_EVENT_ACCEPT_BIT)
217#define AFD_EVENT_CONNECT_FAIL (1 << AFD_EVENT_CONNECT_FAIL_BIT)
218#define AFD_EVENT_QOS (1 << AFD_EVENT_QOS_BIT)
219#define AFD_EVENT_GROUP_QOS (1 << AFD_EVENT_GROUP_QOS_BIT)
220#define AFD_EVENT_ROUTING_INTERFACE_CHANGE (1 << AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT)
221#define AFD_EVENT_ADDRESS_LIST_CHANGE (1 << AFD_EVENT_ADDRESS_LIST_CHANGE_BIT)
222
223/* AFD SEND/RECV Flags */
224#define AFD_SKIP_FIO 0x1L
225#define AFD_OVERLAPPED 0x2L
226#define AFD_IMMEDIATE 0x4L
227
228/* IOCTL Generation */
229#define FSCTL_AFD_BASE FILE_DEVICE_NETWORK
230#define _AFD_CONTROL_CODE(Operation,Method) \
231 ((FSCTL_AFD_BASE)<<12 | (Operation<<2) | Method)
232
233/* AFD Commands */
234#define AFD_BIND 0
235#define AFD_CONNECT 1
236#define AFD_START_LISTEN 2
237#define AFD_WAIT_FOR_LISTEN 3
238#define AFD_ACCEPT 4
239#define AFD_RECV 5
240#define AFD_RECV_DATAGRAM 6
241#define AFD_SEND 7
242#define AFD_SEND_DATAGRAM 8
243#define AFD_SELECT 9
244#define AFD_DISCONNECT 10
245#define AFD_GET_SOCK_NAME 11
246#define AFD_GET_PEER_NAME 12
247#define AFD_GET_TDI_HANDLES 13
248#define AFD_SET_INFO 14
249#define AFD_GET_CONTEXT_SIZE 15
250#define AFD_GET_CONTEXT 16
251#define AFD_SET_CONTEXT 17
252#define AFD_SET_CONNECT_DATA 18
253#define AFD_SET_CONNECT_OPTIONS 19
254#define AFD_SET_DISCONNECT_DATA 20
255#define AFD_SET_DISCONNECT_OPTIONS 21
256#define AFD_GET_CONNECT_DATA 22
257#define AFD_GET_CONNECT_OPTIONS 23
258#define AFD_GET_DISCONNECT_DATA 24
259#define AFD_GET_DISCONNECT_OPTIONS 25
260#define AFD_SET_CONNECT_DATA_SIZE 26
261#define AFD_SET_CONNECT_OPTIONS_SIZE 27
262#define AFD_SET_DISCONNECT_DATA_SIZE 28
263#define AFD_SET_DISCONNECT_OPTIONS_SIZE 29
264#define AFD_GET_INFO 30
265#define AFD_EVENT_SELECT 33
266#define AFD_ENUM_NETWORK_EVENTS 34
267#define AFD_DEFER_ACCEPT 35
268#define AFD_GET_PENDING_CONNECT_DATA 41
269#define AFD_VALIDATE_GROUP 42
270#define AFD_SUPER_CONNECT 49
271
272/* AFD IOCTLs */
273
274#define IOCTL_AFD_BIND \
275 _AFD_CONTROL_CODE(AFD_BIND, METHOD_NEITHER)
276#define IOCTL_AFD_CONNECT \
277 _AFD_CONTROL_CODE(AFD_CONNECT, METHOD_NEITHER)
278#define IOCTL_AFD_START_LISTEN \
279 _AFD_CONTROL_CODE(AFD_START_LISTEN, METHOD_NEITHER)
280#define IOCTL_AFD_WAIT_FOR_LISTEN \
281 _AFD_CONTROL_CODE(AFD_WAIT_FOR_LISTEN, METHOD_BUFFERED )
282#define IOCTL_AFD_ACCEPT \
283 _AFD_CONTROL_CODE(AFD_ACCEPT, METHOD_BUFFERED )
284#define IOCTL_AFD_RECV \
285 _AFD_CONTROL_CODE(AFD_RECV, METHOD_NEITHER)
286#define IOCTL_AFD_RECV_DATAGRAM \
287 _AFD_CONTROL_CODE(AFD_RECV_DATAGRAM, METHOD_NEITHER)
288#define IOCTL_AFD_SEND \
289 _AFD_CONTROL_CODE(AFD_SEND, METHOD_NEITHER)
290#define IOCTL_AFD_SEND_DATAGRAM \
291 _AFD_CONTROL_CODE(AFD_SEND_DATAGRAM, METHOD_NEITHER)
292#define IOCTL_AFD_SELECT \
293 _AFD_CONTROL_CODE(AFD_SELECT, METHOD_BUFFERED )
294#define IOCTL_AFD_DISCONNECT \
295 _AFD_CONTROL_CODE(AFD_DISCONNECT, METHOD_NEITHER)
296#define IOCTL_AFD_GET_SOCK_NAME \
297 _AFD_CONTROL_CODE(AFD_GET_SOCK_NAME, METHOD_NEITHER)
298#define IOCTL_AFD_GET_PEER_NAME \
299 _AFD_CONTROL_CODE(AFD_GET_PEER_NAME, METHOD_NEITHER)
300#define IOCTL_AFD_GET_TDI_HANDLES \
301 _AFD_CONTROL_CODE(AFD_GET_TDI_HANDLES, METHOD_NEITHER)
302#define IOCTL_AFD_SET_INFO \
303 _AFD_CONTROL_CODE(AFD_SET_INFO, METHOD_NEITHER)
304#define IOCTL_AFD_GET_CONTEXT_SIZE \
305 _AFD_CONTROL_CODE(AFD_GET_CONTEXT_SIZE, METHOD_NEITHER)
306#define IOCTL_AFD_GET_CONTEXT \
307 _AFD_CONTROL_CODE(AFD_GET_CONTEXT, METHOD_NEITHER)
308#define IOCTL_AFD_SET_CONTEXT \
309 _AFD_CONTROL_CODE(AFD_SET_CONTEXT, METHOD_NEITHER)
310#define IOCTL_AFD_SET_CONNECT_DATA \
311 _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA, METHOD_NEITHER)
312#define IOCTL_AFD_SET_CONNECT_OPTIONS \
313 _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS, METHOD_NEITHER)
314#define IOCTL_AFD_SET_DISCONNECT_DATA \
315 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA, METHOD_NEITHER)
316#define IOCTL_AFD_SET_DISCONNECT_OPTIONS \
317 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS, METHOD_NEITHER)
318#define IOCTL_AFD_GET_CONNECT_DATA \
319 _AFD_CONTROL_CODE(AFD_GET_CONNECT_DATA, METHOD_NEITHER)
320#define IOCTL_AFD_GET_CONNECT_OPTIONS \
321 _AFD_CONTROL_CODE(AFD_GET_CONNECT_OPTIONS, METHOD_NEITHER)
322#define IOCTL_AFD_GET_DISCONNECT_DATA \
323 _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_DATA, METHOD_NEITHER)
324#define IOCTL_AFD_GET_DISCONNECT_OPTIONS \
325 _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_OPTIONS, METHOD_NEITHER)
326#define IOCTL_AFD_SET_CONNECT_DATA_SIZE \
327 _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA_SIZE, METHOD_NEITHER)
328#define IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE \
329 _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS_SIZE, METHOD_NEITHER)
330#define IOCTL_AFD_SET_DISCONNECT_DATA_SIZE \
331 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA_SIZE, METHOD_NEITHER)
332#define IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE \
333 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS_SIZE, METHOD_NEITHER)
334#define IOCTL_AFD_GET_INFO \
335 _AFD_CONTROL_CODE(AFD_GET_INFO, METHOD_NEITHER)
336#define IOCTL_AFD_EVENT_SELECT \
337 _AFD_CONTROL_CODE(AFD_EVENT_SELECT, METHOD_NEITHER)
338#define IOCTL_AFD_DEFER_ACCEPT \
339 _AFD_CONTROL_CODE(AFD_DEFER_ACCEPT, METHOD_NEITHER)
340#define IOCTL_AFD_GET_PENDING_CONNECT_DATA \
341 _AFD_CONTROL_CODE(AFD_GET_PENDING_CONNECT_DATA, METHOD_NEITHER)
342#define IOCTL_AFD_ENUM_NETWORK_EVENTS \
343 _AFD_CONTROL_CODE(AFD_ENUM_NETWORK_EVENTS, METHOD_NEITHER)
344#define IOCTL_AFD_VALIDATE_GROUP \
345 _AFD_CONTROL_CODE(AFD_VALIDATE_GROUP, METHOD_NEITHER)
346#define IOCTL_AFD_SUPER_CONNECT \
347 _AFD_CONTROL_CODE(AFD_SUPER_CONNECT, METHOD_NEITHER)
348
359
360
361typedef enum _SOCKET_STATE {
368
369typedef struct _SOCK_SHARED_INFO {
383 struct {
396 }; // Flags
413
414typedef struct _FILE_REQUEST_BIND {
417
418typedef struct _FILE_REPLY_BIND {
423
424typedef struct _FILE_REQUEST_LISTEN {
427
428typedef struct _FILE_REPLY_LISTEN {
431
432typedef struct _FILE_REQUEST_SENDTO {
439
440typedef struct _FILE_REPLY_SENDTO {
444
452
453typedef struct _FILE_REPLY_RECVFROM {
457
458typedef struct _FILE_REQUEST_RECV {
463
464typedef struct _FILE_REPLY_RECV {
468
469
470typedef struct _FILE_REQUEST_SEND {
475
476typedef struct _FILE_REPLY_SEND {
480
481
482typedef struct _FILE_REQUEST_ACCEPT {
488
489typedef struct _FILE_REPLY_ACCEPT {
494
495
496typedef struct _FILE_REQUEST_CONNECT {
504
505typedef struct _FILE_REPLY_CONNECT {
508
509#endif /*__AFD_SHARED_H */
510
511/* EOF */
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define C_ASSERT(e)
Definition: intsafe.h:73
int * LPINT
Definition: minwindef.h:151
int * PINT
Definition: minwindef.h:150
enum _SOCKET_STATE SOCKET_STATE
unsigned int UINT
Definition: ndis.h:50
long LONG
Definition: pedump.c:60
struct _FILE_REPLY_SEND FILE_REPLY_SEND
struct _FILE_REPLY_BIND * PFILE_REPLY_BIND
struct _AFD_BIND_DATA * PAFD_BIND_DATA
struct _AFD_PENDING_ACCEPT_DATA AFD_PENDING_ACCEPT_DATA
struct _AFD_RECV_INFO * PAFD_RECV_INFO
struct _AFD_RECV_INFO_UDP * PAFD_RECV_INFO_UDP
struct _AFD_SEND_INFO_UDP AFD_SEND_INFO_UDP
struct _FILE_REQUEST_BIND FILE_REQUEST_BIND
struct _AFD_POLL_INFO * PAFD_POLL_INFO
struct _AFD_ACCEPT_DATA AFD_ACCEPT_DATA
struct _AFD_ENUM_NETWORK_EVENTS_INFO * PAFD_ENUM_NETWORK_EVENTS_INFO
struct _AFD_CREATE_PACKET * PAFD_CREATE_PACKET
struct _SOCK_SHARED_INFO * PSOCK_SHARED_INFO
struct _AFD_BIND_DATA AFD_BIND_DATA
struct _AFD_DISCONNECT_INFO AFD_DISCONNECT_INFO
struct _FILE_REQUEST_LISTEN FILE_REQUEST_LISTEN
struct _AFD_CONNECT_INFO * PAFD_CONNECT_INFO
struct _FILE_REPLY_LISTEN * PFILE_REPLY_LISTEN
struct _AFD_INFO AFD_INFO
struct _AFD_SUPER_CONNECT_INFO AFD_SUPER_CONNECT_INFO
struct _AFD_RECEIVED_ACCEPT_DATA AFD_RECEIVED_ACCEPT_DATA
enum _SOCKET_STATE SOCKET_STATE
struct _FILE_REQUEST_CONNECT FILE_REQUEST_CONNECT
struct _AFD_SOCKET_INFORMATION AFD_SOCKET_INFORMATION
struct _AFD_SEND_INFO_UDP * PAFD_SEND_INFO_UDP
struct _FILE_REPLY_SEND * PFILE_REPLY_SEND
struct _FILE_REPLY_LISTEN FILE_REPLY_LISTEN
struct _AFD_POLL_INFO AFD_POLL_INFO
struct _FILE_REQUEST_CONNECT * PFILE_REQUEST_CONNECT
struct _FILE_REQUEST_RECVFROM FILE_REQUEST_RECVFROM
struct _AFD_TDI_HANDLE_DATA * PAFD_TDI_HANDLE_DATA
struct _FILE_REPLY_RECV FILE_REPLY_RECV
#define AFD_MAX_EVENTS
Definition: shared.h:10
struct _FILE_REQUEST_SEND * PFILE_REQUEST_SEND
struct _AFD_RECEIVED_ACCEPT_DATA * PAFD_RECEIVED_ACCEPT_DATA
struct _AFD_DEFER_ACCEPT_DATA AFD_DEFER_ACCEPT_DATA
struct _AFD_PENDING_ACCEPT_DATA * PAFD_PENDING_ACCEPT_DATA
struct _AFD_VALIDATE_GROUP_DATA AFD_VALIDATE_GROUP_DATA
struct _FILE_REQUEST_SEND FILE_REQUEST_SEND
struct _AFD_HANDLE_ AFD_HANDLE
enum _SOCKET_STATE * PSOCKET_STATE
struct _AFD_DEFER_ACCEPT_DATA * PAFD_DEFER_ACCEPT_DATA
struct _FILE_REQUEST_ACCEPT * PFILE_REQUEST_ACCEPT
struct _AFD_SEND_INFO * PAFD_SEND_INFO
struct _FILE_REPLY_ACCEPT FILE_REPLY_ACCEPT
struct _AFD_LISTEN_DATA AFD_LISTEN_DATA
struct _AFD_TDI_HANDLE_DATA AFD_TDI_HANDLE_DATA
struct _FILE_REPLY_RECVFROM FILE_REPLY_RECVFROM
struct _AFD_WSABUF AFD_WSABUF
struct _AFD_EVENT_SELECT_INFO AFD_EVENT_SELECT_INFO
struct _AFD_VALIDATE_GROUP_DATA * PAFD_VALIDATE_GROUP_DATA
struct _AFD_SUPER_CONNECT_INFO * PAFD_SUPER_CONNECT_INFO
struct _AFD_SEND_INFO AFD_SEND_INFO
struct _AFD_SOCKET_INFORMATION * PAFD_SOCKET_INFORMATION
struct _FILE_REQUEST_ACCEPT FILE_REQUEST_ACCEPT
struct _FILE_REQUEST_RECV * PFILE_REQUEST_RECV
struct _FILE_REPLY_SENDTO FILE_REPLY_SENDTO
struct _FILE_REPLY_CONNECT * PFILE_REPLY_CONNECT
struct _AFD_RECV_INFO_UDP AFD_RECV_INFO_UDP
struct _AFD_LISTEN_DATA * PAFD_LISTEN_DATA
struct _FILE_REPLY_RECVFROM * PFILE_REPLY_RECVFROM
struct _FILE_REPLY_BIND FILE_REPLY_BIND
struct _AFD_CONNECT_INFO AFD_CONNECT_INFO
struct _AFD_CREATE_PACKET AFD_CREATE_PACKET
struct _AFD_HANDLE_ * PAFD_HANDLE
struct _AFD_ACCEPT_DATA * PAFD_ACCEPT_DATA
struct _FILE_REPLY_CONNECT FILE_REPLY_CONNECT
struct _FILE_REPLY_RECV * PFILE_REPLY_RECV
struct _FILE_REPLY_SENDTO * PFILE_REPLY_SENDTO
struct _FILE_REQUEST_SENDTO FILE_REQUEST_SENDTO
struct _AFD_INFO * PAFD_INFO
struct _AFD_DISCONNECT_INFO * PAFD_DISCONNECT_INFO
struct _AFD_WSABUF * PAFD_WSABUF
struct _AFD_RECV_INFO AFD_RECV_INFO
struct _AFD_EVENT_SELECT_INFO * PAFD_EVENT_SELECT_INFO
struct _SOCK_SHARED_INFO SOCK_SHARED_INFO
struct _FILE_REQUEST_RECVFROM * PFILE_REQUEST_RECVFROM
@ SocketBound
Definition: shared.h:363
@ SocketConnected
Definition: shared.h:365
@ SocketClosed
Definition: shared.h:366
@ SocketBoundUdp
Definition: shared.h:364
@ SocketOpen
Definition: shared.h:362
struct _AFD_ENUM_NETWORK_EVENTS_INFO AFD_ENUM_NETWORK_EVENTS_INFO
struct _FILE_REPLY_ACCEPT * PFILE_REPLY_ACCEPT
struct _FILE_REQUEST_RECV FILE_REQUEST_RECV
struct _FILE_REQUEST_LISTEN * PFILE_REQUEST_LISTEN
struct _FILE_REQUEST_BIND * PFILE_REQUEST_BIND
struct _FILE_REQUEST_SENDTO * PFILE_REQUEST_SENDTO
ULONG UseSAN
Definition: shared.h:63
HANDLE ListenHandle
Definition: shared.h:65
ULONG SequenceNumber
Definition: shared.h:64
ULONG ShareType
Definition: shared.h:39
TRANSPORT_ADDRESS Address
Definition: shared.h:40
TRANSPORT_ADDRESS RemoteAddress
Definition: shared.h:121
BOOLEAN UseSAN
Definition: shared.h:118
DWORD EndpointFlags
Definition: shared.h:22
WCHAR TransportName[1]
Definition: shared.h:25
DWORD SizeOfTransportName
Definition: shared.h:24
BOOLEAN RejectConnection
Definition: shared.h:81
LARGE_INTEGER Timeout
Definition: shared.h:143
ULONG DisconnectType
Definition: shared.h:142
NTSTATUS EventStatus[AFD_MAX_EVENTS]
Definition: shared.h:138
SOCKET Handle
Definition: shared.h:50
ULONG Events
Definition: shared.h:51
NTSTATUS Status
Definition: shared.h:52
union _AFD_INFO::@3574 Information
ULONG InformationClass
Definition: shared.h:29
ULONG Padding
Definition: shared.h:35
ULONG Ulong
Definition: shared.h:31
BOOLEAN Boolean
Definition: shared.h:33
LARGE_INTEGER LargeInteger
Definition: shared.h:32
BOOLEAN UseSAN
Definition: shared.h:44
BOOLEAN UseDelayedAcceptance
Definition: shared.h:46
ULONG Backlog
Definition: shared.h:45
LARGE_INTEGER Timeout
Definition: shared.h:56
ULONG HandleCount
Definition: shared.h:57
AFD_HANDLE Handles[1]
Definition: shared.h:59
ULONG_PTR Exclusive
Definition: shared.h:58
TRANSPORT_ADDRESS Address
Definition: shared.h:70
ULONG AfdFlags
Definition: shared.h:94
PINT AddressLength
Definition: shared.h:97
ULONG BufferCount
Definition: shared.h:93
ULONG TdiFlags
Definition: shared.h:95
PAFD_WSABUF BufferArray
Definition: shared.h:92
ULONG BufferCount
Definition: shared.h:86
ULONG TdiFlags
Definition: shared.h:88
ULONG AfdFlags
Definition: shared.h:87
PAFD_WSABUF BufferArray
Definition: shared.h:85
ULONG BufferCount
Definition: shared.h:109
TDI_CONNECTION_INFORMATION TdiConnection
Definition: shared.h:112
TDI_REQUEST_SEND_DATAGRAM TdiRequest
Definition: shared.h:111
PAFD_WSABUF BufferArray
Definition: shared.h:108
ULONG BufferCount
Definition: shared.h:102
PAFD_WSABUF BufferArray
Definition: shared.h:101
ULONG TdiFlags
Definition: shared.h:104
ULONG AfdFlags
Definition: shared.h:103
UNICODE_STRING TdiDeviceName
Definition: shared.h:356
TRANSPORT_ADDRESS RemoteAddress
Definition: shared.h:127
HANDLE TdiConnectionHandle
Definition: shared.h:155
HANDLE TdiAddressHandle
Definition: shared.h:154
TRANSPORT_ADDRESS Address
Definition: shared.h:149
PCHAR buf
Definition: shared.h:18
UINT len
Definition: shared.h:17
HANDLE TdiConnectionObjectHandle
Definition: shared.h:421
HANDLE TdiAddressObjectHandle
Definition: shared.h:420
DWORD NumberOfBytesRecvd
Definition: shared.h:455
DWORD NumberOfBytesRecvd
Definition: shared.h:466
DWORD NumberOfBytesSent
Definition: shared.h:442
DWORD NumberOfBytesSent
Definition: shared.h:478
DWORD dwCallbackData
Definition: shared.h:486
LPCONDITIONPROC lpfnCondition
Definition: shared.h:485
LPSOCKADDR addr
Definition: shared.h:483
SOCKADDR Name
Definition: shared.h:415
LPSOCKADDR name
Definition: shared.h:497
LPWSABUF lpCalleeData
Definition: shared.h:500
LPWSABUF lpCallerData
Definition: shared.h:499
LPSOCKADDR From
Definition: shared.h:449
DWORD BufferCount
Definition: shared.h:460
LPDWORD Flags
Definition: shared.h:461
LPWSABUF Buffers
Definition: shared.h:459
LPWSABUF Buffers
Definition: shared.h:433
LPWSABUF Buffers
Definition: shared.h:471
DWORD BufferCount
Definition: shared.h:472
DWORD GroupType
Definition: shared.h:401
BOOLEAN Broadcast
Definition: shared.h:385
BOOLEAN Debug
Definition: shared.h:386
LONG AsyncDisabledEvents
Definition: shared.h:409
INT SizeOfLocalAddress
Definition: shared.h:375
ULONG RecvTimeout
Definition: shared.h:379
BOOLEAN ExclusiveAddressUse
Definition: shared.h:389
SOCKADDR WSRemoteAddress
Definition: shared.h:411
BOOLEAN OobInline
Definition: shared.h:387
SOCKET_STATE State
Definition: shared.h:370
ULONG SizeOfSendBuffer
Definition: shared.h:381
BOOLEAN NonBlocking
Definition: shared.h:390
BOOLEAN UseSAN
Definition: shared.h:395
BOOLEAN SendShutdown
Definition: shared.h:393
SOCKADDR WSLocalAddress
Definition: shared.h:410
BOOLEAN ReuseAddresses
Definition: shared.h:388
LONG AsyncEvents
Definition: shared.h:408
ULONG SizeOfRecvBuffer
Definition: shared.h:380
INT SocketLastError
Definition: shared.h:403
struct linger LingerData
Definition: shared.h:377
DWORD SequenceNumber
Definition: shared.h:406
DWORD ProviderFlags
Definition: shared.h:399
INT SizeOfRemoteAddress
Definition: shared.h:376
BOOLEAN ReceiveShutdown
Definition: shared.h:392
ULONG SendTimeout
Definition: shared.h:378
BOOLEAN Listening
Definition: shared.h:384
BOOLEAN DontUseWildcard
Definition: shared.h:391
BOOLEAN UseDelayedAcceptance
Definition: shared.h:394
DWORD ServiceFlags1
Definition: shared.h:398
ULONG ConnectTime
Definition: shared.h:382
DWORD CreateFlags
Definition: shared.h:397
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
unsigned int GROUP
Definition: winsock2.h:634
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
_SOCKET_STATE
Definition: wshtcpip.h:31
__wchar_t WCHAR
Definition: xmlstorage.h:180