Add sys/loadavg.h
authorDavid Bartley <dtbartle@glibc.(none)>
Fri, 6 Feb 2009 10:45:33 +0000 (10:45 +0000)
committerDavid Bartley <dtbartle@glibc.(none)>
Fri, 6 Feb 2009 10:45:33 +0000 (10:45 +0000)
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/Makefile
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/getloadavg.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/pset_getloadavg.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/loadavg.h [new file with mode: 0644]

index 172b2b5..0e669ab 100644 (file)
@@ -54,7 +54,7 @@ sysdep_headers += sys/feature_tests.h sys/dirent.h sys/utime.h sys/machelf.h \
     sys/inttypes.h sys/atomic.h sys/machtypes.h sys/elf.h sys/mkdev.h \
     sys/klog.h sys/zone.h sys/processor.h sys/pset.h sys/rctl.h sys/task.h \
     sys/exacct.h sys/acct.h sys/acctctl.h sys/utssys.h sys/corectl.h \
-    sys/port.h sys/acl.h sys/tsol/label.h
+    sys/port.h sys/acl.h sys/tsol/label.h sys/loadavg.h
 sysdep_headers += rtld_db.h pcsample.h atomic.h bits/machtypes.h door.h \
     ucred.h priv.h zone.h port.h deflt.h procfs.h rctl.h
 headers := $(filter-out sys/sysinfo.h sys/xattr.h, $(headers))
index d38693d..9bc0aeb 100644 (file)
    02111-1307 USA.  */
 
 #include <inline-syscall.h>
+#include <sys/loadavg.h>
 
 DECLARE_INLINE_SYSCALL (int, getloadavg, int *buf, int nelem);
 
 int
 getloadavg (double loadavg[], int nelem)
 {
-  int buf[3], i;
+  int buf[LOADAVG_NSTATS], i;
 
-  if (nelem > 3)
-    nelem = 3;
+  if (nelem > LOADAVG_NSTATS)
+    nelem = LOADAVG_NSTATS;
   int result = INLINE_SYSCALL (getloadavg, 2, buf, nelem);
   if (result == -1)
     return -1;
index b88bb90..73f3d18 100644 (file)
 
 #include <inline-syscall.h>
 #include <sys/pset.h>
+#include <sys/loadavg.h>
 
 DECLARE_INLINE_SYSCALL (int, pset_getloadavg, int *buf, int nelem);
 
 int
 pset_getloadavg (psetid_t pset, double loadavg[], int nelem)
 {
-  int buf[3], i;
+  int buf[LOADAVG_NSTATS], i;
 
-  if (nelem > 3)
-    nelem = 3;
+  if (nelem > LOADAVG_NSTATS)
+    nelem = LOADAVG_NSTATS;
   int result = INLINE_SYSCALL (pset_getloadavg, 2, buf, nelem);
   if (result == -1)
     return -1;
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/loadavg.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/loadavg.h
new file mode 100644 (file)
index 0000000..8b5b0ae
--- /dev/null
@@ -0,0 +1,31 @@
+/* Declarations of loadavg types.
+   Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _SYS_LOADAVG
+#define _SYS_LOADAVG
+
+#include <stdlib.h>
+
+#define LOADAVG_1MIN   0
+#define LOADAVG_5MIN   1
+#define LOADAVG_15MIN  2
+
+#define LOADAVG_NSTATS 3
+
+#endif /* _SYS_LOADAVG */