ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

info.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:   See COPYING in the top level directory
00003  * PROJECT:     ReactOS TCP/IP protocol driver
00004  * FILE:        include/info.h
00005  * PURPOSE:     TdiQueryInformation definitions
00006  */
00007 
00008 #pragma once
00009 
00010 #include <tcpioctl.h>
00011 
00012 #define MAX_PHYSADDR_LEN 8
00013 #define MAX_IFDESCR_LEN  256
00014 
00015 typedef struct IPSNMP_INFO {
00016     ULONG Forwarding;
00017     ULONG DefaultTTL;
00018     ULONG InReceives;
00019     ULONG InHdrErrors;
00020     ULONG InAddrErrors;
00021     ULONG ForwDatagrams;
00022     ULONG InUnknownProtos;
00023     ULONG InDiscards;
00024     ULONG InDelivers;
00025     ULONG OutRequests;
00026     ULONG RoutingDiscards;
00027     ULONG OutDiscards;
00028     ULONG OutNoRoutes;
00029     ULONG ReasmTimeout;
00030     ULONG ReasmReqds;
00031     ULONG ReasmOks;
00032     ULONG ReasmFails;
00033     ULONG FragOks;
00034     ULONG FragFails;
00035     ULONG FragCreates;
00036     ULONG NumIf;
00037     ULONG NumAddr;
00038     ULONG NumRoutes;
00039 } IPSNMP_INFO, *PIPSNMP_INFO;
00040 
00041 typedef struct IPADDR_ENTRY {
00042     ULONG  Addr;
00043     ULONG  Index;
00044     ULONG  Mask;
00045     ULONG  BcastAddr;
00046     ULONG  ReasmSize;
00047     USHORT Context;
00048     USHORT Pad;
00049 } IPADDR_ENTRY, *PIPADDR_ENTRY;
00050 
00051 #define ARP_ENTRY_STATIC 4
00052 #define ARP_ENTRY_DYNAMIC 3
00053 #define ARP_ENTRY_INVALID 2
00054 #define ARP_ENTRY_OTHER 1
00055 
00056 typedef struct IPARP_ENTRY {
00057     ULONG Index;
00058     ULONG AddrSize;
00059     UCHAR PhysAddr[8];
00060     ULONG LogAddr;
00061     ULONG Type;
00062 } IPARP_ENTRY, *PIPARP_ENTRY;
00063 
00064 typedef struct IPROUTE_ENTRY {
00065     ULONG Dest;
00066     ULONG Index;    //matches if_index in IFEntry and iae_index in IPAddrEntry
00067     ULONG Metric1;
00068     ULONG Metric2;
00069     ULONG Metric3;
00070     ULONG Metric4;
00071     ULONG Gw;
00072     ULONG Type;
00073     ULONG Proto;
00074     ULONG Age;
00075     ULONG Mask;
00076     ULONG Metric5;
00077     ULONG Info;
00078 } IPROUTE_ENTRY, *PIPROUTE_ENTRY;
00079 
00080 typedef struct IFENTRY {
00081     ULONG Index;
00082     ULONG Type;
00083     ULONG Mtu;
00084     ULONG Speed;
00085     ULONG PhysAddrLen;
00086     UCHAR PhysAddr[MAX_PHYSADDR_LEN];
00087     ULONG AdminStatus;
00088     ULONG OperStatus;
00089     ULONG LastChange;
00090     ULONG InOctets;
00091     ULONG InUcastPackets;
00092     ULONG InNUcastPackets;
00093     ULONG InDiscards;
00094     ULONG InErrors;
00095     ULONG InUnknownProtos;
00096     ULONG OutOctets;
00097     ULONG OutUcastPackets;
00098     ULONG OutNUcastPackets;
00099     ULONG OutDiscards;
00100     ULONG OutErrors;
00101     ULONG OutQLen;
00102     ULONG DescrLen;
00103 } IFENTRY, *PIFENTRY;
00104 
00105 /* Only UDP is supported */
00106 #define TDI_SERVICE_FLAGS (TDI_SERVICE_CONNECTIONLESS_MODE | \
00107                            TDI_SERVICE_BROADCAST_SUPPORTED)
00108 
00109 #define TCP_MIB_STAT_ID     1
00110 #define UDP_MIB_STAT_ID     1
00111 #define TCP_MIB_TABLE_ID    0x101
00112 #define UDP_MIB_TABLE_ID    0x101
00113 
00114 #define TL_INSTANCE 0
00115 
00116 
00117 typedef struct ADDRESS_INFO {
00118     ULONG LocalAddress;
00119     ULONG LocalPort;
00120 } ADDRESS_INFO, *PADDRESS_INFO;
00121 
00122 typedef union TDI_INFO {
00123     TDI_CONNECTION_INFO ConnInfo;
00124     TDI_ADDRESS_INFO AddrInfo;
00125     TDI_PROVIDER_INFO ProviderInfo;
00126     TDI_PROVIDER_STATISTICS ProviderStats;
00127 } TDI_INFO, *PTDI_INFO;
00128 
00129 TDI_STATUS InfoCopyOut( PCHAR DataOut, UINT SizeOut,
00130             PNDIS_BUFFER ClientBuf, PUINT ClientBufSize );
00131 
00132 TDI_STATUS InfoTdiQueryInformationEx(
00133     PTDI_REQUEST Request,
00134     TDIObjectID *ID,
00135     PNDIS_BUFFER Buffer,
00136     PUINT BufferSize,
00137     PVOID Context);
00138 
00139 TDI_STATUS InfoTdiSetInformationEx(
00140     PTDI_REQUEST Request,
00141     TDIObjectID *ID,
00142     PVOID Buffer,
00143     UINT BufferSize);
00144 
00145 TDI_STATUS InfoTdiQueryGetAddrTable(TDIEntityID ID,
00146                     PNDIS_BUFFER Buffer,
00147                     PUINT BufferSize);
00148 
00149 TDI_STATUS InfoTdiQueryGetInterfaceMIB(TDIEntityID ID,
00150                        PIP_INTERFACE Interface,
00151                        PNDIS_BUFFER Buffer,
00152                        PUINT BufferSize);
00153 
00154 TDI_STATUS InfoTdiQueryGetIPSnmpInfo( TDIEntityID ID,
00155                                       PIP_INTERFACE IF,
00156                       PNDIS_BUFFER Buffer,
00157                       PUINT BufferSize );
00158 
00159 TDI_STATUS InfoTdiQueryGetRouteTable( PIP_INTERFACE IF,
00160                                       PNDIS_BUFFER Buffer,
00161                                       PUINT BufferSize );
00162 
00163 TDI_STATUS InfoTdiSetRoute(PIP_INTERFACE IF,
00164                            PVOID Buffer,
00165                            UINT BufferSize);
00166 
00167 TDI_STATUS InfoTdiSetArptableMIB(PIP_INTERFACE IF,
00168                                  PVOID Buffer,
00169                                  UINT BufferSize);
00170 
00171 TDI_STATUS InfoTdiQueryGetArptableMIB(TDIEntityID ID,
00172                       PIP_INTERFACE Interface,
00173                       PNDIS_BUFFER Buffer,
00174                       PUINT BufferSize);
00175 
00176 TDI_STATUS SetAddressFileInfo(TDIObjectID *ID,
00177                               PADDRESS_FILE AddrFile,
00178                               PVOID Buffer,
00179                               UINT BufferSize);
00180 
00181 TDI_STATUS GetAddressFileInfo(TDIObjectID *ID,
00182                               PADDRESS_FILE AddrFile,
00183                               PVOID Buffer,
00184                               PUINT BufferSize);
00185 
00186 /* Insert and remove entities */
00187 VOID InsertTDIInterfaceEntity( PIP_INTERFACE Interface );
00188 
00189 VOID RemoveTDIInterfaceEntity( PIP_INTERFACE Interface );
00190 
00191 VOID AddEntity(ULONG EntityType,
00192                PVOID Context,
00193                ULONG Flags);
00194 
00195 VOID RemoveEntityByContext(PVOID Context);
00196 
00197 /* EOF */

Generated on Sat May 26 2012 04:26:39 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.