diff options
author | Martin Baulig <martin@src.gnome.org> | 1998-07-14 22:57:20 +0000 |
---|---|---|
committer | Martin Baulig <martin@src.gnome.org> | 1998-07-14 22:57:20 +0000 |
commit | f18952a9d88dbeee8474dbf4c2909acc38e76093 (patch) | |
tree | f0a5fcb6721731175af3b2e14aa170066641c86d /sysdeps/sun4 | |
parent | 16cb163bb0c0cff30fe235e03d0f93b398b0dfe3 (diff) | |
download | libgtop-f18952a9d88dbeee8474dbf4c2909acc38e76093.tar.gz |
Initial revision
Diffstat (limited to 'sysdeps/sun4')
-rw-r--r-- | sysdeps/sun4/loadavg.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sysdeps/sun4/loadavg.h b/sysdeps/sun4/loadavg.h new file mode 100644 index 00000000..f49541e7 --- /dev/null +++ b/sysdeps/sun4/loadavg.h @@ -0,0 +1,57 @@ +/* + * 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 |