Merge my current work done on the kd++ branch:
[reactos.git] / reactos / dll / win32 / wshtcpip / wshtcpip.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock Helper DLL for TCP/IP
4 * FILE: include/wshtcpip.h
5 * PURPOSE: WinSock Helper DLL for TCP/IP header
6 */
7 #ifndef __WSHTCPIP_H
8 #define __WSHTCPIP_H
9
10 #define WIN32_NO_STATUS
11 #define _INC_WINDOWS
12 #define COM_NO_WINDOWS_H
13
14 #include <stdarg.h>
15
16 #include <windef.h>
17 #include <winbase.h>
18 #include <wsahelp.h>
19 #include <tdiinfo.h>
20 #include <tcpioctl.h>
21 #include <tdilib.h>
22 #include <ws2tcpip.h>
23 #include <rtlfuncs.h>
24
25 #define EXPORT WINAPI
26
27 #define DD_TCP_DEVICE_NAME L"\\Device\\Tcp"
28 #define DD_UDP_DEVICE_NAME L"\\Device\\Udp"
29 #define DD_RAW_IP_DEVICE_NAME L"\\Device\\RawIp"
30
31 typedef enum _SOCKET_STATE {
32 SocketStateCreated,
33 SocketStateBound,
34 SocketStateListening,
35 SocketStateConnected
36 } SOCKET_STATE, *PSOCKET_STATE;
37
38 typedef struct _QUEUED_REQUEST {
39 PTCP_REQUEST_SET_INFORMATION_EX Info;
40 PVOID Next;
41 } QUEUED_REQUEST, *PQUEUED_REQUEST;
42
43 typedef struct _SOCKET_CONTEXT {
44 INT AddressFamily;
45 INT SocketType;
46 INT Protocol;
47 DWORD Flags;
48 DWORD AddrFileEntityType;
49 DWORD AddrFileInstance;
50 SOCKET_STATE SocketState;
51 PQUEUED_REQUEST RequestQueue;
52 BOOL DontRoute;
53 } SOCKET_CONTEXT, *PSOCKET_CONTEXT;
54
55 #endif /* __WSHTCPIP_H */
56
57 /* EOF */