/*++ Copyright (c) 1999, Microsoft Corporation Module Name: net\routing\netsh\ip\protocols\msdp.c Abstract: This module contains code for dispatching commands received for the Multicast Source Discovery Protocol. The implementation of the commands is elsewhere, in msdpopt.c. Author Dave Thaler (dthaler) 21-May-1999 Revision History: Based loosely on net\routing\netsh\ip\protocols\nathlp.c by AboladeG --*/ #include "precomp.h" #pragma hdrstop CMD_ENTRY g_MsdpAddCmdTable[] = { CREATE_CMD_ENTRY(MSDP_ADD_PEER, HandleMsdpAddPeer), }; CMD_ENTRY g_MsdpDeleteCmdTable[] = { CREATE_CMD_ENTRY(MSDP_DELETE_PEER, HandleMsdpDeletePeer), }; CMD_ENTRY g_MsdpSetCmdTable[] = { CREATE_CMD_ENTRY(MSDP_SET_GLOBAL, HandleMsdpSetGlobal), CREATE_CMD_ENTRY(MSDP_SET_PEER, HandleMsdpSetPeer) }; CMD_ENTRY g_MsdpShowCmdTable[] = { CREATE_CMD_ENTRY(MSDP_SHOW_SA, HandleMsdpMibShowObject), CREATE_CMD_ENTRY(MSDP_SHOW_GLOBAL, HandleMsdpShowGlobal), CREATE_CMD_ENTRY(MSDP_SHOW_GLOBALSTATS, HandleMsdpMibShowObject), CREATE_CMD_ENTRY(MSDP_SHOW_PEER, HandleMsdpShowPeer), CREATE_CMD_ENTRY(MSDP_SHOW_PEERSTATS, HandleMsdpMibShowObject) }; CMD_GROUP_ENTRY g_MsdpCmdGroupTable[] = { CREATE_CMD_GROUP_ENTRY(GROUP_ADD, g_MsdpAddCmdTable), CREATE_CMD_GROUP_ENTRY(GROUP_DELETE, g_MsdpDeleteCmdTable), CREATE_CMD_GROUP_ENTRY(GROUP_SET, g_MsdpSetCmdTable), CREATE_CMD_GROUP_ENTRY(GROUP_SHOW, g_MsdpShowCmdTable) }; ULONG g_MsdpCmdGroupCount = sizeof(g_MsdpCmdGroupTable) / sizeof(g_MsdpCmdGroupTable[0]); CMD_ENTRY g_MsdpTopCmdTable[] = { CREATE_CMD_ENTRY(INSTALL, HandleMsdpInstall), CREATE_CMD_ENTRY(UNINSTALL, HandleMsdpUninstall), }; ULONG g_MsdpTopCmdCount = sizeof(g_MsdpTopCmdTable) / sizeof(g_MsdpTopCmdTable[0]); DWORD MsdpDump( PWCHAR pwszMachine, WCHAR **ppwcArguments, DWORD dwArgCount, PVOID pvData ) { g_hMibServer = (MIB_SERVER_HANDLE)pvData; DisplayMessage(g_hModule,DMP_MSDP_HEADER); DisplayMessageT(DMP_MSDP_PUSHD); DisplayMessageT(DMP_UNINSTALL); // // Show the global info commands // ShowMsdpGlobalInfo(FORMAT_DUMP); ShowMsdpPeerInfo(FORMAT_DUMP, NULL, NULL); DisplayMessageT(DMP_POPD); DisplayMessage(g_hModule, DMP_MSDP_FOOTER); return NO_ERROR; } // MSDPDump