2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
5 * PURPOSE: TdiQueryInformation definitions
12 #define MAX_PHYSADDR_LEN 8
13 #define MAX_IFDESCR_LEN 256
15 typedef struct IPADDR_ENTRY
{
23 } IPADDR_ENTRY
, *PIPADDR_ENTRY
;
25 #define ARP_ENTRY_STATIC 4
26 #define ARP_ENTRY_DYNAMIC 3
27 #define ARP_ENTRY_INVALID 2
28 #define ARP_ENTRY_OTHER 1
30 typedef struct IPARP_ENTRY
{
36 } IPARP_ENTRY
, *PIPARP_ENTRY
;
38 typedef struct IPROUTE_ENTRY
{
40 ULONG Index
; //matches if_index in IFEntry and iae_index in IPAddrEntry
52 } IPROUTE_ENTRY
, *PIPROUTE_ENTRY
;
54 /* Only UDP is supported */
55 #define TDI_SERVICE_FLAGS (TDI_SERVICE_CONNECTIONLESS_MODE | \
56 TDI_SERVICE_BROADCAST_SUPPORTED)
58 #define TCP_MIB_STAT_ID 1
59 #define UDP_MIB_STAT_ID 1
60 #define TCP_MIB_TABLE_ID 0x101
61 #define UDP_MIB_TABLE_ID 0x101
66 typedef struct ADDRESS_INFO
{
69 } ADDRESS_INFO
, *PADDRESS_INFO
;
71 typedef union TDI_INFO
{
72 TDI_CONNECTION_INFO ConnInfo
;
73 TDI_ADDRESS_INFO AddrInfo
;
74 TDI_PROVIDER_INFO ProviderInfo
;
75 TDI_PROVIDER_STATISTICS ProviderStats
;
76 } TDI_INFO
, *PTDI_INFO
;
78 TDI_STATUS
InfoCopyOut( PCHAR DataOut
, UINT SizeOut
,
79 PNDIS_BUFFER ClientBuf
, PUINT ClientBufSize
);
81 TDI_STATUS
InfoTdiQueryInformationEx(
88 TDI_STATUS
InfoTdiSetInformationEx(
94 TDI_STATUS
InfoTdiQueryGetAddrTable(TDIEntityID ID
,
98 TDI_STATUS
InfoTdiQueryGetInterfaceMIB(TDIEntityID ID
,
99 PIP_INTERFACE Interface
,
103 TDI_STATUS
InfoTdiQueryGetIPSnmpInfo( TDIEntityID ID
,
108 TDI_STATUS
InfoTdiQueryGetRouteTable( PIP_INTERFACE IF
,
112 TDI_STATUS
InfoTdiSetRoute(PIP_INTERFACE IF
,
116 TDI_STATUS
InfoTdiSetArptableMIB(PIP_INTERFACE IF
,
120 TDI_STATUS
InfoTdiQueryGetArptableMIB(TDIEntityID ID
,
121 PIP_INTERFACE Interface
,
125 TDI_STATUS
SetAddressFileInfo(TDIObjectID
*ID
,
126 PADDRESS_FILE AddrFile
,
130 TDI_STATUS
GetAddressFileInfo(TDIObjectID
*ID
,
131 PADDRESS_FILE AddrFile
,
135 TDI_STATUS
SetConnectionInfo(TDIObjectID
*ID
,
136 PCONNECTION_ENDPOINT Connection
,
140 /* Insert and remove entities */
141 VOID
InsertTDIInterfaceEntity( PIP_INTERFACE Interface
);
143 VOID
RemoveTDIInterfaceEntity( PIP_INTERFACE Interface
);
145 VOID
AddEntity(ULONG EntityType
,
149 VOID
RemoveEntityByContext(PVOID Context
);