extern int _argc;
extern char **_argv;
+extern int getloadavg __P((unsigned int loadavg[], int nelem));
+
#endif /* __STDLIB_H */
SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
SRC_C += fgetpos.c fgets.c fopen.c fprintf.c fputc.c fputs.c fread.c free.c
SRC_C += fsetpos.c ftell.c fwrite.c getcwd.c
-SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getopt.c
+SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getopt.c
SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c
SRC_C += libintl.c
SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
SRC_C += fgetpos.c fgets.c fopen.c fprintf.c fputc.c fputs.c fread.c free.c
SRC_C += fsetpos.c ftell.c fwrite.c getcwd.c
-SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getopt.c
+SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getopt.c
SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c
SRC_C += libintl.c
SRC_C += fclose.c fflush.c fgetc.c fgetgrent.c fgetpwent.c
SRC_C += fgetpos.c fgets.c fopen.c fprintf.c fputc.c fputs.c fread.c free.c
SRC_C += fsetpos.c ftell.c fwrite.c getcwd.c
-SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getopt.c
+SRC_C += getenv.c __getgrent.c getgrgid.c getgrnam.c getloadavg.c getopt.c
SRC_C += getpw.c __getpwent.c getpwnam.c getpwuid.c gets.c gettimeofday.c
SRC_C += gmtime.c gmtime_r.c grent.c index.c isatty.c killpg.c
SRC_C += libintl.c
--- /dev/null
+/*
+ * BSD has an API for this so we might as well provide a libc API
+ * using the same interface. Pity the API varies between systems on
+ * the type used for loadavg!
+ */
+
+#include <unistd.h>
+#include <stdlib.h>
+
+int getloadavg(unsigned int loadavg[], int nelem)
+{
+ static struct _uzisysinfoblk uts;
+ uint8_t i;
+ int bytes = _uname(&uts, sizeof(uts));
+
+ if (bytes < sizeof(uts))
+ return -1;
+ if (nelem > 3)
+ nelem = 3;
+ for (i = 0; i < nelem; i++)
+ loadavg[i] = (uts.loadavg[i] * 100) >> 8;
+ return nelem;
+}