convex
DGUX
hpux
- MSDOS No-op for MSDOS.
NeXT
sgi
sequent Sequent Dynix 3.x.x (BSD)
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.
#include <config.h>
#endif
-#ifndef WINDOWSNT
-#ifndef __CYGWIN32__
-
-#include <sys/types.h>
-
-/* 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 <sys/param.h>
-#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 <errno.h>
-
-#ifndef errno
-extern int errno;
-#endif
#ifndef HAVE_GETLOADAVG
#define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
#endif
-#ifdef XEMACS
#if defined (HAVE_KSTAT_H)
#include <kstat.h>
#endif /* HAVE_KSTAT_H */
-#endif /* XEMACS */
#if !defined (BSD) && defined (ultrix)
/* Ultrix behaves like BSD on Vaxen. */
#include <sys/dg_sys_info.h>
#endif
-#ifdef XEMACS
#if defined (HAVE_SYS_PSTAT_H)
#include <sys/pstat.h>
#endif /* HAVE_SYS_PSTAT_H (on HPUX) */
-#endif /* XEMACS */
-#if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
-#include <fcntl.h>
-#else
-#include <sys/file.h>
-#endif
\f
/* Avoid static vars inside a function since in HPUX they dump as pure. */
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)
{
privileges to use it.
Initial implementation courtesy Zlatko Calusic <zcalusic@carnet.hr>.
- Integrated to XEmacs by Hrvoje Niksic <hniksic@srce.hr>.
+ Integrated to XEmacs by Hrvoje Niksic <hniksic@xemacs.org>.
Additional cleanup by Hrvoje Niksic, based on code published by
Casper Dik <Casper.Dik@Holland.Sun.Com>. */
kstat_ctl_t *kc;
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
: (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. */
{
loadavg[elem] = 0.0;
}
-#endif /* MSDOS */
+#endif /* WIN32_NATIVE or CYGWIN */
#if !defined (LDAV_DONE) && defined (OSF_ALPHA)
#define LDAV_DONE
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 */