/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _RSTAT_H_RPCGEN
#define	_RSTAT_H_RPCGEN

#include <rpc/rpc.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Copyright (c) 1985, 1990, 1991 by Sun Microsystems, Inc.
 */
/* from rstat.x */

/*
 * Scale factor for scaled integers used to count load averages.
 */
#ifndef FSCALE
#define FSHIFT 8 /* bits to right of fixed binary point */
#define FSCALE (1<<FSHIFT)
#endif /* ndef FSCALE */

#ifndef DST_NONE
#include <sys/time.h> /* The time struct defined below is	*/
#endif /* meant to match struct timeval.	*/






#define	RSTAT_CPUSTATES 4
#define	RSTAT_DK_NDRIVE 4
#define	RSTAT_CPU_USER 0
#define	RSTAT_CPU_NICE 1
#define	RSTAT_CPU_SYS 2
#define	RSTAT_CPU_IDLE 3

struct rstat_timeval {
	int tv_sec;
	int tv_usec;
};
typedef struct rstat_timeval rstat_timeval;

struct statsvar {
	struct {
		u_int cp_time_len;
		int *cp_time_val;
	} cp_time;
	struct {
		u_int dk_xfer_len;
		int *dk_xfer_val;
	} dk_xfer;
	u_int v_pgpgin;
	u_int v_pgpgout;
	u_int v_pswpin;
	u_int v_pswpout;
	u_int v_intr;
	int if_ipackets;
	int if_ierrors;
	int if_opackets;
	int if_oerrors;
	int if_collisions;
	u_int v_swtch;
	int avenrun[3];
	rstat_timeval boottime;
	rstat_timeval curtime;
};
typedef struct statsvar statsvar;

struct statstime {
	int cp_time[RSTAT_CPUSTATES];
	int dk_xfer[RSTAT_DK_NDRIVE];
	u_int v_pgpgin;
	u_int v_pgpgout;
	u_int v_pswpin;
	u_int v_pswpout;
	u_int v_intr;
	int if_ipackets;
	int if_ierrors;
	int if_oerrors;
	int if_collisions;
	u_int v_swtch;
	int avenrun[3];
	rstat_timeval boottime;
	rstat_timeval curtime;
	int if_opackets;
};
typedef struct statstime statstime;

#if 1 || defined(__cplusplus)
enum clnt_stat rstat(char *, struct statstime *);
int havedisk(char *);
#else
enum clnt_stat rstat();
int havedisk();
#endif


#define	RSTATPROG	100001
#define	RSTATVERS_VAR	4

#if defined(__STDC__) || defined(__cplusplus)
#define	RSTATPROC_STATS	1
extern  statsvar * rstatproc_stats_4(void *, CLIENT *);
extern  statsvar * rstatproc_stats_4_svc(void *, struct svc_req *);
#define	RSTATPROC_HAVEDISK	2
extern  u_int * rstatproc_havedisk_4(void *, CLIENT *);
extern  u_int * rstatproc_havedisk_4_svc(void *, struct svc_req *);
extern int rstatprog_4_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	RSTATPROC_STATS	1
extern  statsvar * rstatproc_stats_4();
extern  statsvar * rstatproc_stats_4_svc();
#define	RSTATPROC_HAVEDISK	2
extern  u_int * rstatproc_havedisk_4();
extern  u_int * rstatproc_havedisk_4_svc();
extern int rstatprog_4_freeresult();
#endif /* K&R C */
#define	RSTATVERS_TIME	3

#if defined(__STDC__) || defined(__cplusplus)
extern  statstime * rstatproc_stats_3(void *, CLIENT *);
extern  statstime * rstatproc_stats_3_svc(void *, struct svc_req *);
extern  u_int * rstatproc_havedisk_3(void *, CLIENT *);
extern  u_int * rstatproc_havedisk_3_svc(void *, struct svc_req *);
extern int rstatprog_3_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
extern  statstime * rstatproc_stats_3();
extern  statstime * rstatproc_stats_3_svc();
extern  u_int * rstatproc_havedisk_3();
extern  u_int * rstatproc_havedisk_3_svc();
extern int rstatprog_3_freeresult();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_rstat_timeval(XDR *, rstat_timeval*);
extern  bool_t xdr_statsvar(XDR *, statsvar*);
extern  bool_t xdr_statstime(XDR *, statstime*);

#else /* K&R C */
extern bool_t xdr_rstat_timeval();
extern bool_t xdr_statsvar();
extern bool_t xdr_statstime();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_RSTAT_H_RPCGEN */
