X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fgetloadavg.c;h=4a41be8a1eb0880c0c48f0c73b139859680db1a7;hb=166ba1350d802535b6a6ea7ea0bc29c56a71b7ec;hp=b8161e49b04fa7545090e80e92ae02e3327480a3;hpb=976b002b16336930724ae22476014583ad022e7d;p=chise%2Fxemacs-chise.git.1 diff --git a/src/getloadavg.c b/src/getloadavg.c index b8161e4..4a41be8 100644 --- a/src/getloadavg.c +++ b/src/getloadavg.c @@ -44,7 +44,6 @@ Boston, MA 02111-1307, USA. */ convex DGUX hpux - MSDOS No-op for MSDOS. NeXT sgi sequent Sequent Dynix 3.x.x (BSD) @@ -52,7 +51,8 @@ Boston, MA 02111-1307, USA. */ sony_news NEWS-OS (works at least for 4.1C) UMAX UMAX4_3 - WIN32 No-op for Windows95/NT. + WIN32_NATIVE No-op for Windows9x/NT. + CYGWIN No-op for Cygwin. __linux__ Linux: assumes /proc filesystem mounted. Support from Michael K. Johnson. __NetBSD__ NetBSD: assumes /kern filesystem mounted. @@ -69,34 +69,8 @@ Boston, MA 02111-1307, USA. */ #include #endif -#ifndef WINDOWSNT -#ifndef __CYGWIN32__ - -#include - -/* Both the Emacs and non-Emacs sections want this. Some - configuration files' definitions for the LOAD_AVE_CVT macro (like - sparc.h's) use macros like FSCALE, defined here. */ -#ifdef unix -#include -#endif - -#ifdef XEMACS #include "lisp.h" #include "sysfile.h" /* for encapsulated open, close, read, write */ -#endif /* XEMACS */ - -/* Exclude all the code except the test program at the end - if the system has its own `getloadavg' function. - - The declaration of `errno' is needed by the test program - as well as the function itself, so it comes first. */ - -#include - -#ifndef errno -extern int errno; -#endif #ifndef HAVE_GETLOADAVG @@ -114,11 +88,9 @@ extern int errno; #define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0) #endif -#ifdef XEMACS #if defined (HAVE_KSTAT_H) #include #endif /* HAVE_KSTAT_H */ -#endif /* XEMACS */ #if !defined (BSD) && defined (ultrix) /* Ultrix behaves like BSD on Vaxen. */ @@ -461,17 +433,10 @@ extern int errno; #include #endif -#ifdef XEMACS #if defined (HAVE_SYS_PSTAT_H) #include #endif /* HAVE_SYS_PSTAT_H (on HPUX) */ -#endif /* XEMACS */ -#if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION) -#include -#else -#include -#endif /* Avoid static vars inside a function since in HPUX they dump as pure. */ @@ -516,6 +481,8 @@ static kvm_t *kd; Return the number written (never more than 3, but may be less than NELEM), or -1 if an error occurred. */ +int getloadavg (double loadavg[], int nelem); + int getloadavg (double loadavg[], int nelem) { @@ -536,7 +503,7 @@ getloadavg (double loadavg[], int nelem) privileges to use it. Initial implementation courtesy Zlatko Calusic . - Integrated to XEmacs by Hrvoje Niksic . + Integrated to XEmacs by Hrvoje Niksic . Additional cleanup by Hrvoje Niksic, based on code published by Casper Dik . */ kstat_ctl_t *kc; @@ -772,31 +739,6 @@ getloadavg (double loadavg[], int nelem) loadavg[elem++] = load_info.fifteen_minute; #endif /* DGUX */ -#if !defined (LDAV_DONE) && defined (apollo) -#define LDAV_DONE -/* Apollo code from lisch@mentorg.com (Ray Lischner). - - This system call is not documented. The load average is obtained as - three long integers, for the load average over the past minute, - five minutes, and fifteen minutes. Each value is a scaled integer, - with 16 bits of integer part and 16 bits of fraction part. - - I'm not sure which operating system first supported this system call, - but I know that SR10.2 supports it. */ - - extern void proc1_$get_loadav (); - unsigned long load_ave[3]; - - proc1_$get_loadav (load_ave); - - if (nelem > 0) - loadavg[elem++] = load_ave[0] / 65536.0; - if (nelem > 1) - loadavg[elem++] = load_ave[1] / 65536.0; - if (nelem > 2) - loadavg[elem++] = load_ave[2] / 65536.0; -#endif /* apollo */ - #if !defined (LDAV_DONE) && defined (OSF_MIPS) #define LDAV_DONE @@ -808,7 +750,7 @@ getloadavg (double loadavg[], int nelem) : (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale)); #endif /* OSF_MIPS */ -#if !defined (LDAV_DONE) && (defined (MSDOS) || defined (WIN32)) +#if !defined (LDAV_DONE) && (defined (WIN32_NATIVE) || defined (CYGWIN)) #define LDAV_DONE /* A faithful emulation is going to have to be saved for a rainy day. */ @@ -816,7 +758,7 @@ getloadavg (double loadavg[], int nelem) { loadavg[elem] = 0.0; } -#endif /* MSDOS */ +#endif /* WIN32_NATIVE or CYGWIN */ #if !defined (LDAV_DONE) && defined (OSF_ALPHA) #define LDAV_DONE @@ -989,22 +931,3 @@ main (int argc, char **argv) exit (0); } #endif /* TEST */ - -#else - -/* Emulate getloadavg. */ -int -getloadavg (double loadavg[], int nelem) -{ - int i; - - /* A faithful emulation is going to have to be saved for a rainy day. */ - for (i = 0; i < nelem; i++) - { - loadavg[i] = 0.0; - } - return i; -} - -#endif /*__GNUWIN32__*/ -#endif /* WINDOWSNT */