xref: /reactos/dll/win32/wshtcpip/wshtcpip.h (revision c2c66aff)
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 INT
56 WSHIoctl_GetInterfaceList(
57     IN  LPVOID OutputBuffer,
58     IN  DWORD OutputBufferLength,
59     OUT LPDWORD NumberOfBytesReturned,
60     OUT LPBOOL NeedsCompletion);
61 
62 #endif /* __WSHTCPIP_H */
63 
64 /* EOF */
65