Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / include / reactos / drivers / afd / shared.h
diff --git a/reactos/sdk/include/reactos/drivers/afd/shared.h b/reactos/sdk/include/reactos/drivers/afd/shared.h
deleted file mode 100644 (file)
index 04a2ccb..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS Ancillary Function Driver
- * FILE:        include/reactos/drivers/afd/shared.h
- * PURPOSE:     Shared definitions for AFD.SYS and MSAFD.DLL
- */
-#ifndef __AFD_SHARED_H
-#define __AFD_SHARED_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;
-    TRANSPORT_ADDRESS  Address;
-} 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;
-    ULONG_PTR                               Exclusive;
-    AFD_HANDLE                         Handles[1];
-} AFD_POLL_INFO, *PAFD_POLL_INFO;
-
-typedef struct _AFD_ACCEPT_DATA {
-    ULONG                              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;
-    TDI_REQUEST_SEND_DATAGRAM          TdiRequest;
-    TDI_CONNECTION_INFORMATION         TdiConnection;
-} AFD_SEND_INFO_UDP, *PAFD_SEND_INFO_UDP;
-
-C_ASSERT(sizeof(AFD_RECV_INFO) == sizeof(AFD_SEND_INFO));
-
-typedef struct  _AFD_CONNECT_INFO {
-    BOOLEAN                            UseSAN;
-    ULONG                              Root;
-    ULONG                              Unknown;
-    TRANSPORT_ADDRESS                  RemoteAddress;
-} 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 */
-
-/* EOF */