- Start rosapps rearrange and cleanup process.
[reactos.git] / rosapps / applications / net / tditest / include / tditest.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TDI test driver
4 * FILE: include/tditest.h
5 * PURPOSE: Testing TDI drivers
6 */
7 #ifndef __TDITEST_H
8 #define __TDITEST_H
9
10 #include <ntddk.h>
11 #include <tdikrnl.h>
12 #include <tdiinfo.h>
13 #include "debug.h"
14
15
16 /* Name of UDP device */
17 #define UDP_DEVICE_NAME L"\\Device\\Udp"
18
19 #ifdef i386
20
21 /* DWORD network to host byte order conversion for i386 */
22 #define DN2H(dw) \
23 ((((dw) & 0xFF000000L) >> 24) | \
24 (((dw) & 0x00FF0000L) >> 8) | \
25 (((dw) & 0x0000FF00L) << 8) | \
26 (((dw) & 0x000000FFL) << 24))
27
28 /* DWORD host to network byte order conversion for i386 */
29 #define DH2N(dw) \
30 ((((dw) & 0xFF000000L) >> 24) | \
31 (((dw) & 0x00FF0000L) >> 8) | \
32 (((dw) & 0x0000FF00L) << 8) | \
33 (((dw) & 0x000000FFL) << 24))
34
35 /* WORD network to host order conversion for i386 */
36 #define WN2H(w) \
37 ((((w) & 0xFF00) >> 8) | \
38 (((w) & 0x00FF) << 8))
39
40 /* WORD host to network byte order conversion for i386 */
41 #define WH2N(w) \
42 ((((w) & 0xFF00) >> 8) | \
43 (((w) & 0x00FF) << 8))
44
45 #else /* i386 */
46
47 /* DWORD network to host byte order conversion for other architectures */
48 #define DN2H(dw) \
49 (dw)
50
51 /* DWORD host to network byte order conversion for other architectures */
52 #define DH2N(dw) \
53 (dw)
54
55 /* WORD network to host order conversion for other architectures */
56 #define WN2H(w) \
57 (w)
58
59 /* WORD host to network byte order conversion for other architectures */
60 #define WH2N(w) \
61 (w)
62
63 #endif /* i386 */
64
65
66 typedef struct IPSNMP_INFO {
67 ULONG Forwarding;
68 ULONG DefaultTTL;
69 ULONG InReceives;
70 ULONG InHdrErrors;
71 ULONG InAddrErrors;
72 ULONG ForwDatagrams;
73 ULONG InUnknownProtos;
74 ULONG InDiscards;
75 ULONG InDelivers;
76 ULONG OutRequests;
77 ULONG RoutingDiscards;
78 ULONG OutDiscards;
79 ULONG OutNoRoutes;
80 ULONG ReasmTimeout;
81 ULONG ReasmReqds;
82 ULONG ReasmOks;
83 ULONG ReasmFails;
84 ULONG FragOks;
85 ULONG FragFails;
86 ULONG FragCreates;
87 ULONG NumIf;
88 ULONG NumAddr;
89 ULONG NumRoutes;
90 } IPSNMP_INFO, *PIPSNMP_INFO;
91
92 typedef struct IPADDR_ENTRY {
93 ULONG Addr;
94 ULONG Index;
95 ULONG Mask;
96 ULONG BcastAddr;
97 ULONG ReasmSize;
98 USHORT Context;
99 USHORT Pad;
100 } IPADDR_ENTRY, *PIPADDR_ENTRY;
101
102
103 #define TL_INSTANCE 0
104
105 #define IP_MIB_STATS_ID 0x1
106 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
107
108
109 /* IOCTL codes */
110 #define IOCTL_TCP_QUERY_INFORMATION_EX \
111 CTL_CODE(FILE_DEVICE_NETWORK, 0, METHOD_NEITHER, FILE_ANY_ACCESS)
112 #define IOCTL_TCP_SET_INFORMATION_EX \
113 CTL_CODE(FILE_DEVICE_NETWORK, 1, METHOD_BUFFERED, FILE_WRITE_ACCESS)
114
115
116 #define TEST_PORT 2000
117
118 #endif /*__TDITEST_H */
119
120 /* EOF */
121