igmpShow.c
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* igmpShow.c - IGMP information display routines */
  2. /* Copyright 1984 - 2001 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01f,10may02,kbw  making manpage edits
  8. 01e,15oct01,rae  merge from truestack ver 01f, base 01d 
  9. 01d,14dec97,kbw  made man page edits
  10. 01c,31jul97,kbw  fixed man page problems found in beta review
  11. 01b,20apr97,kbw  fixed man page format, spell check.
  12. 01a,08mar97,vin  written.
  13. */
  14. /*
  15. DESCRIPTION
  16. This library provides routines to show IGMP related
  17. statistics.
  18. Interpreting these statistics requires detailed knowledge of Internet
  19. network protocols.  Information on these protocols can be found in
  20. the following books:
  21. .iP
  22. .I "TCP/IP Illustrated Volume II, The Implementation,"
  23. by Richard Stevens
  24. .iP
  25. .I "The Design and Implementation of the 4.4 BSD UNIX Operating System,"
  26. by Leffler, McKusick, Karels and Quarterman
  27. .LP
  28. The igmpShowInit() routine links the IGMP show facility into the VxWorks
  29. system.  This is performed automatically if INCLUDE_NET_SHOW and
  30. INCLUDE_IGMP are defined.
  31. SEE ALSO: netLib, netShow
  32. */
  33. #include "vxWorks.h"
  34. #include "sys/types.h"
  35. #include "netinet/in.h"
  36. #include "netinet/in_systm.h"
  37. #include "netinet/ip.h"
  38. #include "netinet/ip_var.h"
  39. #include "netinet/igmp_var.h"
  40. #include "errno.h"
  41. #include "string.h"
  42. #include "stdio.h"
  43. #ifdef VIRTUAL_STACK
  44. #include "netinet/vsLib.h"
  45. #include "netinet/vsIgmp.h"
  46. #endif
  47. #define plural(num) ((num) > 1 ? "s": "")
  48. #ifndef VIRTUAL_STACK
  49. extern struct igmpstat igmpstat;
  50. #endif /* VIRTUAL_STACK */
  51. /******************************************************************************
  52. *
  53. * igmpShowInit - initialize IGMP show routines
  54. *
  55. * This routine links the IGMP show facility into the VxWorks system.
  56. * These routines are included automatically if INCLUDE_NET_SHOW
  57. * and INCLUDE_IGMP are defined.
  58. *
  59. * RETURNS: N/A
  60. */
  61. void igmpShowInit (void)
  62.     {
  63.     
  64.     }
  65. /*******************************************************************************
  66. *
  67. * igmpstatShow - display statistics for IGMP
  68. *
  69. * This routine displays statistics for the IGMP 
  70. * (Internet Group Management Protocol) protocol.
  71. *
  72. * RETURNS: N/A
  73. */
  74. void igmpstatShow (void)
  75.     {
  76.     printf ("IGMP:nt%u invalid queries receivedn",
  77.             (int)igmpstat.igps_rcv_badqueries);
  78.     printf ("t%u invalid reports receivedn",
  79.             (int)igmpstat.igps_rcv_badreports);
  80.     printf("t%u bad checksums receivedn", (int)igmpstat.igps_rcv_badsum);
  81.     printf("t%u reports for local groups receivedn",
  82.            (int)igmpstat.igps_rcv_ourreports);
  83.     printf("t%u membership queries receivedn",
  84.            (int)igmpstat.igps_rcv_queries);
  85.     printf("t%u membership reports receivedn",
  86.            (int)igmpstat.igps_rcv_reports);
  87.     printf("t%u short packets receivedn", (int)igmpstat.igps_rcv_tooshort);
  88.     printf("t%u total messages receivedn", (int)igmpstat.igps_rcv_total);
  89.     printf("t%u membership reports sentn", (int)igmpstat.igps_snd_reports);
  90.     
  91.     }