/*====================================================================* Copyright (c) 2020 Qualcomm Technologies, Inc. All Rights Reserved. Confidential and Proprietary - Qualcomm Technologies, Inc. ****************************************************************** 2013 Qualcomm Atheros, Inc. *====================================================================*/ /*====================================================================* * system header files; *--------------------------------------------------------------------*/ #include #include /*====================================================================* * system header files; *--------------------------------------------------------------------*/ #include #ifndef WINPCAP #include #endif #include /*====================================================================* * custom header files; *--------------------------------------------------------------------*/ #include "../classes/CPLChannel.hpp" #include "../classes/ointerfaces.hpp" #include "../classes/omemory.hpp" /*====================================================================* * custom source files; *--------------------------------------------------------------------*/ #ifndef MAKEFILE #include "../classes/omemory.cpp" #include "../classes/oerror.cpp" #include "../classes/oflagword.cpp" #include "../classes/ointerface.cpp" #include "../classes/ointerfaces.cpp" #include "../classes/oethernet.cpp" #include "../classes/ointellon.cpp" #include "../classes/ohomeplug.cpp" #include "../classes/CPLChannel.cpp" #endif /*====================================================================* * program variables; *--------------------------------------------------------------------*/ char const * program_name; /*====================================================================* * main program; *--------------------------------------------------------------------*/ int main (int argc, const char *argv []) { ointerfaces interfaces; char buffer [ETHER_ADDR_LEN * 3]; byte bridge [CPLCHANNEL_BRIDGES_MAX][ETHER_ADDR_LEN]; byte device [CPLCHANNEL_DEVICES_MAX][ETHER_ADDR_LEN]; size_t bridges; size_t devices; program_name = * argv; for (interfaces.SelectFirst (); interfaces.Index () < interfaces.Count (); interfaces.SelectNext ()) { CPLChannel * channel = new CPLChannel (interfaces.Selected ().Name (), CPLCHANNEL_TIMEOUT); std::cout << "interface - " << channel->Description () << std::endl; bridges = channel->Bridges (bridge, sizeof (bridge)); while (bridges--) { std::cout << "bridge - " << omemory::hexstring (buffer, sizeof (buffer), bridge [bridges], ETHER_ADDR_LEN) << std::endl; channel->ImportPeerAddress (bridge [bridges]); devices = channel->Neighbors (device, sizeof (device)); while (devices--) { std::cout << "device - " << omemory::hexstring (buffer, sizeof (buffer), device [devices], ETHER_ADDR_LEN) << std::endl; } std::cout << std::endl; } std::cout << std::endl; delete channel; } std::exit (0); }