diff options
author | Jason Downs <downsj@cvs.openbsd.org> | 1997-08-14 14:00:29 +0000 |
---|---|---|
committer | Jason Downs <downsj@cvs.openbsd.org> | 1997-08-14 14:00:29 +0000 |
commit | 6e46887b7158d427eebc23ab135222ed4df2bdf0 (patch) | |
tree | 3c75f1ac16fc0820700961b0f91b18496054cb6d /usr.bin/top/loadavg.h | |
parent | 44dbc9719c1c86a71535213a3f43c4cee4a4b770 (diff) |
top 3.4, with a few changes. Still needs more work.
Diffstat (limited to 'usr.bin/top/loadavg.h')
-rw-r--r-- | usr.bin/top/loadavg.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/usr.bin/top/loadavg.h b/usr.bin/top/loadavg.h new file mode 100644 index 00000000000..fee726e7307 --- /dev/null +++ b/usr.bin/top/loadavg.h @@ -0,0 +1,59 @@ +/* $OpenBSD: loadavg.h,v 1.1 1997/08/14 14:00:22 downsj Exp $ */ + +/* + * Top - a top users display for Berkeley Unix + * + * Defines required to access load average figures. + * + * This include file sets up everything we need to access the load average + * values in the kernel in a machine independent way. First, it sets the + * typedef "load_avg" to be either double or long (depending on what is + * needed), then it defines these macros appropriately: + * + * loaddouble(la) - convert load_avg to double. + * intload(i) - convert integer to load_avg. + */ + +/* + * We assume that if FSCALE is defined, then avenrun and ccpu are type long. + * If your machine is an exception (mips, perhaps?) then make adjustments + * here. + * + * Defined types: load_avg for load averages, pctcpu for cpu percentages. + */ +#if defined(mips) && !defined(NetBSD) +# include <sys/fixpoint.h> +# if defined(FBITS) && !defined(FSCALE) +# define FSCALE (1 << FBITS) /* mips */ +# endif +#endif + +#ifdef FSCALE +# define FIXED_LOADAVG FSCALE +# define FIXED_PCTCPU FSCALE +#endif + +#ifdef ibm032 +# undef FIXED_LOADAVG +# undef FIXED_PCTCPU +# define FIXED_PCTCPU PCT_SCALE +#endif + + +#ifdef FIXED_PCTCPU + typedef long pctcpu; +# define pctdouble(p) ((double)(p) / FIXED_PCTCPU) +#else +typedef double pctcpu; +# define pctdouble(p) (p) +#endif + +#ifdef FIXED_LOADAVG + typedef long load_avg; +# define loaddouble(la) ((double)(la) / FIXED_LOADAVG) +# define intload(i) ((int)((i) * FIXED_LOADAVG)) +#else + typedef double load_avg; +# define loaddouble(la) (la) +# define intload(i) ((double)(i)) +#endif |