int icmp_load(netsnmp_cache *cache, void *vmagic) { long ret_value = -1; ret_value = GetIcmpStatistics(&icmpstat); if ( ret_value < 0 ) { DEBUGMSGTL(("mibII/icmp", "Failed to load ICMP Group (win32)\n")); } else { DEBUGMSGTL(("mibII/icmp", "Loaded ICMP Group (win32)\n")); } return ret_value; }
VOID ShowIcmpStatistics() { PMIB_ICMP pIcmpStats; DWORD dwRetVal; pIcmpStats = (MIB_ICMP*) HeapAlloc(GetProcessHeap(), 0, sizeof(MIB_ICMP)); if ((dwRetVal = GetIcmpStatistics(pIcmpStats)) == NO_ERROR) { _tprintf(_T("\nICMPv4 Statistics\n\n")); _tprintf(_T(" Received Sent\n")); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Messages"), pIcmpStats->stats.icmpInStats.dwMsgs, pIcmpStats->stats.icmpOutStats.dwMsgs); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Errors"), pIcmpStats->stats.icmpInStats.dwErrors, pIcmpStats->stats.icmpOutStats.dwErrors); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Destination Unreachable"), pIcmpStats->stats.icmpInStats.dwDestUnreachs, pIcmpStats->stats.icmpOutStats.dwDestUnreachs); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Time Exceeded"), pIcmpStats->stats.icmpInStats.dwTimeExcds, pIcmpStats->stats.icmpOutStats.dwTimeExcds); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Parameter Problems"), pIcmpStats->stats.icmpInStats.dwParmProbs, pIcmpStats->stats.icmpOutStats.dwParmProbs); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Source Quenches"), pIcmpStats->stats.icmpInStats.dwSrcQuenchs, pIcmpStats->stats.icmpOutStats.dwSrcQuenchs); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Redirects"), pIcmpStats->stats.icmpInStats.dwRedirects, pIcmpStats->stats.icmpOutStats.dwRedirects); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Echos"), pIcmpStats->stats.icmpInStats.dwEchos, pIcmpStats->stats.icmpOutStats.dwEchos); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Echo Replies"), pIcmpStats->stats.icmpInStats.dwEchoReps, pIcmpStats->stats.icmpOutStats.dwEchoReps); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Timestamps"), pIcmpStats->stats.icmpInStats.dwTimestamps, pIcmpStats->stats.icmpOutStats.dwTimestamps); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Timestamp Replies"), pIcmpStats->stats.icmpInStats.dwTimestampReps, pIcmpStats->stats.icmpOutStats.dwTimestampReps); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Address Masks"), pIcmpStats->stats.icmpInStats.dwAddrMasks, pIcmpStats->stats.icmpOutStats.dwAddrMasks); _tprintf(_T(" %-25s %-11lu %lu\n"), _T("Address Mask Replies"), pIcmpStats->stats.icmpInStats.dwAddrMaskReps, pIcmpStats->stats.icmpOutStats.dwAddrMaskReps); } else DoFormatMessage(dwRetVal); HeapFree(GetProcessHeap(), 0, pIcmpStats); }
static void mib2IcmpInit(void) { GetIcmpStatistics(&icmpStats); }
DWORD MyGetIcmpStatistics(PMIB_ICMP& pIcmpStats) { pIcmpStats = (PMIB_ICMP)malloc(sizeof(MIB_ICMP)); assert(pIcmpStats != NULL); return GetIcmpStatistics(pIcmpStats); }