summaryrefslogtreecommitdiffstats
path: root/contrib/top/machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/top/machine.h')
-rw-r--r--contrib/top/machine.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/contrib/top/machine.h b/contrib/top/machine.h
new file mode 100644
index 0000000..a09424c
--- /dev/null
+++ b/contrib/top/machine.h
@@ -0,0 +1,77 @@
+/*
+ * $FreeBSD$
+ */
+
+/*
+ * This file defines the interface between top and the machine-dependent
+ * module. It is NOT machine dependent and should not need to be changed
+ * for any specific machine.
+ */
+
+/*
+ * the statics struct is filled in by machine_init
+ */
+struct statics
+{
+ char **procstate_names;
+ char **cpustate_names;
+ char **memory_names;
+ char **swap_names;
+#ifdef ORDER
+ char **order_names;
+#endif
+ int ncpus;
+};
+
+/*
+ * the system_info struct is filled in by a machine dependent routine.
+ */
+
+#ifdef p_active /* uw7 define macro p_active */
+#define P_ACTIVE p_pactive
+#else
+#define P_ACTIVE p_active
+#endif
+
+struct system_info
+{
+ int last_pid;
+ double load_avg[NUM_AVERAGES];
+ int p_total;
+ int P_ACTIVE; /* number of procs considered "active" */
+ int *procstates;
+ int *cpustates;
+ int *memory;
+ int *swap;
+ struct timeval boottime;
+ int ncpus;
+};
+
+/* cpu_states is an array of percentages * 10. For example,
+ the (integer) value 105 is 10.5% (or .105).
+ */
+
+/*
+ * the process_select struct tells get_process_info what processes we
+ * are interested in seeing
+ */
+
+struct process_select
+{
+ int idle; /* show idle processes */
+ int self; /* show self */
+ int system; /* show system processes */
+ int thread; /* show threads */
+ int uid; /* only this uid (unless uid == -1) */
+ int wcpu; /* show weighted cpu */
+ int jail; /* show jail ID */
+ char *command; /* only this command (unless == NULL) */
+};
+
+/* routines defined by the machine dependent module */
+
+char *format_header();
+char *format_next_process();
+
+/* non-int routines typically used by the machine dependent module */
+char *printable();
OpenPOWER on IntegriCloud