windows-nt/Source/XPSP1/NT/net/rras/netsh/if/showmib.h

162 lines
4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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__