summaryrefslogtreecommitdiff
path: root/usr.bin/top/loadavg.h
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1997-08-14 14:00:29 +0000
committerJason Downs <downsj@cvs.openbsd.org>1997-08-14 14:00:29 +0000
commit6e46887b7158d427eebc23ab135222ed4df2bdf0 (patch)
tree3c75f1ac16fc0820700961b0f91b18496054cb6d /usr.bin/top/loadavg.h
parent44dbc9719c1c86a71535213a3f43c4cee4a4b770 (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.h59
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