2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
5 * PURPOSE: TdiQueryInformation definitions
10 #define MAX_PHYSADDR_LEN 8
11 #define MAX_IFDESCR_LEN 256
13 typedef struct IPSNMP_INFO
{
20 ULONG InUnknownProtos
;
24 ULONG RoutingDiscards
;
37 } IPSNMP_INFO
, *PIPSNMP_INFO
;
39 typedef struct IPADDR_ENTRY
{
47 } IPADDR_ENTRY
, *PIPADDR_ENTRY
;
49 typedef struct IPROUTE_ENTRY
{
51 ULONG Index
; //matches if_index in IFEntry and iae_index in IPAddrEntry
63 } IPROUTE_ENTRY
, *PIPROUTE_ENTRY
;
65 typedef struct IFENTRY
{
71 UCHAR PhysAddr
[MAX_PHYSADDR_LEN
];
77 ULONG InNUcastPackets
;
80 ULONG InUnknownProtos
;
82 ULONG OutUcastPackets
;
83 ULONG OutNUcastPackets
;
90 #define IP_MIB_STATS_ID 1
91 #define IF_MIB_STATS_ID 1
93 #ifndef IP_MIB_ROUTETABLE_ENTRY_ID
94 #define IP_MIB_ROUTETABLE_ENTRY_ID 0x101
96 #ifndef IP_MIB_ADDRTABLE_ENTRY_ID
97 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
99 #ifndef MAX_PHYSADDR_SIZE
100 #define MAX_PHYSADDR_SIZE 8
104 /* Only UDP is supported */
105 #define TDI_SERVICE_FLAGS (TDI_SERVICE_CONNECTIONLESS_MODE | \
106 TDI_SERVICE_BROADCAST_SUPPORTED)
108 #define TCP_MIB_STAT_ID 1
109 #define UDP_MIB_STAT_ID 1
110 #define TCP_MIB_TABLE_ID 0x101
111 #define UDP_MIB_TABLE_ID 0x101
113 #define TL_INSTANCE 0
116 typedef struct ADDRESS_INFO
{
119 } ADDRESS_INFO
, *PADDRESS_INFO
;
121 typedef union TDI_INFO
{
122 TDI_CONNECTION_INFO ConnInfo
;
123 TDI_ADDRESS_INFO AddrInfo
;
124 TDI_PROVIDER_INFO ProviderInfo
;
125 TDI_PROVIDER_STATISTICS ProviderStats
;
126 } TDI_INFO
, *PTDI_INFO
;
128 TDI_STATUS
InfoCopyOut( PCHAR DataOut
, UINT SizeOut
,
129 PNDIS_BUFFER ClientBuf
, PUINT ClientBufSize
);
131 TDI_STATUS
InfoTdiQueryInformationEx(
132 PTDI_REQUEST Request
,
138 TDI_STATUS
InfoTdiSetInformationEx(
139 PTDI_REQUEST Request
,
144 /* Network layer info functions */
145 TDI_STATUS
InfoNetworkLayerTdiQueryEx( UINT InfoClass
,
153 TDI_STATUS
InfoNetworkLayerTdiSetEx( UINT InfoClass
,
161 TDI_STATUS
InfoTransportLayerTdiQueryEx( UINT InfoClass
,
169 TDI_STATUS
InfoTransportLayerTdiSetEx( UINT InfoClass
,
177 TDI_STATUS
InfoInterfaceTdiQueryEx( UINT InfoClass
,
185 TDI_STATUS
InfoInterfaceTdiSetEx( UINT InfoClass
,
193 /* Insert and remove interface entities */
194 VOID
InsertTDIInterfaceEntity( PIP_INTERFACE Interface
);
195 VOID
RemoveTDIInterfaceEntity( PIP_INTERFACE Interface
);
197 #endif /* __INFO_H */