|
|
#ifndef __PROTO_H__
#define __PROTO_H__
PMIB_IFROW LocateIfRow( DWORD dwQueryType, AsnAny *paaIfIndex ); PMIB_IPADDRROW LocateIpAddrRow( DWORD dwQueryType, AsnAny *paaIpAddr ); PMIB_IPFORWARDROW LocateIpRouteRow( DWORD dwQueryType , AsnAny *paaIpDest ); PMIB_IPFORWARDROW LocateIpForwardRow( DWORD dwQueryType, AsnAny *paaDest, AsnAny *paaProto, AsnAny *paaPolicy, AsnAny *paaNextHop ); PMIB_IPNETROW LocateIpNetRow( DWORD dwQueryType, AsnAny *paaIndex, AsnAny *paaAddr ); PMIB_UDPROW LocateUdpRow( DWORD dwQueryType, AsnAny *paaLocalAddr, AsnAny *paaLocalPort ); PUDP6ListenerEntry LocateUdp6Row( DWORD dwQueryType, AsnAny *paaLocalAddr, AsnAny *paaLocalPort ); PMIB_TCPROW LocateTcpRow( DWORD dwQueryType, AsnAny *paaLocalAddr, AsnAny *paaLocalPort, AsnAny *paaRemoteAddr, AsnAny *paaRemotePort ); PTCP6ConnTableEntry LocateTcp6Row( DWORD dwQueryType, AsnAny *paaLocalAddr, AsnAny *paaLocalPort, AsnAny *paaRemoteAddr, AsnAny *paaRemotePort );
typedef struct _MIB_IPV6_IF { DWORD dwIndex; DWORD dwEffectiveMtu; DWORD dwReasmMaxSize; DWORD dwAdminStatus; DWORD dwOperStatus; DWORD dwLastChange; BYTE bPhysicalAddress[MAX_PHYS_ADDR_LEN]; DWORD dwPhysicalAddressLength; WCHAR wszDescription[MAX_IF_DESCR_LEN + 1]; }MIB_IPV6_IF, *PMIB_IPV6_IF;
PMIB_IPV6_IF LocateIpv6IfRow( DWORD dwQueryType, AsnAny *paaIfIndex );
typedef struct _MIB_INET_ICMP { DWORD dwAFType; DWORD dwIfIndex; DWORD dwInMsgs; DWORD dwInErrors; DWORD dwOutMsgs; DWORD dwOutErrors; }MIB_INET_ICMP, *PMIB_INET_ICMP;
PMIB_INET_ICMP LocateInetIcmpRow( DWORD dwQueryType, AsnAny *paaAFType, AsnAny *paaIfIndex );
typedef struct _MIB_INET_ICMP_MSG { DWORD dwAFType; DWORD dwIfIndex; DWORD dwType; DWORD dwCode; DWORD dwInPkts; DWORD dwOutPkts; }MIB_INET_ICMP_MSG, *PMIB_INET_ICMP_MSG;
PMIB_INET_ICMP_MSG LocateInetIcmpMsgRow( DWORD dwQueryType, AsnAny *paaAFType, AsnAny *paaIfIndex, AsnAny *paaType, AsnAny *paaCode );
typedef struct _MIB_IPV6_ADDR { DWORD dwIfIndex; IN6_ADDR ipAddress; DWORD dwPrefixLength; DWORD dwType; DWORD dwAnycastFlag; DWORD dwStatus; }MIB_IPV6_ADDR, *PMIB_IPV6_ADDR;
PMIB_IPV6_ADDR LocateIpv6AddrRow( DWORD dwQueryType, AsnAny *paaIfIndex, AsnAny *paaAddress );
typedef struct _MIB_IPV6_ADDR_PREFIX { DWORD dwIfIndex; IN6_ADDR ipPrefix; DWORD dwPrefixLength; DWORD dwOnLinkFlag; DWORD dwAutonomousFlag; DWORD dwPreferredLifetime; DWORD dwValidLifetime; }MIB_IPV6_ADDR_PREFIX, *PMIB_IPV6_ADDR_PREFIX;
PMIB_IPV6_ADDR_PREFIX LocateIpv6AddrPrefixRow( DWORD dwQueryType, AsnAny *paaIfIndex, AsnAny *paaPrefix, AsnAny *paaPrefixLength );
typedef struct _MIB_IPV6_NET_TO_MEDIA { DWORD dwIfIndex; IN6_ADDR ipAddress; BOOL bPhysAddress[MAX_PHYS_ADDR_LEN]; DWORD dwPhysAddressLen; DWORD dwType; DWORD dwState; DWORD dwLastUpdated; DWORD dwValid; }MIB_IPV6_NET_TO_MEDIA, *PMIB_IPV6_NET_TO_MEDIA;
PMIB_IPV6_NET_TO_MEDIA LocateIpv6NetToMediaRow( DWORD dwQueryType, AsnAny *paaIfIndex, AsnAny *paaAddress );
typedef struct _MIB_IPV6_ROUTE { IN6_ADDR ipPrefix; DWORD dwPrefixLength; IN6_ADDR ipNextHop; DWORD dwIndex; DWORD dwIfIndex; DWORD dwType; DWORD dwProtocol; DWORD dwPolicy; DWORD dwAge; DWORD dwNextHopRDI; DWORD dwMetric; DWORD dwWeight; DWORD dwValid; }MIB_IPV6_ROUTE, *PMIB_IPV6_ROUTE;
PMIB_IPV6_ROUTE LocateIpv6RouteRow( DWORD dwQueryType, AsnAny *paaPrefix, AsnAny *paaPrefixLength, AsnAny *paaIndex );
DWORD LoadSystem(VOID);
DWORD LoadIfTable(VOID);
DWORD LoadIpAddrTable(VOID);
DWORD LoadIpNetTable(VOID);
DWORD LoadIpForwardTable(VOID);
DWORD LoadTcpTable(VOID);
DWORD LoadTcp6Table(VOID);
DWORD LoadUdpTable(VOID);
DWORD LoadUdp6ListenerTable(VOID);
DWORD LoadIpv6IfTable(VOID);
DWORD LoadIpv6NetToMediaTable(VOID);
DWORD LoadIpv6RouteTable(VOID);
DWORD LoadInetIcmpTable(VOID);
DWORD GetIpStats(MIB_IPSTATS *pStats);
DWORD GetIcmpStats(MIB_ICMP *pStats);
DWORD GetTcpStats(MIB_TCPSTATS *pStats);
DWORD GetUdpStats(MIB_UDPSTATS *pStats);
DWORD SetIfRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD CreateIpForwardRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD SetIpForwardRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD DeleteIpForwardRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD SetIpStats(PMIB_OPAQUE_INFO pRpcRow);
DWORD CreateIpNetRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD SetIpNetRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD DeleteIpNetRow(PMIB_OPAQUE_INFO pRpcRow);
DWORD SetTcpRow(PMIB_OPAQUE_INFO pRpcRow);
LONG UdpCmp( DWORD dwAddr1, DWORD dwPort1, DWORD dwAddr2, DWORD dwPort2 );
LONG Udp6Cmp( BYTE rgbyLocalAddrEx1[20], DWORD dwLocalPort1, BYTE rgbyLocalAddrEx2[20], DWORD dwLocalPort2 ); LONG TcpCmp( DWORD dwLocalAddr1, DWORD dwLocalPort1, DWORD dwRemAddr1, DWORD dwRemPort1, DWORD dwLocalAddr2, DWORD dwLocalPort2, DWORD dwRemAddr2, DWORD dwRemPort2 ); LONG Tcp6Cmp( BYTE rgbyLocalAddrEx1[20], DWORD dwLocalPort1, BYTE rgbyRemAddrEx1[20], DWORD dwRemPort1, BYTE rgbyLocalAddrEx2[20], DWORD dwLocalPort2, BYTE rgbyRemAddrEx2[20], DWORD dwRemPort2 );
LONG IpForwardCmp(DWORD dwIpDest1, DWORD dwProto1, DWORD dwPolicy1, DWORD dwIpNextHop1, DWORD dwIpDest2, DWORD dwProto2, DWORD dwPolicy2, DWORD dwIpNextHop2 ); LONG IpNetCmp( DWORD dwIfIndex1, DWORD dwAddr1, DWORD dwIfIndex2, DWORD dwAddr2 );
DWORD UpdateCache(DWORD dwCache);
BOOL IsRouterRunning();
DWORD GetSysInfo( MIB_SYSINFO **ppRpcSysInfo, HANDLE hHeap, DWORD dwAllocFlags );
DWORD GetIfIndexFromAddr( DWORD dwAddr );
#endif
|