[BACK]Return to loadavg.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / top

Annotation of src/usr.bin/top/loadavg.h, Revision 1.2

1.2     ! downsj      1: /*     $OpenBSD: loadavg.h,v 1.1 1997/08/14 14:00:22 downsj Exp $      */
1.1       downsj      2:
                      3: /*
                      4:  *  Top - a top users display for Berkeley Unix
                      5:  *
                      6:  *  Defines required to access load average figures.
                      7:  *
                      8:  *  This include file sets up everything we need to access the load average
                      9:  *  values in the kernel in a machine independent way.  First, it sets the
                     10:  *  typedef "load_avg" to be either double or long (depending on what is
                     11:  *  needed), then it defines these macros appropriately:
                     12:  *
                     13:  *     loaddouble(la) - convert load_avg to double.
                     14:  *     intload(i)     - convert integer to load_avg.
                     15:  */
                     16:
                     17: /*
                     18:  * We assume that if FSCALE is defined, then avenrun and ccpu are type long.
                     19:  * If your machine is an exception (mips, perhaps?) then make adjustments
                     20:  * here.
                     21:  *
                     22:  * Defined types:  load_avg for load averages, pctcpu for cpu percentages.
                     23:  */
1.2     ! downsj     24: #if defined(mips) && !defined(__OpenBSD__)
1.1       downsj     25: # include <sys/fixpoint.h>
                     26: # if defined(FBITS) && !defined(FSCALE)
                     27: #  define FSCALE (1 << FBITS)  /* mips */
                     28: # endif
                     29: #endif
                     30:
                     31: #ifdef FSCALE
                     32: # define FIXED_LOADAVG FSCALE
                     33: # define FIXED_PCTCPU FSCALE
                     34: #endif
                     35:
                     36: #ifdef ibm032
                     37: # undef FIXED_LOADAVG
                     38: # undef FIXED_PCTCPU
                     39: # define FIXED_PCTCPU PCT_SCALE
                     40: #endif
                     41:
                     42:
                     43: #ifdef FIXED_PCTCPU
                     44:   typedef long pctcpu;
                     45: # define pctdouble(p) ((double)(p) / FIXED_PCTCPU)
                     46: #else
                     47: typedef double pctcpu;
                     48: # define pctdouble(p) (p)
                     49: #endif
                     50:
                     51: #ifdef FIXED_LOADAVG
                     52:   typedef long load_avg;
                     53: # define loaddouble(la) ((double)(la) / FIXED_LOADAVG)
                     54: # define intload(i) ((int)((i) * FIXED_LOADAVG))
                     55: #else
                     56:   typedef double load_avg;
                     57: # define loaddouble(la) (la)
                     58: # define intload(i) ((double)(i))
                     59: #endif