|
|
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name: net\routing\netsh\if\showmib.h
Abstract:
Author:
Dave Thaler 7/21/99
Revision History:
--*/
#ifndef __IFMON_SHOWMIB_H__
#define __IFMON_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 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 );
typedef VOID (PRINT_FN)( IN MIB_SERVER_HANDLE hMibServer, IN PMIB_OPAQUE_INFO pInfo );
typedef PRINT_FN *PPRINT_FN;
PRINT_FN PrintIfTable; PRINT_FN PrintIfRow; PRINT_FN PrintIcmp; PRINT_FN PrintUdpStats; PRINT_FN PrintUdpTable; PRINT_FN PrintUdpRow; PRINT_FN PrintTcpStats; PRINT_FN PrintTcpTable; PRINT_FN PrintTcpRow; PRINT_FN PrintIpStats; PRINT_FN PrintIpAddrTable; PRINT_FN PrintIpAddrRow; PRINT_FN PrintIpNetTable; PRINT_FN PrintIpNetRow;
typedef struct _MAGIC_TABLE { DWORD dwId; PPRINT_FN pfnPrintFunction; }MAGIC_TABLE, *PMAGIC_TABLE;
FN_HANDLE_CMD HandleIpMibShowObject;
DWORD GetMibTagToken( IN PWCHAR *ppwcArguments, IN DWORD dwArgCount, IN DWORD dwNumIndices, OUT PDWORD pdwRR, OUT PBOOL pbIndex, OUT PDWORD pdwIndex );
#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 HandleIpShowJoins;
#endif // __IFMON_SHOWMIB_H__
|