| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was generated from a ReactOS header to make |
| *** information necessary for userspace to call into the Windows |
| *** kernel available to Dr. Memory. It contains only constants, |
| *** structures, and macros generated from the original header, and |
| *** thus, contains no copyrightable information. |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| |
| /* from reactos/include/reactos/drivers/afd/shared.h */ |
| |
| #ifndef __AFD_SHARED_H |
| #define __AFD_SHARED_H |
| |
| #include "tdi.h" |
| #include "wsock.h" |
| |
| #define AFD_MAX_EVENTS 10 |
| #define AFD_PACKET_COMMAND_LENGTH 15 |
| #define AfdCommand "AfdOpenPacketXX" |
| |
| /* Extra definition of WSABUF for AFD so that I don't have to include any |
| * userland winsock headers. */ |
| typedef struct _AFD_WSABUF { |
| UINT len; |
| PCHAR buf; |
| } AFD_WSABUF, *PAFD_WSABUF; |
| |
| typedef struct _AFD_CREATE_PACKET { |
| DWORD EndpointFlags; |
| DWORD GroupID; |
| DWORD SizeOfTransportName; |
| WCHAR TransportName[1]; |
| } AFD_CREATE_PACKET, *PAFD_CREATE_PACKET; |
| |
| typedef struct _AFD_INFO { |
| ULONG InformationClass; |
| union { |
| ULONG Ulong; |
| LARGE_INTEGER LargeInteger; |
| BOOLEAN Boolean; |
| } Information; |
| ULONG Padding; |
| } AFD_INFO, *PAFD_INFO; |
| |
| typedef struct _AFD_BIND_DATA { |
| ULONG ShareType; |
| #if 1 /* bruening: based on win7 observation: i#376 */ |
| SOCKADDR Address; |
| #else |
| TRANSPORT_ADDRESS Address; |
| #endif |
| } AFD_BIND_DATA, *PAFD_BIND_DATA; |
| |
| typedef struct _AFD_LISTEN_DATA { |
| BOOLEAN UseSAN; |
| ULONG Backlog; |
| BOOLEAN UseDelayedAcceptance; |
| } AFD_LISTEN_DATA, *PAFD_LISTEN_DATA; |
| |
| typedef struct _AFD_HANDLE_ { |
| SOCKET Handle; |
| ULONG Events; |
| NTSTATUS Status; |
| } AFD_HANDLE, *PAFD_HANDLE; |
| |
| typedef struct _AFD_POLL_INFO { |
| LARGE_INTEGER Timeout; |
| ULONG HandleCount; |
| BOOLEAN Exclusive; |
| AFD_HANDLE Handles[1]; |
| } AFD_POLL_INFO, *PAFD_POLL_INFO; |
| |
| typedef struct _AFD_ACCEPT_DATA { |
| BOOLEAN UseSAN; |
| ULONG SequenceNumber; |
| HANDLE ListenHandle; |
| } AFD_ACCEPT_DATA, *PAFD_ACCEPT_DATA; |
| |
| typedef struct _AFD_RECEIVED_ACCEPT_DATA { |
| ULONG SequenceNumber; |
| TRANSPORT_ADDRESS Address; |
| } AFD_RECEIVED_ACCEPT_DATA, *PAFD_RECEIVED_ACCEPT_DATA; |
| |
| typedef struct _AFD_PENDING_ACCEPT_DATA { |
| ULONG SequenceNumber; |
| ULONG SizeOfData; |
| ULONG ReturnSize; |
| } AFD_PENDING_ACCEPT_DATA, *PAFD_PENDING_ACCEPT_DATA; |
| |
| typedef struct _AFD_DEFER_ACCEPT_DATA { |
| ULONG SequenceNumber; |
| BOOLEAN RejectConnection; |
| } AFD_DEFER_ACCEPT_DATA, *PAFD_DEFER_ACCEPT_DATA; |
| |
| typedef struct _AFD_RECV_INFO { |
| PAFD_WSABUF BufferArray; |
| ULONG BufferCount; |
| ULONG AfdFlags; |
| ULONG TdiFlags; |
| } AFD_RECV_INFO , *PAFD_RECV_INFO ; |
| |
| typedef struct _AFD_RECV_INFO_UDP { |
| PAFD_WSABUF BufferArray; |
| ULONG BufferCount; |
| ULONG AfdFlags; |
| ULONG TdiFlags; |
| PVOID Address; |
| PINT AddressLength; |
| } AFD_RECV_INFO_UDP, *PAFD_RECV_INFO_UDP; |
| |
| typedef struct _AFD_SEND_INFO { |
| PAFD_WSABUF BufferArray; |
| ULONG BufferCount; |
| ULONG AfdFlags; |
| ULONG TdiFlags; |
| } AFD_SEND_INFO , *PAFD_SEND_INFO ; |
| |
| typedef struct _AFD_SEND_INFO_UDP { |
| PAFD_WSABUF BufferArray; |
| ULONG BufferCount; |
| ULONG AfdFlags; |
| #if 1 /* timurrrr: based on XP+win7 observation: i#418 */ |
| ULONG UnknownGap[9]; |
| ULONG SizeOfRemoteAddress; |
| PVOID RemoteAddress; |
| #else |
| TDI_REQUEST_SEND_DATAGRAM TdiRequest; |
| TDI_CONNECTION_INFORMATION TdiConnection; |
| #endif |
| } AFD_SEND_INFO_UDP, *PAFD_SEND_INFO_UDP; |
| |
| typedef struct _AFD_CONNECT_INFO { |
| BOOLEAN UseSAN; |
| ULONG Root; |
| ULONG Unknown; |
| #if 1 /* bruening: based on win7 observation: i#376 */ |
| SOCKADDR RemoteAddress; |
| #else |
| TRANSPORT_ADDRESS RemoteAddress; |
| #endif |
| } AFD_CONNECT_INFO , *PAFD_CONNECT_INFO ; |
| |
| typedef struct _AFD_EVENT_SELECT_INFO { |
| HANDLE EventObject; |
| ULONG Events; |
| } AFD_EVENT_SELECT_INFO, *PAFD_EVENT_SELECT_INFO; |
| |
| typedef struct _AFD_ENUM_NETWORK_EVENTS_INFO { |
| HANDLE Event; |
| ULONG PollEvents; |
| NTSTATUS EventStatus[AFD_MAX_EVENTS]; |
| } AFD_ENUM_NETWORK_EVENTS_INFO, *PAFD_ENUM_NETWORK_EVENTS_INFO; |
| |
| typedef struct _AFD_DISCONNECT_INFO { |
| ULONG DisconnectType; |
| LARGE_INTEGER Timeout; |
| } AFD_DISCONNECT_INFO, *PAFD_DISCONNECT_INFO; |
| |
| typedef struct _AFD_VALIDATE_GROUP_DATA |
| { |
| LONG GroupId; |
| TRANSPORT_ADDRESS Address; |
| } AFD_VALIDATE_GROUP_DATA, *PAFD_VALIDATE_GROUP_DATA; |
| |
| typedef struct _AFD_TDI_HANDLE_DATA |
| { |
| HANDLE TdiAddressHandle; |
| HANDLE TdiConnectionHandle; |
| } AFD_TDI_HANDLE_DATA, *PAFD_TDI_HANDLE_DATA; |
| |
| /* AFD Packet Endpoint Flags */ |
| #define AFD_ENDPOINT_CONNECTIONLESS 0x1 |
| #define AFD_ENDPOINT_MESSAGE_ORIENTED 0x10 |
| #define AFD_ENDPOINT_RAW 0x100 |
| #define AFD_ENDPOINT_MULTIPOINT 0x1000 |
| #define AFD_ENDPOINT_C_ROOT 0x10000 |
| #define AFD_ENDPOINT_D_ROOT 0x100000 |
| |
| /* AFD TDI Query Flags */ |
| #define AFD_ADDRESS_HANDLE 0x1L |
| #define AFD_CONNECTION_HANDLE 0x2L |
| |
| /* AFD event bits */ |
| #define AFD_EVENT_RECEIVE_BIT 0 |
| #define AFD_EVENT_OOB_RECEIVE_BIT 1 |
| #define AFD_EVENT_SEND_BIT 2 |
| #define AFD_EVENT_DISCONNECT_BIT 3 |
| #define AFD_EVENT_ABORT_BIT 4 |
| #define AFD_EVENT_CLOSE_BIT 5 |
| #define AFD_EVENT_CONNECT_BIT 6 |
| #define AFD_EVENT_ACCEPT_BIT 7 |
| #define AFD_EVENT_CONNECT_FAIL_BIT 8 |
| #define AFD_EVENT_QOS_BIT 9 |
| #define AFD_EVENT_GROUP_QOS_BIT 10 |
| #define AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT 11 |
| #define AFD_EVENT_ADDRESS_LIST_CHANGE_BIT 12 |
| #define AFD_MAX_EVENT 13 |
| #define AFD_ALL_EVENTS ((1 << AFD_MAX_EVENT) - 1) |
| |
| /* AFD Info Flags */ |
| #define AFD_INFO_INLINING_MODE 0x01L |
| #define AFD_INFO_BLOCKING_MODE 0x02L |
| #define AFD_INFO_SENDS_IN_PROGRESS 0x04L |
| #define AFD_INFO_RECEIVE_WINDOW_SIZE 0x06L |
| #define AFD_INFO_SEND_WINDOW_SIZE 0x07L |
| #define AFD_INFO_GROUP_ID_TYPE 0x10L |
| #define AFD_INFO_RECEIVE_CONTENT_SIZE 0x11L |
| |
| /* AFD Share Flags */ |
| #define AFD_SHARE_UNIQUE 0x0L |
| #define AFD_SHARE_REUSE 0x1L |
| #define AFD_SHARE_WILDCARD 0x2L |
| #define AFD_SHARE_EXCLUSIVE 0x3L |
| |
| /* AFD Disconnect Flags */ |
| #define AFD_DISCONNECT_SEND 0x01L |
| #define AFD_DISCONNECT_RECV 0x02L |
| #define AFD_DISCONNECT_ABORT 0x04L |
| #define AFD_DISCONNECT_DATAGRAM 0x08L |
| |
| /* AFD Event Flags */ |
| #define AFD_EVENT_RECEIVE (1 << AFD_EVENT_RECEIVE_BIT) |
| #define AFD_EVENT_OOB_RECEIVE (1 << AFD_EVENT_OOB_RECEIVE_BIT) |
| #define AFD_EVENT_SEND (1 << AFD_EVENT_SEND_BIT) |
| #define AFD_EVENT_DISCONNECT (1 << AFD_EVENT_DISCONNECT_BIT) |
| #define AFD_EVENT_ABORT (1 << AFD_EVENT_ABORT_BIT) |
| #define AFD_EVENT_CLOSE (1 << AFD_EVENT_CLOSE_BIT) |
| #define AFD_EVENT_CONNECT (1 << AFD_EVENT_CONNECT_BIT) |
| #define AFD_EVENT_ACCEPT (1 << AFD_EVENT_ACCEPT_BIT) |
| #define AFD_EVENT_CONNECT_FAIL (1 << AFD_EVENT_CONNECT_FAIL_BIT) |
| #define AFD_EVENT_QOS (1 << AFD_EVENT_QOS_BIT) |
| #define AFD_EVENT_GROUP_QOS (1 << AFD_EVENT_GROUP_QOS_BIT) |
| #define AFD_EVENT_ROUTING_INTERFACE_CHANGE (1 << AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT) |
| #define AFD_EVENT_ADDRESS_LIST_CHANGE (1 << AFD_EVENT_ADDRESS_LIST_CHANGE_BIT) |
| |
| /* AFD SEND/RECV Flags */ |
| #define AFD_SKIP_FIO 0x1L |
| #define AFD_OVERLAPPED 0x2L |
| #define AFD_IMMEDIATE 0x4L |
| |
| /* IOCTL Generation */ |
| #define FSCTL_AFD_BASE FILE_DEVICE_NETWORK |
| #define _AFD_CONTROL_CODE(Operation,Method) \ |
| ((FSCTL_AFD_BASE)<<12 | (Operation<<2) | Method) |
| |
| /* AFD Commands */ |
| #define AFD_BIND 0 |
| #define AFD_CONNECT 1 |
| #define AFD_START_LISTEN 2 |
| #define AFD_WAIT_FOR_LISTEN 3 |
| #define AFD_ACCEPT 4 |
| #define AFD_RECV 5 |
| #define AFD_RECV_DATAGRAM 6 |
| #define AFD_SEND 7 |
| #define AFD_SEND_DATAGRAM 8 |
| #define AFD_SELECT 9 |
| #define AFD_DISCONNECT 10 |
| #define AFD_GET_SOCK_NAME 11 |
| #define AFD_GET_PEER_NAME 12 |
| #define AFD_GET_TDI_HANDLES 13 |
| #define AFD_SET_INFO 14 |
| #define AFD_GET_CONTEXT_SIZE 15 |
| #define AFD_GET_CONTEXT 16 |
| #define AFD_SET_CONTEXT 17 |
| #define AFD_SET_CONNECT_DATA 18 |
| #define AFD_SET_CONNECT_OPTIONS 19 |
| #define AFD_SET_DISCONNECT_DATA 20 |
| #define AFD_SET_DISCONNECT_OPTIONS 21 |
| #define AFD_GET_CONNECT_DATA 22 |
| #define AFD_GET_CONNECT_OPTIONS 23 |
| #define AFD_GET_DISCONNECT_DATA 24 |
| #define AFD_GET_DISCONNECT_OPTIONS 25 |
| #define AFD_SET_CONNECT_DATA_SIZE 26 |
| #define AFD_SET_CONNECT_OPTIONS_SIZE 27 |
| #define AFD_SET_DISCONNECT_DATA_SIZE 28 |
| #define AFD_SET_DISCONNECT_OPTIONS_SIZE 29 |
| #define AFD_GET_INFO 30 |
| #define AFD_EVENT_SELECT 33 |
| #define AFD_ENUM_NETWORK_EVENTS 34 |
| #define AFD_DEFER_ACCEPT 35 |
| #define AFD_GET_PENDING_CONNECT_DATA 41 |
| #define AFD_VALIDATE_GROUP 42 |
| |
| /* AFD IOCTLs */ |
| |
| #define IOCTL_AFD_BIND \ |
| _AFD_CONTROL_CODE(AFD_BIND, METHOD_NEITHER) |
| #define IOCTL_AFD_CONNECT \ |
| _AFD_CONTROL_CODE(AFD_CONNECT, METHOD_NEITHER) |
| #define IOCTL_AFD_START_LISTEN \ |
| _AFD_CONTROL_CODE(AFD_START_LISTEN, METHOD_NEITHER) |
| #define IOCTL_AFD_WAIT_FOR_LISTEN \ |
| _AFD_CONTROL_CODE(AFD_WAIT_FOR_LISTEN, METHOD_BUFFERED ) |
| #define IOCTL_AFD_ACCEPT \ |
| _AFD_CONTROL_CODE(AFD_ACCEPT, METHOD_BUFFERED ) |
| #define IOCTL_AFD_RECV \ |
| _AFD_CONTROL_CODE(AFD_RECV, METHOD_NEITHER) |
| #define IOCTL_AFD_RECV_DATAGRAM \ |
| _AFD_CONTROL_CODE(AFD_RECV_DATAGRAM, METHOD_NEITHER) |
| #define IOCTL_AFD_SEND \ |
| _AFD_CONTROL_CODE(AFD_SEND, METHOD_NEITHER) |
| #define IOCTL_AFD_SEND_DATAGRAM \ |
| _AFD_CONTROL_CODE(AFD_SEND_DATAGRAM, METHOD_NEITHER) |
| #define IOCTL_AFD_SELECT \ |
| _AFD_CONTROL_CODE(AFD_SELECT, METHOD_BUFFERED ) |
| #define IOCTL_AFD_DISCONNECT \ |
| _AFD_CONTROL_CODE(AFD_DISCONNECT, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_SOCK_NAME \ |
| _AFD_CONTROL_CODE(AFD_GET_SOCK_NAME, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_PEER_NAME \ |
| _AFD_CONTROL_CODE(AFD_GET_PEER_NAME, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_TDI_HANDLES \ |
| _AFD_CONTROL_CODE(AFD_GET_TDI_HANDLES, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_INFO \ |
| _AFD_CONTROL_CODE(AFD_SET_INFO, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_CONTEXT_SIZE \ |
| _AFD_CONTROL_CODE(AFD_GET_CONTEXT_SIZE, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_CONTEXT \ |
| _AFD_CONTROL_CODE(AFD_GET_CONTEXT, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_CONTEXT \ |
| _AFD_CONTROL_CODE(AFD_SET_CONTEXT, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_CONNECT_DATA \ |
| _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_CONNECT_OPTIONS \ |
| _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_DISCONNECT_DATA \ |
| _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_DISCONNECT_OPTIONS \ |
| _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_CONNECT_DATA \ |
| _AFD_CONTROL_CODE(AFD_GET_CONNECT_DATA, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_CONNECT_OPTIONS \ |
| _AFD_CONTROL_CODE(AFD_GET_CONNECT_OPTIONS, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_DISCONNECT_DATA \ |
| _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_DATA, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_DISCONNECT_OPTIONS \ |
| _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_OPTIONS, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_CONNECT_DATA_SIZE \ |
| _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA_SIZE, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE \ |
| _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS_SIZE, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_DISCONNECT_DATA_SIZE \ |
| _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA_SIZE, METHOD_NEITHER) |
| #define IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE \ |
| _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS_SIZE, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_INFO \ |
| _AFD_CONTROL_CODE(AFD_GET_INFO, METHOD_NEITHER) |
| #define IOCTL_AFD_EVENT_SELECT \ |
| _AFD_CONTROL_CODE(AFD_EVENT_SELECT, METHOD_NEITHER) |
| #define IOCTL_AFD_DEFER_ACCEPT \ |
| _AFD_CONTROL_CODE(AFD_DEFER_ACCEPT, METHOD_NEITHER) |
| #define IOCTL_AFD_GET_PENDING_CONNECT_DATA \ |
| _AFD_CONTROL_CODE(AFD_GET_PENDING_CONNECT_DATA, METHOD_NEITHER) |
| #define IOCTL_AFD_ENUM_NETWORK_EVENTS \ |
| _AFD_CONTROL_CODE(AFD_ENUM_NETWORK_EVENTS, METHOD_NEITHER) |
| #define IOCTL_AFD_VALIDATE_GROUP \ |
| _AFD_CONTROL_CODE(AFD_VALIDATE_GROUP, METHOD_NEITHER) |
| |
| typedef struct _AFD_SOCKET_INFORMATION { |
| BOOL CommandChannel; |
| INT AddressFamily; |
| INT SocketType; |
| INT Protocol; |
| PVOID HelperContext; |
| DWORD NotificationEvents; |
| UNICODE_STRING TdiDeviceName; |
| SOCKADDR Name; |
| } AFD_SOCKET_INFORMATION, *PAFD_SOCKET_INFORMATION; |
| |
| typedef struct _FILE_REQUEST_BIND { |
| SOCKADDR Name; |
| } FILE_REQUEST_BIND, *PFILE_REQUEST_BIND; |
| |
| typedef struct _FILE_REPLY_BIND { |
| INT Status; |
| HANDLE TdiAddressObjectHandle; |
| HANDLE TdiConnectionObjectHandle; |
| } FILE_REPLY_BIND, *PFILE_REPLY_BIND; |
| |
| typedef struct _FILE_REQUEST_LISTEN { |
| INT Backlog; |
| } FILE_REQUEST_LISTEN, *PFILE_REQUEST_LISTEN; |
| |
| typedef struct _FILE_REPLY_LISTEN { |
| INT Status; |
| } FILE_REPLY_LISTEN, *PFILE_REPLY_LISTEN; |
| |
| typedef struct _FILE_REQUEST_SENDTO { |
| LPWSABUF Buffers; |
| DWORD BufferCount; |
| DWORD Flags; |
| SOCKADDR To; |
| INT ToLen; |
| } FILE_REQUEST_SENDTO, *PFILE_REQUEST_SENDTO; |
| |
| typedef struct _FILE_REPLY_SENDTO { |
| INT Status; |
| DWORD NumberOfBytesSent; |
| } FILE_REPLY_SENDTO, *PFILE_REPLY_SENDTO; |
| |
| typedef struct _FILE_REQUEST_RECVFROM { |
| LPWSABUF Buffers; |
| DWORD BufferCount; |
| LPDWORD Flags; |
| LPSOCKADDR From; |
| LPINT FromLen; |
| } FILE_REQUEST_RECVFROM, *PFILE_REQUEST_RECVFROM; |
| |
| typedef struct _FILE_REPLY_RECVFROM { |
| INT Status; |
| DWORD NumberOfBytesRecvd; |
| } FILE_REPLY_RECVFROM, *PFILE_REPLY_RECVFROM; |
| |
| typedef struct _FILE_REQUEST_RECV { |
| LPWSABUF Buffers; |
| DWORD BufferCount; |
| LPDWORD Flags; |
| } FILE_REQUEST_RECV, *PFILE_REQUEST_RECV; |
| |
| typedef struct _FILE_REPLY_RECV { |
| INT Status; |
| DWORD NumberOfBytesRecvd; |
| } FILE_REPLY_RECV, *PFILE_REPLY_RECV; |
| |
| |
| typedef struct _FILE_REQUEST_SEND { |
| LPWSABUF Buffers; |
| DWORD BufferCount; |
| DWORD Flags; |
| } FILE_REQUEST_SEND, *PFILE_REQUEST_SEND; |
| |
| typedef struct _FILE_REPLY_SEND { |
| INT Status; |
| DWORD NumberOfBytesSent; |
| } FILE_REPLY_SEND, *PFILE_REPLY_SEND; |
| |
| |
| typedef struct _FILE_REQUEST_ACCEPT { |
| LPSOCKADDR addr; |
| INT addrlen; |
| LPCONDITIONPROC lpfnCondition; |
| DWORD dwCallbackData; |
| } FILE_REQUEST_ACCEPT, *PFILE_REQUEST_ACCEPT; |
| |
| typedef struct _FILE_REPLY_ACCEPT { |
| INT Status; |
| INT addrlen; |
| SOCKET Socket; |
| } FILE_REPLY_ACCEPT, *PFILE_REPLY_ACCEPT; |
| |
| |
| typedef struct _FILE_REQUEST_CONNECT { |
| LPSOCKADDR name; |
| INT namelen; |
| LPWSABUF lpCallerData; |
| LPWSABUF lpCalleeData; |
| LPQOS lpSQOS; |
| LPQOS lpGQOS; |
| } FILE_REQUEST_CONNECT, *PFILE_REQUEST_CONNECT; |
| |
| typedef struct _FILE_REPLY_CONNECT { |
| INT Status; |
| } FILE_REPLY_CONNECT, *PFILE_REPLY_CONNECT; |
| |
| #endif /*__AFD_SHARED_H */ |