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

VxWorks

开发平台:

C/C++

  1. /* distIfShow.c - distributed objects interface adapter show routines (VxFusion option) */
  2. /* Copyright 1999-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01g,26oct01,jws  man page clean-up (SPR 71239)
  7. 01f,24may99,drm  added vxfusion prefix to VxFusion related includes
  8. 01e,23feb99,wlf  doc edits
  9. 01d,18feb99,wlf  doc cleanup
  10. 01c,11feb99,drm  changed discared to discarded re: SPR #24699
  11. 01b,28oct98,drm  documentation updates
  12. 01a,07oct97,ur   written.
  13. */
  14. /*
  15. DESCRIPTION
  16. This library provides a show routine for displaying information about the 
  17. installed interface adapter.
  18. AVAILABILITY
  19. This module is distributed as a component of the unbundled distributed
  20. message queues option, VxFusion.
  21. INCLUDE FILES: distIfLib.h
  22. SEE ALSO: distStatLib
  23. */
  24. #include "vxWorks.h"
  25. #include "stdio.h"
  26. #include "vxfusion/distIfLib.h"
  27. #include "vxfusion/distStatLib.h"
  28. /***************************************************************************
  29. *
  30. * distIfShowInit - initialize the interface show routine (VxFusion option)
  31. *
  32. * This routine currently does nothing.
  33. *
  34. * AVAILABILITY
  35. * This routine is distributed as a component of the unbundled distributed
  36. * message queues option, VxFusion.
  37. *
  38. * RETURNS: N/A
  39. *
  40. * NOMANUAL
  41. */
  42. void distIfShowInit (void)
  43.     {
  44.     }
  45. /***************************************************************************
  46. *
  47. * distIfShow - display information about the installed interface adapter (VxFusion option)
  48. *
  49. * This routine displays information about the installed interface adapter.
  50. * It displays the configuration parameters, as well as some statistical 
  51. * data.
  52. *      
  53. * EXAMPLE:
  54. * cs
  55. * -> distIfShow
  56. * Interface Name                 : "UDP adapter"
  57. * MTU                            : 1500
  58. * Network Header Size            : 14
  59. * SWP Buffer                     : 32
  60. * Maximum Number of Fragments    : 10
  61. * Maximum Length of Packet       : 14860 
  62. * Broadcast Address              : 0x930b26ff
  63. * Telegrams received             : 23
  64. * Telegrams received for sending : 62
  65. * Incoming Telegrams discarded   : 0
  66. * Outgoing Telegrams discarded   : 0
  67. * ce
  68. *
  69. * In this example, the installed interface adapter has the name "UDP 
  70. * adapter."  The largest telegram that can be transmitted without
  71. * fragmentation is 1500 bytes long. The network header requires fourteen
  72. * (14) of those bytes; therefore the largest amount of user data that can be
  73. * transmitted without fragmentation is 1486 bytes.  The sliding window
  74. * protocol's buffer has 32 entries, which results in a window of size 16.
  75. * The number of fragments that the packet can be broken into is limited by
  76. * the size of the sequence field in the network header.  The example
  77. * interface adapter can handle up to 10 fragments, which results in a
  78. * maximum packet length of 14860 ((1500 - 14) * 128) bytes. The broadcast
  79. * address of this driver is 0x930b26ff (147.11.38.255). The last four lines
  80. * of output show statistical data.
  81. *
  82. * AVAILABILITY
  83. * This routine is distributed as a component of the unbundled distributed
  84. * message queues option, VxFusion.
  85. *
  86. * RETURNS: OK, or ERROR if there is no interface installed.
  87. */
  88. STATUS distIfShow (void)
  89.     {
  90.     if (pDistIf == NULL)
  91.         {
  92.         printf ("no interface installedn");
  93.         return (ERROR);
  94.         }
  95.     printf ("Interface Name                 : "%s"n", DIST_IF_NAME);
  96.     printf ("MTU                            : %dn", DIST_IF_MTU);
  97.     printf ("Network Header Size            : %dn", DIST_IF_HDR_SZ);
  98.     printf ("SWP Buffer                     : %dn", DIST_IF_RNG_BUF_SZ);
  99.     printf ("Maximum Number of Fragments    : %dn", DIST_IF_MAX_FRAGS);
  100.     printf ("Maximum Length of Packet       : %dn",
  101.             DIST_IF_MAX_FRAGS * (DIST_IF_MTU - DIST_IF_HDR_SZ));
  102.     printf ("Broadcast Address              : 0x%lxn",
  103.             (u_long) DIST_IF_BROADCAST_ADDR);
  104.     printf ("n");
  105.     printf ("Telegrams received             : %ldn", distStat.ifInReceived);
  106.     printf ("Telegrams received for sending : %ldn", distStat.ifOutReceived);
  107.     printf ("Incoming Telegrams discarded   : %ldn", distStat.ifInDiscarded);
  108.     printf ("Outgoing Telegrams discarded   : %ldn", distStat.ifOutDiscarded);
  109.     return (OK);
  110.     }