ReactOS 0.4.17-dev-966-gf06eace
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
69{
77
82
88
89typedef struct _AFD_DEFER_ACCEPT_DATA {
93
94typedef struct _AFD_RECV_INFO {
100
101typedef struct _AFD_RECV_INFO_UDP {
109
110typedef struct _AFD_SEND_INFO {
116
117typedef struct _AFD_SEND_INFO_UDP {
124
126
127typedef struct _AFD_CONNECT_INFO {
133
135{
139
144
150
151typedef struct _AFD_DISCONNECT_INFO {
155
157{
161
163{
167
168/* AFD Packet Endpoint Flags */
169#define AFD_ENDPOINT_CONNECTIONLESS 0x1
170#define AFD_ENDPOINT_MESSAGE_ORIENTED 0x10
171#define AFD_ENDPOINT_RAW 0x100
172#define AFD_ENDPOINT_MULTIPOINT 0x1000
173#define AFD_ENDPOINT_C_ROOT 0x10000
174#define AFD_ENDPOINT_D_ROOT 0x100000
175
176/* AFD TDI Query Flags */
177#define AFD_ADDRESS_HANDLE 0x1L
178#define AFD_CONNECTION_HANDLE 0x2L
179
180/* AFD event bits */
181#define AFD_EVENT_RECEIVE_BIT 0
182#define AFD_EVENT_OOB_RECEIVE_BIT 1
183#define AFD_EVENT_SEND_BIT 2
184#define AFD_EVENT_DISCONNECT_BIT 3
185#define AFD_EVENT_ABORT_BIT 4
186#define AFD_EVENT_CLOSE_BIT 5
187#define AFD_EVENT_CONNECT_BIT 6
188#define AFD_EVENT_ACCEPT_BIT 7
189#define AFD_EVENT_CONNECT_FAIL_BIT 8
190#define AFD_EVENT_QOS_BIT 9
191#define AFD_EVENT_GROUP_QOS_BIT 10
192#define AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT 11
193#define AFD_EVENT_ADDRESS_LIST_CHANGE_BIT 12
194#define AFD_MAX_EVENT 13
195#define AFD_ALL_EVENTS ((1 << AFD_MAX_EVENT) - 1)
196
197/* AFD Info Flags */
198#define AFD_INFO_INLINING_MODE 0x01L
199#define AFD_INFO_BLOCKING_MODE 0x02L
200#define AFD_INFO_SENDS_IN_PROGRESS 0x04L
201#define AFD_INFO_RECEIVE_WINDOW_SIZE 0x06L
202#define AFD_INFO_SEND_WINDOW_SIZE 0x07L
203#define AFD_INFO_GROUP_ID_TYPE 0x10L
204#define AFD_INFO_RECEIVE_CONTENT_SIZE 0x11L
205
206/* AFD Share Flags */
207#define AFD_SHARE_UNIQUE 0x0L
208#define AFD_SHARE_REUSE 0x1L
209#define AFD_SHARE_WILDCARD 0x2L
210#define AFD_SHARE_EXCLUSIVE 0x3L
211
212/* AFD Disconnect Flags */
213#define AFD_DISCONNECT_SEND 0x01L
214#define AFD_DISCONNECT_RECV 0x02L
215#define AFD_DISCONNECT_ABORT 0x04L
216#define AFD_DISCONNECT_DATAGRAM 0x08L
217
218/* AFD Event Flags */
219#define AFD_EVENT_RECEIVE (1 << AFD_EVENT_RECEIVE_BIT)
220#define AFD_EVENT_OOB_RECEIVE (1 << AFD_EVENT_OOB_RECEIVE_BIT)
221#define AFD_EVENT_SEND (1 << AFD_EVENT_SEND_BIT)
222#define AFD_EVENT_DISCONNECT (1 << AFD_EVENT_DISCONNECT_BIT)
223#define AFD_EVENT_ABORT (1 << AFD_EVENT_ABORT_BIT)
224#define AFD_EVENT_CLOSE (1 << AFD_EVENT_CLOSE_BIT)
225#define AFD_EVENT_CONNECT (1 << AFD_EVENT_CONNECT_BIT)
226#define AFD_EVENT_ACCEPT (1 << AFD_EVENT_ACCEPT_BIT)
227#define AFD_EVENT_CONNECT_FAIL (1 << AFD_EVENT_CONNECT_FAIL_BIT)
228#define AFD_EVENT_QOS (1 << AFD_EVENT_QOS_BIT)
229#define AFD_EVENT_GROUP_QOS (1 << AFD_EVENT_GROUP_QOS_BIT)
230#define AFD_EVENT_ROUTING_INTERFACE_CHANGE (1 << AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT)
231#define AFD_EVENT_ADDRESS_LIST_CHANGE (1 << AFD_EVENT_ADDRESS_LIST_CHANGE_BIT)
232
233/* AFD SEND/RECV Flags */
234#define AFD_SKIP_FIO 0x1L
235#define AFD_OVERLAPPED 0x2L
236#define AFD_IMMEDIATE 0x4L
237
238/* IOCTL Generation */
239#define FSCTL_AFD_BASE FILE_DEVICE_NETWORK
240#define _AFD_CONTROL_CODE(Operation,Method) \
241 ((FSCTL_AFD_BASE)<<12 | (Operation<<2) | Method)
242
243/* AFD Commands */
244#define AFD_BIND 0
245#define AFD_CONNECT 1
246#define AFD_START_LISTEN 2
247#define AFD_WAIT_FOR_LISTEN 3
248#define AFD_ACCEPT 4
249#define AFD_RECV 5
250#define AFD_RECV_DATAGRAM 6
251#define AFD_SEND 7
252#define AFD_SEND_DATAGRAM 8
253#define AFD_SELECT 9
254#define AFD_DISCONNECT 10
255#define AFD_GET_SOCK_NAME 11
256#define AFD_GET_PEER_NAME 12
257#define AFD_GET_TDI_HANDLES 13
258#define AFD_SET_INFO 14
259#define AFD_GET_CONTEXT_SIZE 15
260#define AFD_GET_CONTEXT 16
261#define AFD_SET_CONTEXT 17
262#define AFD_SET_CONNECT_DATA 18
263#define AFD_SET_CONNECT_OPTIONS 19
264#define AFD_SET_DISCONNECT_DATA 20
265#define AFD_SET_DISCONNECT_OPTIONS 21
266#define AFD_GET_CONNECT_DATA 22
267#define AFD_GET_CONNECT_OPTIONS 23
268#define AFD_GET_DISCONNECT_DATA 24
269#define AFD_GET_DISCONNECT_OPTIONS 25
270#define AFD_SET_CONNECT_DATA_SIZE 26
271#define AFD_SET_CONNECT_OPTIONS_SIZE 27
272#define AFD_SET_DISCONNECT_DATA_SIZE 28
273#define AFD_SET_DISCONNECT_OPTIONS_SIZE 29
274#define AFD_GET_INFO 30
275#define AFD_SUPER_ACCEPT 32
276#define AFD_EVENT_SELECT 33
277#define AFD_ENUM_NETWORK_EVENTS 34
278#define AFD_DEFER_ACCEPT 35
279#define AFD_GET_PENDING_CONNECT_DATA 41
280#define AFD_VALIDATE_GROUP 42
281#define AFD_SUPER_CONNECT 49
282
283/* AFD IOCTLs */
284
285#define IOCTL_AFD_BIND \
286 _AFD_CONTROL_CODE(AFD_BIND, METHOD_NEITHER)
287#define IOCTL_AFD_CONNECT \
288 _AFD_CONTROL_CODE(AFD_CONNECT, METHOD_NEITHER)
289#define IOCTL_AFD_START_LISTEN \
290 _AFD_CONTROL_CODE(AFD_START_LISTEN, METHOD_NEITHER)
291#define IOCTL_AFD_WAIT_FOR_LISTEN \
292 _AFD_CONTROL_CODE(AFD_WAIT_FOR_LISTEN, METHOD_BUFFERED )
293#define IOCTL_AFD_ACCEPT \
294 _AFD_CONTROL_CODE(AFD_ACCEPT, METHOD_BUFFERED )
295#define IOCTL_AFD_RECV \
296 _AFD_CONTROL_CODE(AFD_RECV, METHOD_NEITHER)
297#define IOCTL_AFD_RECV_DATAGRAM \
298 _AFD_CONTROL_CODE(AFD_RECV_DATAGRAM, METHOD_NEITHER)
299#define IOCTL_AFD_SEND \
300 _AFD_CONTROL_CODE(AFD_SEND, METHOD_NEITHER)
301#define IOCTL_AFD_SEND_DATAGRAM \
302 _AFD_CONTROL_CODE(AFD_SEND_DATAGRAM, METHOD_NEITHER)
303#define IOCTL_AFD_SELECT \
304 _AFD_CONTROL_CODE(AFD_SELECT, METHOD_BUFFERED )
305#define IOCTL_AFD_DISCONNECT \
306 _AFD_CONTROL_CODE(AFD_DISCONNECT, METHOD_NEITHER)
307#define IOCTL_AFD_GET_SOCK_NAME \
308 _AFD_CONTROL_CODE(AFD_GET_SOCK_NAME, METHOD_NEITHER)
309#define IOCTL_AFD_GET_PEER_NAME \
310 _AFD_CONTROL_CODE(AFD_GET_PEER_NAME, METHOD_NEITHER)
311#define IOCTL_AFD_GET_TDI_HANDLES \
312 _AFD_CONTROL_CODE(AFD_GET_TDI_HANDLES, METHOD_NEITHER)
313#define IOCTL_AFD_SET_INFO \
314 _AFD_CONTROL_CODE(AFD_SET_INFO, METHOD_NEITHER)
315#define IOCTL_AFD_GET_CONTEXT_SIZE \
316 _AFD_CONTROL_CODE(AFD_GET_CONTEXT_SIZE, METHOD_NEITHER)
317#define IOCTL_AFD_GET_CONTEXT \
318 _AFD_CONTROL_CODE(AFD_GET_CONTEXT, METHOD_NEITHER)
319#define IOCTL_AFD_SET_CONTEXT \
320 _AFD_CONTROL_CODE(AFD_SET_CONTEXT, METHOD_NEITHER)
321#define IOCTL_AFD_SET_CONNECT_DATA \
322 _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA, METHOD_NEITHER)
323#define IOCTL_AFD_SET_CONNECT_OPTIONS \
324 _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS, METHOD_NEITHER)
325#define IOCTL_AFD_SET_DISCONNECT_DATA \
326 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA, METHOD_NEITHER)
327#define IOCTL_AFD_SET_DISCONNECT_OPTIONS \
328 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS, METHOD_NEITHER)
329#define IOCTL_AFD_GET_CONNECT_DATA \
330 _AFD_CONTROL_CODE(AFD_GET_CONNECT_DATA, METHOD_NEITHER)
331#define IOCTL_AFD_GET_CONNECT_OPTIONS \
332 _AFD_CONTROL_CODE(AFD_GET_CONNECT_OPTIONS, METHOD_NEITHER)
333#define IOCTL_AFD_GET_DISCONNECT_DATA \
334 _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_DATA, METHOD_NEITHER)
335#define IOCTL_AFD_GET_DISCONNECT_OPTIONS \
336 _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_OPTIONS, METHOD_NEITHER)
337#define IOCTL_AFD_SET_CONNECT_DATA_SIZE \
338 _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA_SIZE, METHOD_NEITHER)
339#define IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE \
340 _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS_SIZE, METHOD_NEITHER)
341#define IOCTL_AFD_SET_DISCONNECT_DATA_SIZE \
342 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA_SIZE, METHOD_NEITHER)
343#define IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE \
344 _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS_SIZE, METHOD_NEITHER)
345#define IOCTL_AFD_GET_INFO \
346 _AFD_CONTROL_CODE(AFD_GET_INFO, METHOD_NEITHER)
347#define IOCTL_AFD_SUPER_ACCEPT \
348 _AFD_CONTROL_CODE(AFD_SUPER_ACCEPT, METHOD_NEITHER)
349#define IOCTL_AFD_EVENT_SELECT \
350 _AFD_CONTROL_CODE(AFD_EVENT_SELECT, METHOD_NEITHER)
351#define IOCTL_AFD_DEFER_ACCEPT \
352 _AFD_CONTROL_CODE(AFD_DEFER_ACCEPT, METHOD_NEITHER)
353#define IOCTL_AFD_GET_PENDING_CONNECT_DATA \
354 _AFD_CONTROL_CODE(AFD_GET_PENDING_CONNECT_DATA, METHOD_NEITHER)
355#define IOCTL_AFD_ENUM_NETWORK_EVENTS \
356 _AFD_CONTROL_CODE(AFD_ENUM_NETWORK_EVENTS, METHOD_NEITHER)
357#define IOCTL_AFD_VALIDATE_GROUP \
358 _AFD_CONTROL_CODE(AFD_VALIDATE_GROUP, METHOD_NEITHER)
359#define IOCTL_AFD_SUPER_CONNECT \
360 _AFD_CONTROL_CODE(AFD_SUPER_CONNECT, METHOD_NEITHER)
361
372
373
374typedef enum _SOCKET_STATE {
381
382typedef struct _SOCK_SHARED_INFO {
396 struct {
409 }; // Flags
426
427typedef struct _FILE_REQUEST_BIND {
430
431typedef struct _FILE_REPLY_BIND {
436
437typedef struct _FILE_REQUEST_LISTEN {
440
441typedef struct _FILE_REPLY_LISTEN {
444
445typedef struct _FILE_REQUEST_SENDTO {
452
453typedef struct _FILE_REPLY_SENDTO {
457
465
466typedef struct _FILE_REPLY_RECVFROM {
470
471typedef struct _FILE_REQUEST_RECV {
476
477typedef struct _FILE_REPLY_RECV {
481
482
483typedef struct _FILE_REQUEST_SEND {
488
489typedef struct _FILE_REPLY_SEND {
493
494
495typedef struct _FILE_REQUEST_ACCEPT {
501
502typedef struct _FILE_REPLY_ACCEPT {
507
508
509typedef struct _FILE_REQUEST_CONNECT {
517
518typedef struct _FILE_REPLY_CONNECT {
521
522#endif /*__AFD_SHARED_H */
523
524/* 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
unsigned int UINT
Definition: sysinfo.c:13
#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
short WCHAR
Definition: pedump.c:58
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_SUPER_ACCEPT_INFO AFD_SUPER_ACCEPT_INFO
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_SUPER_ACCEPT_INFO * PAFD_SUPER_ACCEPT_INFO
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:376
@ SocketConnected
Definition: shared.h:378
@ SocketClosed
Definition: shared.h:379
@ SocketBoundUdp
Definition: shared.h:377
@ SocketOpen
Definition: shared.h:375
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:131
BOOLEAN UseSAN
Definition: shared.h:128
DWORD EndpointFlags
Definition: shared.h:22
WCHAR TransportName[1]
Definition: shared.h:25
DWORD SizeOfTransportName
Definition: shared.h:24
BOOLEAN RejectConnection
Definition: shared.h:91
LARGE_INTEGER Timeout
Definition: shared.h:153
ULONG DisconnectType
Definition: shared.h:152
NTSTATUS EventStatus[AFD_MAX_EVENTS]
Definition: shared.h:148
SOCKET Handle
Definition: shared.h:50
ULONG Events
Definition: shared.h:51
NTSTATUS Status
Definition: shared.h:52
ULONG InformationClass
Definition: shared.h:29
ULONG Padding
Definition: shared.h:35
ULONG Ulong
Definition: shared.h:31
union _AFD_INFO::@4118 Information
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:80
PINT AddressLength
Definition: shared.h:107
ULONG BufferCount
Definition: shared.h:103
PAFD_WSABUF BufferArray
Definition: shared.h:102
ULONG BufferCount
Definition: shared.h:96
ULONG TdiFlags
Definition: shared.h:98
ULONG AfdFlags
Definition: shared.h:97
PAFD_WSABUF BufferArray
Definition: shared.h:95
ULONG BufferCount
Definition: shared.h:119
TDI_CONNECTION_INFORMATION TdiConnection
Definition: shared.h:122
TDI_REQUEST_SEND_DATAGRAM TdiRequest
Definition: shared.h:121
PAFD_WSABUF BufferArray
Definition: shared.h:118
ULONG BufferCount
Definition: shared.h:112
PAFD_WSABUF BufferArray
Definition: shared.h:111
ULONG TdiFlags
Definition: shared.h:114
ULONG AfdFlags
Definition: shared.h:113
UNICODE_STRING TdiDeviceName
Definition: shared.h:369
ULONG ReceiveDataLength
Definition: shared.h:73
BOOLEAN FixAddressAlignment
Definition: shared.h:71
ULONG RemoteAddressLength
Definition: shared.h:75
ULONG LocalAddressLength
Definition: shared.h:74
TRANSPORT_ADDRESS RemoteAddress
Definition: shared.h:137
HANDLE TdiConnectionHandle
Definition: shared.h:165
HANDLE TdiAddressHandle
Definition: shared.h:164
TRANSPORT_ADDRESS Address
Definition: shared.h:159
PCHAR buf
Definition: shared.h:18
UINT len
Definition: shared.h:17
HANDLE TdiConnectionObjectHandle
Definition: shared.h:434
HANDLE TdiAddressObjectHandle
Definition: shared.h:433
DWORD NumberOfBytesRecvd
Definition: shared.h:468
DWORD NumberOfBytesRecvd
Definition: shared.h:479
DWORD NumberOfBytesSent
Definition: shared.h:455
DWORD NumberOfBytesSent
Definition: shared.h:491
DWORD dwCallbackData
Definition: shared.h:499
LPCONDITIONPROC lpfnCondition
Definition: shared.h:498
LPSOCKADDR addr
Definition: shared.h:496
SOCKADDR Name
Definition: shared.h:428
LPSOCKADDR name
Definition: shared.h:510
LPWSABUF lpCalleeData
Definition: shared.h:513
LPWSABUF lpCallerData
Definition: shared.h:512
LPSOCKADDR From
Definition: shared.h:462
DWORD BufferCount
Definition: shared.h:473
LPDWORD Flags
Definition: shared.h:474
LPWSABUF Buffers
Definition: shared.h:472
LPWSABUF Buffers
Definition: shared.h:446
LPWSABUF Buffers
Definition: shared.h:484
DWORD BufferCount
Definition: shared.h:485
DWORD GroupType
Definition: shared.h:414
BOOLEAN Broadcast
Definition: shared.h:398
BOOLEAN Debug
Definition: shared.h:399
LONG AsyncDisabledEvents
Definition: shared.h:422
INT SizeOfLocalAddress
Definition: shared.h:388
ULONG RecvTimeout
Definition: shared.h:392
BOOLEAN ExclusiveAddressUse
Definition: shared.h:402
SOCKADDR WSRemoteAddress
Definition: shared.h:424
BOOLEAN OobInline
Definition: shared.h:400
SOCKET_STATE State
Definition: shared.h:383
ULONG SizeOfSendBuffer
Definition: shared.h:394
BOOLEAN NonBlocking
Definition: shared.h:403
BOOLEAN UseSAN
Definition: shared.h:408
BOOLEAN SendShutdown
Definition: shared.h:406
SOCKADDR WSLocalAddress
Definition: shared.h:423
BOOLEAN ReuseAddresses
Definition: shared.h:401
LONG AsyncEvents
Definition: shared.h:421
ULONG SizeOfRecvBuffer
Definition: shared.h:393
INT SocketLastError
Definition: shared.h:416
struct linger LingerData
Definition: shared.h:390
DWORD SequenceNumber
Definition: shared.h:419
DWORD ProviderFlags
Definition: shared.h:412
INT SizeOfRemoteAddress
Definition: shared.h:389
BOOLEAN ReceiveShutdown
Definition: shared.h:405
ULONG SendTimeout
Definition: shared.h:391
BOOLEAN Listening
Definition: shared.h:397
BOOLEAN DontUseWildcard
Definition: shared.h:404
BOOLEAN UseDelayedAcceptance
Definition: shared.h:407
DWORD ServiceFlags1
Definition: shared.h:411
ULONG ConnectTime
Definition: shared.h:395
DWORD CreateFlags
Definition: shared.h:410
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:32