2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
5 * PURPOSE: TdiQueryInformation definitions
16 #define MAX_PHYSADDR_LEN 8
17 #define MAX_IFDESCR_LEN 256
19 typedef struct IPADDR_ENTRY
{
27 } IPADDR_ENTRY
, *PIPADDR_ENTRY
;
29 #define ARP_ENTRY_STATIC 4
30 #define ARP_ENTRY_DYNAMIC 3
31 #define ARP_ENTRY_INVALID 2
32 #define ARP_ENTRY_OTHER 1
34 typedef struct IPARP_ENTRY
{
40 } IPARP_ENTRY
, *PIPARP_ENTRY
;
42 typedef struct IPROUTE_ENTRY
{
44 ULONG Index
; //matches if_index in IFEntry and iae_index in IPAddrEntry
56 } IPROUTE_ENTRY
, *PIPROUTE_ENTRY
;
58 /* Only UDP is supported */
59 #define TDI_SERVICE_FLAGS (TDI_SERVICE_CONNECTIONLESS_MODE | \
60 TDI_SERVICE_BROADCAST_SUPPORTED)
62 #define TCP_MIB_STAT_ID 1
63 #define UDP_MIB_STAT_ID 1
64 #define TCP_MIB_TABLE_ID 0x101
65 #define UDP_MIB_TABLE_ID 0x101
70 typedef struct ADDRESS_INFO
{
73 } ADDRESS_INFO
, *PADDRESS_INFO
;
75 typedef union TDI_INFO
{
76 TDI_CONNECTION_INFO ConnInfo
;
77 TDI_ADDRESS_INFO AddrInfo
;
78 TDI_PROVIDER_INFO ProviderInfo
;
79 TDI_PROVIDER_STATISTICS ProviderStats
;
80 } TDI_INFO
, *PTDI_INFO
;
82 TDI_STATUS
InfoCopyOut( PCHAR DataOut
, UINT SizeOut
,
83 PNDIS_BUFFER ClientBuf
, PUINT ClientBufSize
);
85 TDI_STATUS
InfoTdiQueryInformationEx(
92 TDI_STATUS
InfoTdiSetInformationEx(
98 TDI_STATUS
InfoTdiQueryGetAddrTable(TDIEntityID ID
,
102 TDI_STATUS
InfoTdiQueryGetInterfaceMIB(TDIEntityID ID
,
103 PIP_INTERFACE Interface
,
107 TDI_STATUS
InfoTdiQueryGetIPSnmpInfo( TDIEntityID ID
,
112 TDI_STATUS
InfoTdiQueryGetRouteTable( PIP_INTERFACE IF
,
116 TDI_STATUS
InfoTdiQueryGetConnectionTcpTable( PADDRESS_FILE AddrFile
,
120 TDI_STATUS
InfoTdiSetRoute(PIP_INTERFACE IF
,
124 TDI_STATUS
InfoTdiSetArptableMIB(PIP_INTERFACE IF
,
128 TDI_STATUS
InfoTdiQueryGetArptableMIB(TDIEntityID ID
,
129 PIP_INTERFACE Interface
,
133 TDI_STATUS
SetAddressFileInfo(TDIObjectID
*ID
,
134 PADDRESS_FILE AddrFile
,
138 TDI_STATUS
GetAddressFileInfo(TDIObjectID
*ID
,
139 PADDRESS_FILE AddrFile
,
143 TDI_STATUS
SetConnectionInfo(TDIObjectID
*ID
,
144 PCONNECTION_ENDPOINT Connection
,
148 /* Insert and remove entities */
149 VOID
InsertTDIInterfaceEntity( PIP_INTERFACE Interface
);
151 VOID
RemoveTDIInterfaceEntity( PIP_INTERFACE Interface
);
153 VOID
AddEntity(ULONG EntityType
,
157 VOID
RemoveEntityByContext(PVOID Context
);