ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

shared.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:   See COPYING in the top level directory
00003  * PROJECT:     ReactOS Ancillary Function Driver
00004  * FILE:        include/afd/shared.h
00005  * PURPOSE:     Shared definitions for AFD.SYS and MSAFD.DLL
00006  */
00007 #ifndef __AFD_SHARED_H
00008 #define __AFD_SHARED_H
00009 
00010 #define AFD_MAX_EVENTS                  10
00011 #define AFD_PACKET_COMMAND_LENGTH   15
00012 #define AfdCommand "AfdOpenPacketXX"
00013 
00014 /* Extra definition of WSABUF for AFD so that I don't have to include any
00015  * userland winsock headers. */
00016 typedef struct _AFD_WSABUF {
00017     UINT  len;
00018     PCHAR buf;
00019 } AFD_WSABUF, *PAFD_WSABUF;
00020 
00021 typedef struct _AFD_CREATE_PACKET {
00022     DWORD               EndpointFlags;
00023     DWORD               GroupID;
00024     DWORD               SizeOfTransportName;
00025     WCHAR               TransportName[1];
00026 } AFD_CREATE_PACKET, *PAFD_CREATE_PACKET;
00027 
00028 typedef struct _AFD_INFO {
00029     ULONG                   InformationClass;
00030     union {
00031         ULONG                   Ulong;
00032         LARGE_INTEGER                   LargeInteger;
00033         BOOLEAN                         Boolean;
00034     }                   Information;
00035     ULONG               Padding;
00036 } AFD_INFO, *PAFD_INFO;
00037 
00038 typedef struct _AFD_BIND_DATA {
00039     ULONG               ShareType;
00040     TRANSPORT_ADDRESS   Address;
00041 } AFD_BIND_DATA, *PAFD_BIND_DATA;
00042 
00043 typedef struct _AFD_LISTEN_DATA {
00044     BOOLEAN             UseSAN;
00045     ULONG               Backlog;
00046     BOOLEAN             UseDelayedAcceptance;
00047 } AFD_LISTEN_DATA, *PAFD_LISTEN_DATA;
00048 
00049 typedef struct _AFD_HANDLE_ {
00050     SOCKET              Handle;
00051     ULONG               Events;
00052     NTSTATUS                    Status;
00053 } AFD_HANDLE, *PAFD_HANDLE;
00054 
00055 typedef struct _AFD_POLL_INFO {
00056     LARGE_INTEGER               Timeout;
00057     ULONG               HandleCount;
00058     ULONG_PTR                               Exclusive;
00059     AFD_HANDLE                  Handles[1];
00060 } AFD_POLL_INFO, *PAFD_POLL_INFO;
00061 
00062 typedef struct _AFD_ACCEPT_DATA {
00063     ULONG               UseSAN;
00064     ULONG               SequenceNumber;
00065     HANDLE              ListenHandle;
00066 } AFD_ACCEPT_DATA, *PAFD_ACCEPT_DATA;
00067 
00068 typedef struct _AFD_RECEIVED_ACCEPT_DATA {
00069     ULONG               SequenceNumber;
00070     TRANSPORT_ADDRESS           Address;
00071 } AFD_RECEIVED_ACCEPT_DATA, *PAFD_RECEIVED_ACCEPT_DATA;
00072 
00073 typedef struct _AFD_PENDING_ACCEPT_DATA {
00074     ULONG               SequenceNumber;
00075     ULONG               SizeOfData;
00076     ULONG               ReturnSize;
00077 } AFD_PENDING_ACCEPT_DATA, *PAFD_PENDING_ACCEPT_DATA;
00078 
00079 typedef struct _AFD_DEFER_ACCEPT_DATA {
00080     ULONG               SequenceNumber;
00081     BOOLEAN             RejectConnection;
00082 } AFD_DEFER_ACCEPT_DATA, *PAFD_DEFER_ACCEPT_DATA;
00083 
00084 typedef struct  _AFD_RECV_INFO {
00085     PAFD_WSABUF             BufferArray;
00086     ULONG               BufferCount;
00087     ULONG               AfdFlags;
00088     ULONG               TdiFlags;
00089 } AFD_RECV_INFO , *PAFD_RECV_INFO ;
00090 
00091 typedef struct _AFD_RECV_INFO_UDP {
00092     PAFD_WSABUF             BufferArray;
00093     ULONG               BufferCount;
00094     ULONG               AfdFlags;
00095     ULONG               TdiFlags;
00096     PVOID               Address;
00097     PINT                AddressLength;
00098 } AFD_RECV_INFO_UDP, *PAFD_RECV_INFO_UDP;
00099 
00100 typedef struct  _AFD_SEND_INFO {
00101     PAFD_WSABUF             BufferArray;
00102     ULONG               BufferCount;
00103     ULONG               AfdFlags;
00104     ULONG               TdiFlags;
00105 } AFD_SEND_INFO , *PAFD_SEND_INFO ;
00106 
00107 typedef struct _AFD_SEND_INFO_UDP {
00108     PAFD_WSABUF             BufferArray;
00109     ULONG               BufferCount;
00110     ULONG               AfdFlags;
00111     TDI_REQUEST_SEND_DATAGRAM       TdiRequest;
00112     TDI_CONNECTION_INFORMATION      TdiConnection;
00113 } AFD_SEND_INFO_UDP, *PAFD_SEND_INFO_UDP;
00114 
00115 typedef struct  _AFD_CONNECT_INFO {
00116     BOOLEAN             UseSAN;
00117     ULONG               Root;
00118     ULONG               Unknown;
00119     TRANSPORT_ADDRESS           RemoteAddress;
00120 } AFD_CONNECT_INFO , *PAFD_CONNECT_INFO ;
00121 
00122 typedef struct _AFD_EVENT_SELECT_INFO {
00123     HANDLE              EventObject;
00124     ULONG               Events;
00125 } AFD_EVENT_SELECT_INFO, *PAFD_EVENT_SELECT_INFO;
00126 
00127 typedef struct _AFD_ENUM_NETWORK_EVENTS_INFO {
00128     HANDLE Event;
00129     ULONG PollEvents;
00130     NTSTATUS EventStatus[AFD_MAX_EVENTS];
00131 } AFD_ENUM_NETWORK_EVENTS_INFO, *PAFD_ENUM_NETWORK_EVENTS_INFO;
00132 
00133 typedef struct _AFD_DISCONNECT_INFO {
00134     ULONG               DisconnectType;
00135     LARGE_INTEGER           Timeout;
00136 } AFD_DISCONNECT_INFO, *PAFD_DISCONNECT_INFO;
00137 
00138 typedef struct _AFD_VALIDATE_GROUP_DATA
00139 {
00140     LONG GroupId;
00141     TRANSPORT_ADDRESS Address;
00142 } AFD_VALIDATE_GROUP_DATA, *PAFD_VALIDATE_GROUP_DATA;
00143 
00144 typedef struct _AFD_TDI_HANDLE_DATA
00145 {
00146     HANDLE TdiAddressHandle;
00147     HANDLE TdiConnectionHandle;
00148 } AFD_TDI_HANDLE_DATA, *PAFD_TDI_HANDLE_DATA;
00149 
00150 /* AFD Packet Endpoint Flags */
00151 #define AFD_ENDPOINT_CONNECTIONLESS 0x1
00152 #define AFD_ENDPOINT_MESSAGE_ORIENTED   0x10
00153 #define AFD_ENDPOINT_RAW        0x100
00154 #define AFD_ENDPOINT_MULTIPOINT     0x1000
00155 #define AFD_ENDPOINT_C_ROOT     0x10000
00156 #define AFD_ENDPOINT_D_ROOT         0x100000
00157 
00158 /* AFD TDI Query Flags */
00159 #define AFD_ADDRESS_HANDLE      0x1L
00160 #define AFD_CONNECTION_HANDLE   0x2L
00161 
00162 /* AFD event bits */
00163 #define AFD_EVENT_RECEIVE_BIT                   0
00164 #define AFD_EVENT_OOB_RECEIVE_BIT               1
00165 #define AFD_EVENT_SEND_BIT                      2
00166 #define AFD_EVENT_DISCONNECT_BIT                3
00167 #define AFD_EVENT_ABORT_BIT                     4
00168 #define AFD_EVENT_CLOSE_BIT                     5
00169 #define AFD_EVENT_CONNECT_BIT                   6
00170 #define AFD_EVENT_ACCEPT_BIT                    7
00171 #define AFD_EVENT_CONNECT_FAIL_BIT              8
00172 #define AFD_EVENT_QOS_BIT                       9
00173 #define AFD_EVENT_GROUP_QOS_BIT                 10
00174 #define AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT  11
00175 #define AFD_EVENT_ADDRESS_LIST_CHANGE_BIT       12
00176 #define AFD_MAX_EVENT                           13
00177 #define AFD_ALL_EVENTS                          ((1 << AFD_MAX_EVENT) - 1)
00178 
00179 /* AFD Info Flags */
00180 #define AFD_INFO_INLINING_MODE      0x01L
00181 #define AFD_INFO_BLOCKING_MODE      0x02L
00182 #define AFD_INFO_SENDS_IN_PROGRESS  0x04L
00183 #define AFD_INFO_RECEIVE_WINDOW_SIZE    0x06L
00184 #define AFD_INFO_SEND_WINDOW_SIZE   0x07L
00185 #define AFD_INFO_GROUP_ID_TYPE          0x10L
00186 #define AFD_INFO_RECEIVE_CONTENT_SIZE   0x11L
00187 
00188 /* AFD Share Flags */
00189 #define AFD_SHARE_UNIQUE        0x0L
00190 #define AFD_SHARE_REUSE         0x1L
00191 #define AFD_SHARE_WILDCARD      0x2L
00192 #define AFD_SHARE_EXCLUSIVE     0x3L
00193 
00194 /* AFD Disconnect Flags */
00195 #define AFD_DISCONNECT_SEND     0x01L
00196 #define AFD_DISCONNECT_RECV     0x02L
00197 #define AFD_DISCONNECT_ABORT        0x04L
00198 #define AFD_DISCONNECT_DATAGRAM     0x08L
00199 
00200 /* AFD Event Flags */
00201 #define AFD_EVENT_RECEIVE                   (1 << AFD_EVENT_RECEIVE_BIT)
00202 #define AFD_EVENT_OOB_RECEIVE               (1 << AFD_EVENT_OOB_RECEIVE_BIT)
00203 #define AFD_EVENT_SEND                      (1 << AFD_EVENT_SEND_BIT)
00204 #define AFD_EVENT_DISCONNECT                (1 << AFD_EVENT_DISCONNECT_BIT)
00205 #define AFD_EVENT_ABORT                     (1 << AFD_EVENT_ABORT_BIT)
00206 #define AFD_EVENT_CLOSE                     (1 << AFD_EVENT_CLOSE_BIT)
00207 #define AFD_EVENT_CONNECT                   (1 << AFD_EVENT_CONNECT_BIT)
00208 #define AFD_EVENT_ACCEPT                    (1 << AFD_EVENT_ACCEPT_BIT)
00209 #define AFD_EVENT_CONNECT_FAIL              (1 << AFD_EVENT_CONNECT_FAIL_BIT)
00210 #define AFD_EVENT_QOS                       (1 << AFD_EVENT_QOS_BIT)
00211 #define AFD_EVENT_GROUP_QOS                 (1 << AFD_EVENT_GROUP_QOS_BIT)
00212 #define AFD_EVENT_ROUTING_INTERFACE_CHANGE  (1 << AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT)
00213 #define AFD_EVENT_ADDRESS_LIST_CHANGE       (1 << AFD_EVENT_ADDRESS_LIST_CHANGE_BIT)
00214 
00215 /* AFD SEND/RECV Flags */
00216 #define AFD_SKIP_FIO            0x1L
00217 #define AFD_OVERLAPPED          0x2L
00218 #define AFD_IMMEDIATE                   0x4L
00219 
00220 /* IOCTL Generation */
00221 #define FSCTL_AFD_BASE                  FILE_DEVICE_NETWORK
00222 #define _AFD_CONTROL_CODE(Operation,Method) \
00223   ((FSCTL_AFD_BASE)<<12 | (Operation<<2) | Method)
00224 
00225 /* AFD Commands */
00226 #define AFD_BIND            0
00227 #define AFD_CONNECT         1
00228 #define AFD_START_LISTEN        2
00229 #define AFD_WAIT_FOR_LISTEN     3
00230 #define AFD_ACCEPT          4
00231 #define AFD_RECV            5
00232 #define AFD_RECV_DATAGRAM       6
00233 #define AFD_SEND            7
00234 #define AFD_SEND_DATAGRAM       8
00235 #define AFD_SELECT          9
00236 #define AFD_DISCONNECT          10
00237 #define AFD_GET_SOCK_NAME       11
00238 #define AFD_GET_PEER_NAME               12
00239 #define AFD_GET_TDI_HANDLES     13
00240 #define AFD_SET_INFO            14
00241 #define AFD_GET_CONTEXT_SIZE        15
00242 #define AFD_GET_CONTEXT         16
00243 #define AFD_SET_CONTEXT         17
00244 #define AFD_SET_CONNECT_DATA        18
00245 #define AFD_SET_CONNECT_OPTIONS     19
00246 #define AFD_SET_DISCONNECT_DATA     20
00247 #define AFD_SET_DISCONNECT_OPTIONS  21
00248 #define AFD_GET_CONNECT_DATA        22
00249 #define AFD_GET_CONNECT_OPTIONS     23
00250 #define AFD_GET_DISCONNECT_DATA     24
00251 #define AFD_GET_DISCONNECT_OPTIONS  25
00252 #define AFD_SET_CONNECT_DATA_SIZE       26
00253 #define AFD_SET_CONNECT_OPTIONS_SIZE    27
00254 #define AFD_SET_DISCONNECT_DATA_SIZE    28
00255 #define AFD_SET_DISCONNECT_OPTIONS_SIZE 29
00256 #define AFD_GET_INFO            30
00257 #define AFD_EVENT_SELECT        33
00258 #define AFD_ENUM_NETWORK_EVENTS         34
00259 #define AFD_DEFER_ACCEPT        35
00260 #define AFD_GET_PENDING_CONNECT_DATA    41
00261 #define AFD_VALIDATE_GROUP      42
00262 
00263 /* AFD IOCTLs */
00264 
00265 #define IOCTL_AFD_BIND \
00266   _AFD_CONTROL_CODE(AFD_BIND, METHOD_NEITHER)
00267 #define IOCTL_AFD_CONNECT \
00268   _AFD_CONTROL_CODE(AFD_CONNECT, METHOD_NEITHER)
00269 #define IOCTL_AFD_START_LISTEN \
00270   _AFD_CONTROL_CODE(AFD_START_LISTEN, METHOD_NEITHER)
00271 #define IOCTL_AFD_WAIT_FOR_LISTEN \
00272   _AFD_CONTROL_CODE(AFD_WAIT_FOR_LISTEN, METHOD_BUFFERED )
00273 #define IOCTL_AFD_ACCEPT \
00274   _AFD_CONTROL_CODE(AFD_ACCEPT, METHOD_BUFFERED )
00275 #define IOCTL_AFD_RECV \
00276   _AFD_CONTROL_CODE(AFD_RECV, METHOD_NEITHER)
00277 #define IOCTL_AFD_RECV_DATAGRAM \
00278   _AFD_CONTROL_CODE(AFD_RECV_DATAGRAM, METHOD_NEITHER)
00279 #define IOCTL_AFD_SEND \
00280   _AFD_CONTROL_CODE(AFD_SEND, METHOD_NEITHER)
00281 #define IOCTL_AFD_SEND_DATAGRAM \
00282   _AFD_CONTROL_CODE(AFD_SEND_DATAGRAM, METHOD_NEITHER)
00283 #define IOCTL_AFD_SELECT \
00284   _AFD_CONTROL_CODE(AFD_SELECT, METHOD_BUFFERED )
00285 #define IOCTL_AFD_DISCONNECT \
00286   _AFD_CONTROL_CODE(AFD_DISCONNECT, METHOD_NEITHER)
00287 #define IOCTL_AFD_GET_SOCK_NAME \
00288   _AFD_CONTROL_CODE(AFD_GET_SOCK_NAME, METHOD_NEITHER)
00289 #define IOCTL_AFD_GET_PEER_NAME \
00290   _AFD_CONTROL_CODE(AFD_GET_PEER_NAME, METHOD_NEITHER)
00291 #define IOCTL_AFD_GET_TDI_HANDLES \
00292   _AFD_CONTROL_CODE(AFD_GET_TDI_HANDLES, METHOD_NEITHER)
00293 #define IOCTL_AFD_SET_INFO \
00294   _AFD_CONTROL_CODE(AFD_SET_INFO, METHOD_NEITHER)
00295 #define IOCTL_AFD_GET_CONTEXT_SIZE \
00296   _AFD_CONTROL_CODE(AFD_GET_CONTEXT_SIZE, METHOD_NEITHER)
00297 #define IOCTL_AFD_GET_CONTEXT \
00298   _AFD_CONTROL_CODE(AFD_GET_CONTEXT, METHOD_NEITHER)
00299 #define IOCTL_AFD_SET_CONTEXT \
00300   _AFD_CONTROL_CODE(AFD_SET_CONTEXT, METHOD_NEITHER)
00301 #define IOCTL_AFD_SET_CONNECT_DATA \
00302   _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA, METHOD_NEITHER)
00303 #define IOCTL_AFD_SET_CONNECT_OPTIONS \
00304   _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS, METHOD_NEITHER)
00305 #define IOCTL_AFD_SET_DISCONNECT_DATA \
00306   _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA, METHOD_NEITHER)
00307 #define IOCTL_AFD_SET_DISCONNECT_OPTIONS \
00308   _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS, METHOD_NEITHER)
00309 #define IOCTL_AFD_GET_CONNECT_DATA \
00310   _AFD_CONTROL_CODE(AFD_GET_CONNECT_DATA, METHOD_NEITHER)
00311 #define IOCTL_AFD_GET_CONNECT_OPTIONS \
00312   _AFD_CONTROL_CODE(AFD_GET_CONNECT_OPTIONS, METHOD_NEITHER)
00313 #define IOCTL_AFD_GET_DISCONNECT_DATA \
00314   _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_DATA, METHOD_NEITHER)
00315 #define IOCTL_AFD_GET_DISCONNECT_OPTIONS \
00316   _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_OPTIONS, METHOD_NEITHER)
00317 #define IOCTL_AFD_SET_CONNECT_DATA_SIZE \
00318   _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA_SIZE, METHOD_NEITHER)
00319 #define IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE \
00320   _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS_SIZE, METHOD_NEITHER)
00321 #define IOCTL_AFD_SET_DISCONNECT_DATA_SIZE \
00322   _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA_SIZE, METHOD_NEITHER)
00323 #define IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE \
00324   _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS_SIZE, METHOD_NEITHER)
00325 #define IOCTL_AFD_GET_INFO \
00326   _AFD_CONTROL_CODE(AFD_GET_INFO, METHOD_NEITHER)
00327 #define IOCTL_AFD_EVENT_SELECT \
00328   _AFD_CONTROL_CODE(AFD_EVENT_SELECT, METHOD_NEITHER)
00329 #define IOCTL_AFD_DEFER_ACCEPT \
00330   _AFD_CONTROL_CODE(AFD_DEFER_ACCEPT, METHOD_NEITHER)
00331 #define IOCTL_AFD_GET_PENDING_CONNECT_DATA \
00332   _AFD_CONTROL_CODE(AFD_GET_PENDING_CONNECT_DATA, METHOD_NEITHER)
00333 #define IOCTL_AFD_ENUM_NETWORK_EVENTS \
00334   _AFD_CONTROL_CODE(AFD_ENUM_NETWORK_EVENTS, METHOD_NEITHER)
00335 #define IOCTL_AFD_VALIDATE_GROUP \
00336   _AFD_CONTROL_CODE(AFD_VALIDATE_GROUP, METHOD_NEITHER)
00337 
00338 typedef struct _AFD_SOCKET_INFORMATION {
00339     BOOL CommandChannel;
00340     INT AddressFamily;
00341     INT SocketType;
00342     INT Protocol;
00343     PVOID HelperContext;
00344     DWORD NotificationEvents;
00345     UNICODE_STRING TdiDeviceName;
00346     SOCKADDR Name;
00347 } AFD_SOCKET_INFORMATION, *PAFD_SOCKET_INFORMATION;
00348 
00349 typedef struct _FILE_REQUEST_BIND {
00350     SOCKADDR Name;
00351 } FILE_REQUEST_BIND, *PFILE_REQUEST_BIND;
00352 
00353 typedef struct _FILE_REPLY_BIND {
00354     INT Status;
00355     HANDLE TdiAddressObjectHandle;
00356     HANDLE TdiConnectionObjectHandle;
00357 } FILE_REPLY_BIND, *PFILE_REPLY_BIND;
00358 
00359 typedef struct _FILE_REQUEST_LISTEN {
00360     INT Backlog;
00361 } FILE_REQUEST_LISTEN, *PFILE_REQUEST_LISTEN;
00362 
00363 typedef struct _FILE_REPLY_LISTEN {
00364     INT Status;
00365 } FILE_REPLY_LISTEN, *PFILE_REPLY_LISTEN;
00366 
00367 typedef struct _FILE_REQUEST_SENDTO {
00368     LPWSABUF Buffers;
00369     DWORD BufferCount;
00370     DWORD Flags;
00371     SOCKADDR To;
00372     INT ToLen;
00373 } FILE_REQUEST_SENDTO, *PFILE_REQUEST_SENDTO;
00374 
00375 typedef struct _FILE_REPLY_SENDTO {
00376     INT Status;
00377     DWORD NumberOfBytesSent;
00378 } FILE_REPLY_SENDTO, *PFILE_REPLY_SENDTO;
00379 
00380 typedef struct _FILE_REQUEST_RECVFROM {
00381     LPWSABUF Buffers;
00382     DWORD BufferCount;
00383     LPDWORD Flags;
00384     LPSOCKADDR From;
00385     LPINT FromLen;
00386 } FILE_REQUEST_RECVFROM, *PFILE_REQUEST_RECVFROM;
00387 
00388 typedef struct _FILE_REPLY_RECVFROM {
00389     INT Status;
00390     DWORD NumberOfBytesRecvd;
00391 } FILE_REPLY_RECVFROM, *PFILE_REPLY_RECVFROM;
00392 
00393 typedef struct _FILE_REQUEST_RECV {
00394     LPWSABUF Buffers;
00395     DWORD BufferCount;
00396     LPDWORD Flags;
00397 } FILE_REQUEST_RECV, *PFILE_REQUEST_RECV;
00398 
00399 typedef struct _FILE_REPLY_RECV {
00400     INT Status;
00401     DWORD NumberOfBytesRecvd;
00402 } FILE_REPLY_RECV, *PFILE_REPLY_RECV;
00403 
00404 
00405 typedef struct _FILE_REQUEST_SEND {
00406     LPWSABUF Buffers;
00407     DWORD BufferCount;
00408     DWORD Flags;
00409 } FILE_REQUEST_SEND, *PFILE_REQUEST_SEND;
00410 
00411 typedef struct _FILE_REPLY_SEND {
00412     INT Status;
00413     DWORD NumberOfBytesSent;
00414 } FILE_REPLY_SEND, *PFILE_REPLY_SEND;
00415 
00416 
00417 typedef struct _FILE_REQUEST_ACCEPT {
00418     LPSOCKADDR addr;
00419     INT addrlen;
00420     LPCONDITIONPROC lpfnCondition;
00421     DWORD dwCallbackData;
00422 } FILE_REQUEST_ACCEPT, *PFILE_REQUEST_ACCEPT;
00423 
00424 typedef struct _FILE_REPLY_ACCEPT {
00425     INT Status;
00426     INT addrlen;
00427     SOCKET Socket;
00428 } FILE_REPLY_ACCEPT, *PFILE_REPLY_ACCEPT;
00429 
00430 
00431 typedef struct _FILE_REQUEST_CONNECT {
00432     LPSOCKADDR name;
00433     INT namelen;
00434     LPWSABUF lpCallerData;
00435     LPWSABUF lpCalleeData;
00436     LPQOS lpSQOS;
00437     LPQOS lpGQOS;
00438 } FILE_REQUEST_CONNECT, *PFILE_REQUEST_CONNECT;
00439 
00440 typedef struct _FILE_REPLY_CONNECT {
00441     INT Status;
00442 } FILE_REPLY_CONNECT, *PFILE_REPLY_CONNECT;
00443 
00444 #endif /*__AFD_SHARED_H */
00445 
00446 /* EOF */

Generated on Sun May 27 2012 04:33:07 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.