162 lines
4 KiB
C
162 lines
4 KiB
C
/*++
|
|
|
|
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__
|