ReactOS 0.4.16-dev-297-gc569aee
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
20typedef struct IPADDR_ENTRY {
21 ULONG Addr;
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
35typedef struct IPARP_ENTRY {
42
43typedef 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
71typedef struct ADDRESS_INFO {
75
76typedef union TDI_INFO {
82
88
89TDI_STATUS InfoCopyOut( PCHAR DataOut, UINT SizeOut,
90 PNDIS_BUFFER ClientBuf, PUINT ClientBufSize );
91
98
104
108
113
115 PIP_INTERFACE IF,
118
122
127
132
136
140
145
147 PADDRESS_FILE AddrFile,
150
152 PADDRESS_FILE AddrFile,
155
157 PCONNECTION_ENDPOINT Connection,
160
161/* Insert and remove entities */
163
165
166VOID AddEntity(ULONG EntityType,
168 ULONG Flags);
169
171
172/* EOF */
Definition: bufpool.h:45
VOID RemoveTDIInterfaceEntity(PIP_INTERFACE Interface)
Definition: iinfo.c:168
TDI_STATUS InfoTdiQueryGetAddrTable(TDIEntityID ID, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:98
TDI_STATUS InfoTdiSetRoute(PIP_INTERFACE IF, PVOID Buffer, UINT BufferSize)
Definition: ninfo.c:310
struct IPADDR_ENTRY * PIPADDR_ENTRY
TDI_TCPUDP_CLASS_INFO
Definition: info.h:83
@ TcpUdpClassOwnerPid
Definition: info.h:85
@ TcpUdpClassOwner
Definition: info.h:86
@ TcpUdpClassBasic
Definition: info.h:84
TDI_STATUS InfoTdiQueryGetInterfaceMIB(TDIEntityID ID, PIP_INTERFACE Interface, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: iinfo.c:18
TDI_STATUS GetAddressFileInfo(TDIObjectID *ID, PADDRESS_FILE AddrFile, PVOID Buffer, PUINT BufferSize)
Definition: ainfo.c:65
TDI_STATUS SetConnectionInfo(TDIObjectID *ID, PCONNECTION_ENDPOINT Connection, PVOID Buffer, UINT BufferSize)
Definition: cinfo.c:11
enum TDI_TCPUDP_CLASS_INFO * PTDI_TCPUDP_CLASS_INFO
TDI_STATUS SetAddressFileInfo(TDIObjectID *ID, PADDRESS_FILE AddrFile, PVOID Buffer, UINT BufferSize)
Definition: ainfo.c:11
struct ADDRESS_INFO * PADDRESS_INFO
TDI_STATUS InfoTdiQueryGetRouteTable(PIP_INTERFACE IF, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:17
struct IPROUTE_ENTRY * PIPROUTE_ENTRY
TDI_STATUS InfoCopyOut(PCHAR DataOut, UINT SizeOut, PNDIS_BUFFER ClientBuf, PUINT ClientBufSize)
Definition: info.c:97
TDI_STATUS InfoTdiQueryGetConnectionUdpTable(PADDRESS_FILE AddrFile, PNDIS_BUFFER Buffer, PUINT BufferSize, TDI_TCPUDP_CLASS_INFO Class)
Definition: ninfo.c:267
TDI_STATUS InfoTdiQueryGetIPSnmpInfo(TDIEntityID ID, PIP_INTERFACE IF, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: ninfo.c:155
union TDI_INFO * PTDI_INFO
struct IPADDR_ENTRY IPADDR_ENTRY
VOID RemoveEntityByContext(PVOID Context)
Definition: info.c:46
TDI_STATUS InfoTdiQueryGetConnectionTcpTable(PADDRESS_FILE AddrFile, PNDIS_BUFFER Buffer, PUINT BufferSize, TDI_TCPUDP_CLASS_INFO Class)
Definition: ninfo.c:182
TDI_STATUS InfoTdiSetArptableMIB(PIP_INTERFACE IF, PVOID Buffer, UINT BufferSize)
Definition: iinfo.c:133
TDI_STATUS InfoTdiQueryGetArptableMIB(TDIEntityID ID, PIP_INTERFACE Interface, PNDIS_BUFFER Buffer, PUINT BufferSize)
Definition: iinfo.c:105
VOID AddEntity(ULONG EntityType, PVOID Context, ULONG Flags)
Definition: info.c:15
TDI_STATUS InfoTdiSetInformationEx(PTDI_REQUEST Request, TDIObjectID *ID, PVOID Buffer, UINT BufferSize)
Definition: info.c:383
VOID InsertTDIInterfaceEntity(PIP_INTERFACE Interface)
Definition: iinfo.c:158
TDI_STATUS InfoTdiQueryInformationEx(PTDI_REQUEST Request, TDIObjectID *ID, PNDIS_BUFFER Buffer, PUINT BufferSize, PVOID Context)
Definition: info.c:215
struct IPARP_ENTRY * PIPARP_ENTRY
unsigned int * PUINT
Definition: ndis.h:50
unsigned int UINT
Definition: ndis.h:50
MDL * PNDIS_BUFFER
Definition: ndis.h:343
unsigned short USHORT
Definition: pedump.c:61
#define ID
Definition: ruserpass.c:36
ULONG LocalPort
Definition: info.h:73
ULONG LocalAddress
Definition: info.h:72
Definition: afd.h:56
ULONG BcastAddr
Definition: afd.h:60
ULONG Mask
Definition: afd.h:59
USHORT Context
Definition: afd.h:62
ULONG ReasmSize
Definition: afd.h:61
USHORT Pad
Definition: afd.h:63
ULONG Addr
Definition: afd.h:57
ULONG Index
Definition: afd.h:58
Definition: info.h:35
ULONG Index
Definition: info.h:36
ULONG Type
Definition: info.h:40
ULONG LogAddr
Definition: info.h:39
UCHAR PhysAddr[8]
Definition: info.h:38
ULONG AddrSize
Definition: info.h:37
Definition: info.h:43
ULONG Metric5
Definition: info.h:55
ULONG Dest
Definition: info.h:44
ULONG Index
Definition: info.h:45
ULONG Metric4
Definition: info.h:49
ULONG Metric1
Definition: info.h:46
ULONG Gw
Definition: info.h:50
ULONG Type
Definition: info.h:51
ULONG Mask
Definition: info.h:54
ULONG Metric3
Definition: info.h:48
ULONG Info
Definition: info.h:56
ULONG Proto
Definition: info.h:52
ULONG Age
Definition: info.h:53
ULONG Metric2
Definition: info.h:47
LONG TDI_STATUS
Definition: tdi.h:36
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
Definition: info.h:76
TDI_PROVIDER_STATISTICS ProviderStats
Definition: info.h:80
TDI_CONNECTION_INFO ConnInfo
Definition: info.h:77
TDI_PROVIDER_INFO ProviderInfo
Definition: info.h:79
TDI_ADDRESS_INFO AddrInfo
Definition: info.h:78
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
unsigned char UCHAR
Definition: xmlstorage.h:181