2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
4 * FILE: include/tcpip.h
5 * PURPOSE: TCP/IP protocol driver definitions
6 * NOTES: Spin lock acquire order:
7 * - Net table list lock
9 * - Interface list lock
11 * - Neighbor cache lock
25 #include <ddk/ntddk.h>
27 #include <net/tdikrnl.h>
28 #include <net/tdiinfo.h>
34 /* Define _NTTEST_ to make test version. Device names are prefixed with
35 'NT' to allow the driver to run side by side with MS TCP/IP driver */
38 /* FIXME: The following should be moved to ntddk.h or tdi headers */
41 #ifndef IO_NETWORK_INCREMENT
42 #define IO_NETWORK_INCREMENT 2
48 /* EXPORTED is already defined ddk/defines.h */
49 #define EXPORTED __declspec(dllexport)
60 #define MIN(value1, value2) \
61 ((value1 < value2)? value1 : value2)
63 #define MAX(value1, value2) \
64 ((value1 > value2)? value1 : value2)
69 /* DWORD network to host byte order conversion for i386 */
71 ((((dw) & 0xFF000000L) >> 24) | \
72 (((dw) & 0x00FF0000L) >> 8) | \
73 (((dw) & 0x0000FF00L) << 8) | \
74 (((dw) & 0x000000FFL) << 24))
76 /* DWORD host to network byte order conversion for i386 */
78 ((((dw) & 0xFF000000L) >> 24) | \
79 (((dw) & 0x00FF0000L) >> 8) | \
80 (((dw) & 0x0000FF00L) << 8) | \
81 (((dw) & 0x000000FFL) << 24))
83 /* WORD network to host order conversion for i386 */
85 ((((w) & 0xFF00) >> 8) | \
86 (((w) & 0x00FF) << 8))
88 /* WORD host to network byte order conversion for i386 */
90 ((((w) & 0xFF00) >> 8) | \
91 (((w) & 0x00FF) << 8))
95 /* DWORD network to host byte order conversion for other architectures */
99 /* DWORD host to network byte order conversion for other architectures */
103 /* WORD network to host order conversion for other architectures */
107 /* WORD host to network byte order conversion for other architectures */
114 /* Global variable */
115 extern PDEVICE_OBJECT TCPDeviceObject
;
116 extern PDEVICE_OBJECT UDPDeviceObject
;
117 extern PDEVICE_OBJECT IPDeviceObject
;
118 extern PDEVICE_OBJECT RawIPDeviceObject
;
119 extern LIST_ENTRY InterfaceListHead
;
120 extern KSPIN_LOCK InterfaceListLock
;
121 extern LIST_ENTRY AddressFileListHead
;
122 extern KSPIN_LOCK AddressFileListLock
;
123 extern NDIS_HANDLE GlobalPacketPool
;
124 extern NDIS_HANDLE GlobalBufferPool
;
125 extern TDIEntityID
*EntityList
;
126 extern ULONG EntityCount
;
127 extern UDP_STATISTICS UDPStats
;
129 #endif /* __TCPIP_H */