PageRenderTime 24ms CodeModel.GetById 21ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/include/rpcsvc/rstat.x

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