example-4.cpp 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*====================================================================*
  2. Copyright (c) 2020 Qualcomm Technologies, Inc.
  3. All Rights Reserved.
  4. Confidential and Proprietary - Qualcomm Technologies, Inc.
  5. ******************************************************************
  6. 2013 Qualcomm Atheros, Inc.
  7. *====================================================================*/
  8. /*====================================================================*
  9. * system header files;
  10. *--------------------------------------------------------------------*/
  11. #include <cstdlib>
  12. #include <iostream>
  13. /*====================================================================*
  14. * system header files;
  15. *--------------------------------------------------------------------*/
  16. #include <sys/types.h>
  17. #ifndef WINPCAP
  18. #include <sys/socket.h>
  19. #endif
  20. #include <net/if.h>
  21. /*====================================================================*
  22. * custom header files;
  23. *--------------------------------------------------------------------*/
  24. #include "../classes/CPLChannel.hpp"
  25. #include "../classes/CPLStation.hpp"
  26. #include "../classes/CPLNetwork.hpp"
  27. #include "../classes/ointerfaces.hpp"
  28. #include "../classes/omemory.hpp"
  29. /*====================================================================*
  30. * custom source files;
  31. *--------------------------------------------------------------------*/
  32. #ifndef MAKEFILE
  33. #include "../classes/omemory.cpp"
  34. #include "../classes/oerror.cpp"
  35. #include "../classes/oflagword.cpp"
  36. #include "../classes/ointerface.cpp"
  37. #include "../classes/ointerfaces.cpp"
  38. #include "../classes/oethernet.cpp"
  39. #include "../classes/ointellon.cpp"
  40. #include "../classes/ohomeplug.cpp"
  41. #include "../classes/CPLChannel.cpp"
  42. #include "../classes/CPLNetwork.cpp"
  43. #include "../classes/CPLStation.cpp"
  44. #endif
  45. /*====================================================================*
  46. * program variables;
  47. *--------------------------------------------------------------------*/
  48. char const * program_name;
  49. /*====================================================================*
  50. * main program;
  51. *--------------------------------------------------------------------*/
  52. int main (int argc, const char *argv [])
  53. {
  54. ointerfaces interfaces;
  55. byte bridge [CPLCHANNEL_BRIDGES_MAX][ETHER_ADDR_LEN];
  56. size_t bridges;
  57. program_name = * argv;
  58. while (!interfaces.End ())
  59. {
  60. CPLChannel * channel = new CPLChannel (interfaces.Selected ().Name (), CPLCHANNEL_TIMEOUT);
  61. std::cout << "interface - " << channel->Description () << std::endl;
  62. bridges = channel->Bridges (bridge, sizeof (bridge));
  63. while (bridges--)
  64. {
  65. channel->ImportPeerAddress (bridge [bridges]);
  66. CPLNetwork * network = new CPLNetwork (channel);
  67. network->Enumerate ();
  68. delete network;
  69. }
  70. delete channel;
  71. interfaces.SelectNext ();
  72. }
  73. std::exit (0);
  74. }