rstat.x
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /* @(#)rstat.x 2.2 88/08/01 4.0 RPCSRC */
  2. /* @(#)rstat.x 1.2 87/09/18 Copyr 1987 Sun Micro */
  3. /*
  4.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  5.  * unrestricted use provided that this legend is included on all tape
  6.  * media and as a part of the software program in whole or part.  Users
  7.  * may copy or modify Sun RPC without charge, but are not authorized
  8.  * to license or distribute it to anyone else except as part of a product or
  9.  * program developed by the user.
  10.  * 
  11.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  12.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  13.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  14.  * 
  15.  * Sun RPC is provided with no support and without any obligation on the
  16.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  17.  * modification or enhancement.
  18.  * 
  19.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  20.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  21.  * OR ANY PART THEREOF.
  22.  * 
  23.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  24.  * or profits or other special, indirect and consequential damages, even if
  25.  * Sun has been advised of the possibility of such damages.
  26.  * 
  27.  * Sun Microsystems, Inc.
  28.  * 2550 Garcia Avenue
  29.  * Mountain View, California  94043
  30.  */
  31. /*
  32.  * Gather statistics on remote machines
  33.  */
  34. #ifdef RPC_HDR
  35. %#ifndef FSCALE
  36. %/*
  37. % * Scale factor for scaled integers used to count load averages.
  38. % */
  39. %#define FSHIFT  8               /* bits to right of fixed binary point */
  40. %#define FSCALE  (1<<FSHIFT)
  41. %
  42. %#endif /* ndef FSCALE */
  43. #endif /* def RPC_HDR */
  44. const CPUSTATES = 4;
  45. const DK_NDRIVE = 4;
  46. /*
  47.  * GMT since 0:00, January 1, 1970
  48.  */
  49. struct rstat_timeval {
  50. unsigned int tv_sec; /* seconds */
  51. unsigned int tv_usec; /* and microseconds */
  52. };
  53. struct statstime { /* RSTATVERS_TIME */
  54. int cp_time[CPUSTATES];
  55. int dk_xfer[DK_NDRIVE];
  56. unsigned int v_pgpgin; /* these are cumulative sum */
  57. unsigned int v_pgpgout;
  58. unsigned int v_pswpin;
  59. unsigned int v_pswpout;
  60. unsigned int v_intr;
  61. int if_ipackets;
  62. int if_ierrors;
  63. int if_oerrors;
  64. int if_collisions;
  65. unsigned int v_swtch;
  66. int avenrun[3];         /* scaled by FSCALE */
  67. rstat_timeval boottime;
  68. rstat_timeval curtime;
  69. int if_opackets;
  70. };
  71. struct statsswtch { /* RSTATVERS_SWTCH */
  72. int cp_time[CPUSTATES];
  73. int dk_xfer[DK_NDRIVE];
  74. unsigned int v_pgpgin; /* these are cumulative sum */
  75. unsigned int v_pgpgout;
  76. unsigned int v_pswpin;
  77. unsigned int v_pswpout;
  78. unsigned int v_intr;
  79. int if_ipackets;
  80. int if_ierrors;
  81. int if_oerrors;
  82. int if_collisions;
  83. unsigned int v_swtch;
  84. unsigned int avenrun[3];/* scaled by FSCALE */
  85. rstat_timeval boottime;
  86. int if_opackets;
  87. };
  88. struct stats { /* RSTATVERS_ORIG */
  89. int cp_time[CPUSTATES];
  90. int dk_xfer[DK_NDRIVE];
  91. unsigned int v_pgpgin; /* these are cumulative sum */
  92. unsigned int v_pgpgout;
  93. unsigned int v_pswpin;
  94. unsigned int v_pswpout;
  95. unsigned int v_intr;
  96. int if_ipackets;
  97. int if_ierrors;
  98. int if_oerrors;
  99. int if_collisions;
  100. int if_opackets;
  101. };
  102. program RSTATPROG {
  103. /*
  104.  * Newest version includes current time and context switching info
  105.  */
  106. version RSTATVERS_TIME {
  107. statstime
  108. RSTATPROC_STATS(void) = 1;
  109. unsigned int
  110. RSTATPROC_HAVEDISK(void) = 2;
  111. } = 3;
  112. /*
  113.  * Does not have current time
  114.  */
  115. version RSTATVERS_SWTCH {
  116. statsswtch
  117. RSTATPROC_STATS(void) = 1;
  118. unsigned int
  119. RSTATPROC_HAVEDISK(void) = 2;
  120. } = 2;
  121. /*
  122.  * Old version has no info about current time or context switching
  123.  */
  124. version RSTATVERS_ORIG {
  125. stats
  126. RSTATPROC_STATS(void) = 1;
  127. unsigned int
  128. RSTATPROC_HAVEDISK(void) = 2;
  129. } = 1;
  130. } = 100001;