ReactOS  0.4.14-dev-384-g5b37caa
info.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS TCP/IP protocol driver
4  * FILE: include/info.h
5  * PURPOSE: TdiQueryInformation definitions
6  */
7 
8 #pragma once
9 
10 #include <tcpioctl.h>
11 /* FIXME */
12 #define DWORD ULONG
13 #include <in6addr.h>
14 #include <tcpmib.h>
15 #include <udpmib.h>
16 
17 #define MAX_PHYSADDR_LEN 8
18 #define MAX_IFDESCR_LEN 256
19 
20 typedef struct IPADDR_ENTRY {
21  ULONG Addr;
22  ULONG Index;
23  ULONG Mask;
27  USHORT Pad;
29 
30 #define ARP_ENTRY_STATIC 4
31 #define ARP_ENTRY_DYNAMIC 3
32 #define ARP_ENTRY_INVALID 2
33 #define ARP_ENTRY_OTHER 1
34 
35 typedef struct IPARP_ENTRY {
42 
43 typedef struct IPROUTE_ENTRY {
45  ULONG Index; //matches if_index in IFEntry and iae_index in IPAddrEntry
58 
59 /* Only UDP is supported */
60 #define TDI_SERVICE_FLAGS (TDI_SERVICE_CONNECTIONLESS_MODE | \
61  TDI_SERVICE_BROADCAST_SUPPORTED)
62 
63 #define TCP_MIB_STAT_ID 1
64 #define UDP_MIB_STAT_ID 1
65 #define TCP_MIB_TABLE_ID 0x101
66 #define UDP_MIB_TABLE_ID 0x101
67 
68 #define TL_INSTANCE 0
69 
70 
71 typedef struct ADDRESS_INFO {
75 
76 typedef union TDI_INFO {
82 
83 typedef enum TDI_TCPUDP_CLASS_INFO {
88 
89 TDI_STATUS InfoCopyOut( PCHAR DataOut, UINT SizeOut,
90  PNDIS_BUFFER ClientBuf, PUINT ClientBufSize );
91 
94  TDIObjectID *ID,
97  PVOID Context);
98 
101  TDIObjectID *ID,
102  PVOID Buffer,
103  UINT BufferSize);
104 
107  PUINT BufferSize);
108 
112  PUINT BufferSize);
113 
115  PIP_INTERFACE IF,
117  PUINT BufferSize );
118 
121  PUINT BufferSize );
122 
127 
132 
134  PVOID Buffer,
135  UINT BufferSize);
136 
138  PVOID Buffer,
139  UINT BufferSize);
140 
144  PUINT BufferSize);
145 
147  PADDRESS_FILE AddrFile,
148  PVOID Buffer,
149  UINT BufferSize);
150 
152  PADDRESS_FILE AddrFile,
153  PVOID Buffer,
154  PUINT BufferSize);
155 
157  PCONNECTION_ENDPOINT Connection,
158  PVOID Buffer,
159  UINT BufferSize);
160 
161 /* Insert and remove entities */
163 
165 
166 VOID AddEntity(ULONG EntityType,
167  PVOID Context,
168  ULONG Flags);
169 
171 
172 /* EOF */
signed char * PCHAR
Definition: retypes.h:7
TDI_PROVIDER_INFO ProviderInfo
Definition: info.h:79
ULONG Metric2
Definition: info.h:47
ULONG Metric1
Definition: info.h:46
ULONG ReasmSize
Definition: afd.h:61
TDI_STATUS InfoTdiQueryInformationEx(PTDI_REQUEST Request, TDIObjectID *ID, PNDIS_BUFFER Buffer, PUINT BufferSize, PVOID Context)
Definition: info.c:215
union TDI_INFO TDI_INFO
struct IPARP_ENTRY IPARP_ENTRY
TDI_STATUS InfoTdiQueryGetRouteTable(PIP_INTERFACE IF, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:17
struct ADDRESS_INFO * PADDRESS_INFO
MDL * PNDIS_BUFFER
Definition: ndis.h:343
Definition: afd.h:56
TDI_STATUS InfoTdiQueryGetArptableMIB(TDIEntityID ID, PIP_INTERFACE Interface, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: iinfo.c:105
USHORT Context
Definition: afd.h:62
enum TDI_TCPUDP_CLASS_INFO * PTDI_TCPUDP_CLASS_INFO
TDI_ADDRESS_INFO AddrInfo
Definition: info.h:78
TDI_STATUS GetAddressFileInfo(TDIObjectID *ID, PADDRESS_FILE AddrFile, PVOID Buffer, PUINT BufferSize)
Definition: ainfo.c:67
TDI_TCPUDP_CLASS_INFO
Definition: info.h:83
LONG TDI_STATUS
Definition: tdi.h:36
ULONG Age
Definition: info.h:53
struct IPADDR_ENTRY * PIPADDR_ENTRY
_In_ NDIS_HANDLE _In_ PNDIS_REQUEST Request
Definition: ndis.h:5173
struct IPADDR_ENTRY IPADDR_ENTRY
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
ULONG Mask
Definition: afd.h:59
UCHAR PhysAddr[8]
Definition: info.h:38
struct ADDRESS_INFO ADDRESS_INFO
TDI_STATUS InfoCopyOut(PCHAR DataOut, UINT SizeOut, PNDIS_BUFFER ClientBuf, PUINT ClientBufSize)
Definition: info.c:97
ULONG Info
Definition: info.h:56
ULONG Index
Definition: info.h:36
Definition: bufpool.h:45
TDI_STATUS InfoTdiQueryGetAddrTable(TDIEntityID ID, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:98
ULONG Dest
Definition: info.h:44
union TDI_INFO * PTDI_INFO
ULONG BcastAddr
Definition: afd.h:60
ULONG Index
Definition: info.h:45
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
ULONG Index
Definition: afd.h:58
TDI_STATUS InfoTdiQueryGetInterfaceMIB(TDIEntityID ID, PIP_INTERFACE Interface, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: iinfo.c:18
Definition: info.h:76
ULONG Mask
Definition: info.h:54
#define BufferSize
Definition: classpnp.h:419
Definition: info.h:43
ULONG Gw
Definition: info.h:50
struct IPROUTE_ENTRY IPROUTE_ENTRY
unsigned char UCHAR
Definition: xmlstorage.h:181
struct IPROUTE_ENTRY * PIPROUTE_ENTRY
ULONG Proto
Definition: info.h:52
#define ID
Definition: ruserpass.c:36
TDI_STATUS InfoTdiQueryGetIPSnmpInfo(TDIEntityID ID, PIP_INTERFACE IF, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:155
ULONG LogAddr
Definition: info.h:39
ULONG Type
Definition: info.h:51
TDI_STATUS SetConnectionInfo(TDIObjectID *ID, PCONNECTION_ENDPOINT Connection, PVOID Buffer, UINT BufferSize)
Definition: cinfo.c:11
VOID RemoveTDIInterfaceEntity(PIP_INTERFACE Interface)
Definition: iinfo.c:168
ULONG LocalPort
Definition: info.h:73
ULONG Metric3
Definition: info.h:48
ULONG Type
Definition: info.h:40
Definition: info.h:35
unsigned short USHORT
Definition: pedump.c:61
TDI_PROVIDER_STATISTICS ProviderStats
Definition: info.h:80
ULONG LocalAddress
Definition: info.h:72
VOID InsertTDIInterfaceEntity(PIP_INTERFACE Interface)
Definition: iinfo.c:158
unsigned int UINT
Definition: ndis.h:50
TDI_STATUS InfoTdiSetRoute(PIP_INTERFACE IF, PVOID Buffer, UINT BufferSize)
Definition: ninfo.c:310
ULONG Metric4
Definition: info.h:49
TDI_STATUS SetAddressFileInfo(TDIObjectID *ID, PADDRESS_FILE AddrFile, PVOID Buffer, UINT BufferSize)
Definition: ainfo.c:11
USHORT Pad
Definition: afd.h:63
ULONG Addr
Definition: afd.h:57
VOID AddEntity(ULONG EntityType, PVOID Context, ULONG Flags)
Definition: info.c:15
ULONG Metric5
Definition: info.h:55
ULONG AddrSize
Definition: info.h:37
unsigned int ULONG
Definition: retypes.h:1
TDI_CONNECTION_INFO ConnInfo
Definition: info.h:77
TDI_STATUS InfoTdiSetInformationEx(PTDI_REQUEST Request, TDIObjectID *ID, PVOID Buffer, UINT BufferSize)
Definition: info.c:383
VOID RemoveEntityByContext(PVOID Context)
Definition: info.c:46
TDI_STATUS InfoTdiSetArptableMIB(PIP_INTERFACE IF, PVOID Buffer, UINT BufferSize)
Definition: iinfo.c:133
TDI_STATUS InfoTdiQueryGetConnectionTcpTable(PADDRESS_FILE AddrFile, PNDIS_BUFFER Buffer, PUINT BufferSize, TDI_TCPUDP_CLASS_INFO Class)
Definition: ninfo.c:182
unsigned int * PUINT
Definition: ndis.h:50
struct IPARP_ENTRY * PIPARP_ENTRY
TDI_STATUS InfoTdiQueryGetConnectionUdpTable(PADDRESS_FILE AddrFile, PNDIS_BUFFER Buffer, PUINT BufferSize, TDI_TCPUDP_CLASS_INFO Class)
Definition: ninfo.c:267