|
|
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name: net\routing\monitor\ip\showmib.h
Abstract:
Author:
Anand Mahalingam 7/10/98
Revision History:
--*/
#ifndef __IPMON_SHOWMIB_H__
#define __IPMON_SHOWMIB_H__
#define MAX_NUM_INDICES 6
typedef DWORD (*PGET_OPT_FN)( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
typedef struct _MIB_OBJECT_PARSER { PWCHAR pwszMIBObj; DWORD dwMinOptArg; PGET_OPT_FN pfnMIBObjParser; } MIB_OBJECT_PARSER,*PMIB_OBJECT_PARSER;
DWORD GetMIBIfIndex( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
DWORD GetMIBIpAddress( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
DWORD GetMIBIpFwdIndex( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
DWORD GetMIBIpNetIndex( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
DWORD GetMIBTcpConnIndex( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
DWORD GetMIBUdpConnIndex( IN PTCHAR *pptcArguments, IN DWORD dwCurrentIndex, OUT PDWORD pdwIndices, OUT PDWORD pdwNumParsed );
extern MIB_OBJECT_PARSER MIBObjectMap[]; extern ULONG g_ulNumMibObjects; extern HANDLE g_hConsole;
typedef VOID (PRINT_FN)( IN MIB_SERVER_HANDLE hMibServer, IN PMIB_OPAQUE_INFO pInfo );
PRINT_FN PrintIpForwardTable; PRINT_FN PrintIpForwardRow;
VOID PrintMfeTable( MIB_SERVER_HANDLE hMibServer, PMIB_OPAQUE_INFO prpcInfo, PDWORD pdwLastGrp, PDWORD pdwLastSrc, PDWORD pdwLastSrcMask, DWORD dwRangeGrp, DWORD dwRangeGrpMask, DWORD dwRangeSrc, DWORD dwRangeSrcMask, DWORD dwType, PBOOL pbDone );
VOID PrintMfeStatsTable( MIB_SERVER_HANDLE hMibServer, PMIB_OPAQUE_INFO prpcInfo, PDWORD pdwLastGrp, PDWORD pdwLastSrc, PDWORD pdwLastSrcMask, DWORD dwRangeGrp, DWORD dwRangeGrpMask, DWORD dwRangeSrc, DWORD dwRangeSrcMask, DWORD dwType, PBOOL pbDone, BOOL bStatsAll );
DWORD GetMfe( MIB_SERVER_HANDLE hMIBServer, BOOL bIndexPresent, PTCHAR *pptcAruments, DWORD dwNumArg, BOOL bIncludeStats );
DWORD GetPrintDestinationInfo( MIB_SERVER_HANDLE hMprMIB, BOOL bIndexPresent, PWCHAR *ppwcArguments, DWORD dwArgCount );
DWORD GetPrintRouteInfo( MIB_SERVER_HANDLE hMprMIB, BOOL bIndexPresent, PWCHAR *ppwcArguments, DWORD dwArgCount );
void cls(HANDLE hConsole);
BOOL WINAPI HandlerRoutine( DWORD dwCtrlType // control signal type
);
#define PRINT_IPADDR(x) \
((x)&0x000000ff),(((x)&0x0000ff00)>>8),(((x)&0x00ff0000)>>16),(((x)&0xff000000)>>24)
typedef PRINT_FN *PPRINT_FN;
typedef struct _MAGIC_TABLE { DWORD dwId; PPRINT_FN pfnPrintFunction; }MAGIC_TABLE, *PMAGIC_TABLE;
extern MAGIC_TABLE MIBVar[];
#define IGMP_GETMODE_EXACT 0
#define IGMP_GETMODE_FIRST 1
#define IGMP_GETMODE_NEXT 2
#define DISPLAYLEN_PHYSADDR 3*MAXLEN_PHYSADDR + 8
#ifdef UNICODE
#define MakeUnicodePhysAddr(ptszUnicode,pszAddr,dwLen) \
{ \ CHAR __szTemp[DISPLAYLEN_PHYSADDR + 1]; \ DWORD __i,__dwTempLen; \ __dwTempLen = (((dwLen) <= MAXLEN_PHYSADDR) ? (dwLen) : MAXLEN_PHYSADDR); \ for(__i = 0; __i < __dwTempLen; __i++) \ { \ sprintf(&(__szTemp[3*__i]),"%02X-",pszAddr[__i]); \ } \ MultiByteToWideChar(GetConsoleOutputCP(), \ 0, \ (__szTemp), \ -1, \ (ptszUnicode), \ 3*__i); \ ptszUnicode[(3*__i) - 1] = TEXT('\0'); \ } #else
#define MakeUnicodePhysAddr(ptszUnicode,pszAddr,dwLen) \
{ \ CHAR __szTemp[DISPLAYLEN_PHYSADDR + 1]; \ DWORD __i,__dwTempLen; \ __dwTempLen = (((dwLen) <= MAXLEN_PHYSADDR) ? (dwLen) : MAXLEN_PHYSADDR); \ for(__i = 0; __i < __dwTempLen; __i++) \ { \ sprintf(&(__szTemp[3*__i]),"%02X-",pszAddr[__i]); \ } \ strncpy((ptszUnicode),__szTemp,3*__i); \ ptszUnicode[(3*__i) - 1] = TEXT('\0'); \ } #endif //UNICODE
FN_HANDLE_CMD HandleIpMibShowObject;
#endif // __IPMON_SHOWMIB_H__
|