about summary refs log tree commit diff
path: root/resource
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /resource
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.xz
glibc-a334319f6530564d22e775935d9c91663623a1b4.zip
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'resource')
-rw-r--r--resource/Makefile4
-rw-r--r--resource/getpriority.c37
-rw-r--r--resource/getrlimit.c34
-rw-r--r--resource/getrlimit64.c43
-rw-r--r--resource/getrusage.c35
-rw-r--r--resource/nice.c33
-rw-r--r--resource/setpriority.c36
-rw-r--r--resource/setrlimit.c37
-rw-r--r--resource/setrlimit64.c43
-rw-r--r--resource/tst-getrlimit.c112
-rw-r--r--resource/ulimit.c39
-rw-r--r--resource/vlimit.c51
-rw-r--r--resource/vtimes.c65
13 files changed, 1 insertions, 568 deletions
diff --git a/resource/Makefile b/resource/Makefile
index 68f9ff65a3..cddb6d353c 100644
--- a/resource/Makefile
+++ b/resource/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1994,1995,1997,2005 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1992, 1994, 1995, 1997 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
@@ -24,6 +24,4 @@ headers	  := sys/resource.h bits/resource.h sys/vlimit.h sys/vtimes.h	\
 routines := getrlimit setrlimit getrlimit64 setrlimit64 getrusage ulimit      \
 	    vlimit vtimes getpriority setpriority nice
 
-tests = tst-getrlimit
-
 include ../Rules
diff --git a/resource/getpriority.c b/resource/getpriority.c
deleted file mode 100644
index 501c92a08a..0000000000
--- a/resource/getpriority.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1991,95,96,97,2000,02 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-
-/* Return the highest priority of any process specified by WHICH and WHO
-   (see <sys/resource.h>); if WHO is zero, the current process, process group,
-   or user (as specified by WHO) is used.  A lower priority number means higher
-   priority.  Priorities range from PRIO_MIN to PRIO_MAX.  */
-int
-getpriority (which, who)
-     enum __priority_which which;
-     id_t who;
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-libc_hidden_def (getpriority)
-
-stub_warning (getpriority)
-#include <stub-tag.h>
diff --git a/resource/getrlimit.c b/resource/getrlimit.c
deleted file mode 100644
index d4bcadd762..0000000000
--- a/resource/getrlimit.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-
-/* Put the soft and hard limits for RESOURCE in *RLIMITS.
-   Returns 0 if successful, -1 if not (and sets errno).  */
-int
-__getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-weak_alias (__getrlimit, getrlimit)
-
-stub_warning (getrlimit)
-#include <stub-tag.h>
diff --git a/resource/getrlimit64.c b/resource/getrlimit64.c
deleted file mode 100644
index dcd67cf56f..0000000000
--- a/resource/getrlimit64.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1998 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-
-/* Put the soft and hard limits for RESOURCE in *RLIMITS.
-   Returns 0 if successful, -1 if not (and sets errno).  */
-int
-getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits)
-{
-  struct rlimit rlimits32;
-
-  if (__getrlimit (resource, &rlimits32) < 0)
-    return -1;
-
-  if (rlimits32.rlim_cur == RLIM_INFINITY)
-    rlimits->rlim_cur = RLIM64_INFINITY;
-  else
-    rlimits->rlim_cur = rlimits32.rlim_cur;
-  if (rlimits32.rlim_max == RLIM_INFINITY)
-    rlimits->rlim_max = RLIM64_INFINITY;
-  else
-    rlimits->rlim_max = rlimits32.rlim_max;
-
-  return 0;
-}
diff --git a/resource/getrusage.c b/resource/getrusage.c
deleted file mode 100644
index c679855ace..0000000000
--- a/resource/getrusage.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 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.  */
-
-#include <sys/resource.h>
-#include <errno.h>
-
-/* Return resource usage information on process indicated by WHO
-   and put it in *USAGE.  Returns 0 for success, -1 for failure.  */
-int
-__getrusage (who, usage)
-     enum __rusage_who who;
-     struct rusage *usage;
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-stub_warning (getrusage)
-
-weak_alias (__getrusage, getrusage)
-#include <stub-tag.h>
diff --git a/resource/nice.c b/resource/nice.c
deleted file mode 100644
index 8561931af7..0000000000
--- a/resource/nice.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1992, 1995, 1996, 1997 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.  */
-
-#include <errno.h>
-#include <unistd.h>
-
-/* Increment the scheduling priority of the calling process by INCR.
-   The superuser may use a negative INCR to decrement the priority.  */
-int
-nice (incr)
-     int incr;
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-stub_warning (nice)
-#include <stub-tag.h>
diff --git a/resource/setpriority.c b/resource/setpriority.c
deleted file mode 100644
index b2e6f8a059..0000000000
--- a/resource/setpriority.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1991,95,96,97,2000,02 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-
-/* Set the priority of all processes specified by WHICH and WHO
-   to PRIO.  Returns 0 on success, -1 on errors.  */
-int
-setpriority (which, who, prio)
-     enum __priority_which which;
-     id_t who;
-     int prio;
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-libc_hidden_def (setpriority)
-
-stub_warning (setpriority)
-#include <stub-tag.h>
diff --git a/resource/setrlimit.c b/resource/setrlimit.c
deleted file mode 100644
index c8f6e03ad3..0000000000
--- a/resource/setrlimit.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1998 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-
-/* Set the soft and hard limits for RESOURCE to *RLIMITS.
-   Only the super-user can increase hard limits.
-   Return 0 if successful, -1 if not (and sets errno).  */
-int
-setrlimit (resource, rlimits)
-     enum __rlimit_resource resource;
-     const struct rlimit *rlimits;
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-
-
-stub_warning (setrlimit)
-#include <stub-tag.h>
diff --git a/resource/setrlimit64.c b/resource/setrlimit64.c
deleted file mode 100644
index d4b4bfce0a..0000000000
--- a/resource/setrlimit64.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1991,1995,1996,1997,1998,2000 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-
-/* Set the soft and hard limits for RESOURCE to *RLIMITS.
-   Only the super-user can increase hard limits.
-   Return 0 if successful, -1 if not (and sets errno).  */
-int
-setrlimit64 (resource, rlimits)
-     enum __rlimit_resource resource;
-     const struct rlimit64 *rlimits;
-{
-  struct rlimit rlimits32;
-
-  if (rlimits->rlim_cur >= RLIM_INFINITY)
-    rlimits32.rlim_cur = RLIM_INFINITY;
-  else
-    rlimits32.rlim_cur = rlimits->rlim_cur;
-  if (rlimits->rlim_max >= RLIM_INFINITY)
-    rlimits32.rlim_max = RLIM_INFINITY;
-  else
-    rlimits32.rlim_max = rlimits->rlim_max;
-
-  return __setrlimit (resource, &rlimits32);
-}
diff --git a/resource/tst-getrlimit.c b/resource/tst-getrlimit.c
deleted file mode 100644
index 67480340f0..0000000000
--- a/resource/tst-getrlimit.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <sys/resource.h>
-
-
-static struct
-{
-  const char *name;
-  int resource;
-  bool required;
-} tests[] =
-  {
-    /* The following 7 limits are part of POSIX and must exist.  */
-    { "RLIMIT_CORE", RLIMIT_CORE, true },
-    { "RLIMIT_CPU", RLIMIT_CPU, true },
-    { "RLIMIT_DATA", RLIMIT_DATA, true },
-    { "RLIMIT_FSIZE", RLIMIT_FSIZE, true },
-    { "RLIMIT_NOFILE", RLIMIT_NOFILE, true },
-    { "RLIMIT_STACK", RLIMIT_STACK, true },
-    { "RLIMIT_AS", RLIMIT_AS, true },
-    /* The following are traditional Unix limits which are also
-       expected (by us).  */
-    { "RLIMIT_RSS", RLIMIT_RSS, true },
-    { "RLIMIT_NPROC", RLIMIT_NPROC, true },
-    /* The following are extensions.  */
-#ifdef RLIMIT_MEMLOCK
-    { "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, false },
-#endif
-#ifdef RLIMIT_LOCKS
-    { "RLIMIT_LOCKS", RLIMIT_LOCKS, false },
-#endif
-#ifdef RLIMIT_SIGPENDING
-    { "RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, false },
-#endif
-#ifdef RLIMIT_MSGQUEUE
-    { "RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, false },
-#endif
-#ifdef RLIMIT_NICE
-    { "RLIMIT_NICE", RLIMIT_NICE, false },
-#endif
-#ifdef RLIMIT_RTPRIO
-    { "RLIMIT_RTPRIO", RLIMIT_RTPRIO, false },
-#endif
-  };
-#define ntests (sizeof (tests) / sizeof (tests[0]))
-
-
-static int
-do_test (void)
-{
-  int status = 0;
-
-  for (int i = 0; i < ntests; ++i)
-    {
-      bool this_ok = true;
-
-      struct rlimit r;
-      int res = getrlimit (tests[i].resource, &r);
-      if (res == -1)
-	{
-	  if (errno == EINVAL)
-	    {
-	      if (tests[i].required)
-		{
-		  printf ("limit %s expectedly not available for getrlimit\n",
-			  tests[i].name);
-		  status = 1;
-		  this_ok = false;
-		}
-	    }
-	  else
-	    {
-	      printf ("getrlimit for %s returned unexpected error: %m\n",
-		      tests[i].name);
-	      status = 1;
-	      this_ok = false;
-	    }
-	}
-
-      struct rlimit64 r64;
-      res = getrlimit64 (tests[i].resource, &r64);
-      if (res == -1)
-	{
-	  if (errno == EINVAL)
-	    {
-	      if (tests[i].required)
-		{
-		  printf ("limit %s expectedly not available for getrlimit64"
-			  "\n", tests[i].name);
-		  status = 1;
-		  this_ok = false;
-		}
-	    }
-	  else
-	    {
-	      printf ("getrlimit64 for %s returned unexpected error: %m\n",
-		      tests[i].name);
-	      status = 1;
-	      this_ok = false;
-	    }
-	}
-
-      if (this_ok)
-	printf ("limit %s OK\n", tests[i].name);
-    }
-
-  return status;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/resource/ulimit.c b/resource/ulimit.c
deleted file mode 100644
index cc74054456..0000000000
--- a/resource/ulimit.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1991, 1996, 1997 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.  */
-
-#include <errno.h>
-#include <sys/resource.h>
-
-/* Function depends on CMD:
-   1 = Return the limit on the size of a file, in units of 512 bytes.
-   2 = Set the limit on the size of a file to NEWLIMIT.  Only the
-       super-user can increase the limit.
-   3 = Return the maximum possible address of the data segment.
-   4 = Return the maximum number of files that the calling process
-       can open.
-   Returns -1 on errors.  */
-long int
-__ulimit (int cmd, ...)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-weak_alias (__ulimit, ulimit)
-
-stub_warning (ulimit)
-#include <stub-tag.h>
diff --git a/resource/vlimit.c b/resource/vlimit.c
deleted file mode 100644
index 03d89f4ad5..0000000000
--- a/resource/vlimit.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1991, 1996, 1997, 1998, 2000 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.  */
-
-/* This is generic in the sense that it will work with the BSD, SYSV,
-   or stub versions of getrlimit.  Separate versions could be written
-   for efficiency, but it's probably not worth it.  */
-
-#include <sys/vlimit.h>
-#include <sys/resource.h>
-#include <errno.h>
-
-/* Set the soft limit for RESOURCE to be VALUE.
-   Returns 0 for success, -1 for failure.  */
-int
-vlimit (resource, value)
-     enum __vlimit_resource resource;
-     int value;
-{
-  if (resource >= LIM_CPU && resource <= LIM_MAXRSS)
-    {
-      /* The rlimit codes happen to each be one less
-	 than the corresponding vlimit codes.  */
-      enum __rlimit_resource rlimit_res =
-	(enum __rlimit_resource) ((int) resource - 1);
-      struct rlimit lims;
-
-      if (__getrlimit (rlimit_res, &lims) < 0)
-	return -1;
-
-      lims.rlim_cur = value;
-      return __setrlimit (rlimit_res, &lims);
-    }
-
-  __set_errno (EINVAL);
-  return -1;
-}
diff --git a/resource/vtimes.c b/resource/vtimes.c
deleted file mode 100644
index 37dc01b2fb..0000000000
--- a/resource/vtimes.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1991, 1997, 1998 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.  */
-
-#include <stddef.h>
-#include <sys/vtimes.h>
-#include <sys/resource.h>
-
-/* Return the number of 1/VTIMES_UNITS_PER_SECOND-second
-   units in the `struct timeval' TV.  */
-#define TIMEVAL_TO_VTIMES(tv) \
-  ((tv.tv_sec * VTIMES_UNITS_PER_SECOND) + \
-   (tv.tv_usec * VTIMES_UNITS_PER_SECOND / 1000000))
-
-/* If VT is not NULL, write statistics for WHO into *VT.
-   Return 0 for success, -1 for failure.  */
-static int
-vtimes_one (struct vtimes *vt, enum __rusage_who who)
-{
-  if (vt != NULL)
-    {
-      struct rusage usage;
-
-      if (__getrusage (who, &usage) < 0)
-	return -1;
-
-      vt->vm_utime = TIMEVAL_TO_VTIMES (usage.ru_utime);
-      vt->vm_stime = TIMEVAL_TO_VTIMES (usage.ru_stime);
-      vt->vm_idsrss = usage.ru_idrss + usage.ru_isrss;
-      vt->vm_majflt = usage.ru_majflt;
-      vt->vm_minflt = usage.ru_minflt;
-      vt->vm_nswap = usage.ru_nswap;
-      vt->vm_inblk = usage.ru_inblock;
-      vt->vm_oublk = usage.ru_oublock;
-    }
-  return 0;
-}
-
-/* If CURRENT is not NULL, write statistics for the current process into
-   *CURRENT.  If CHILD is not NULL, write statistics for all terminated child
-   processes into *CHILD.  Returns 0 for success, -1 for failure.  */
-int
-vtimes (current, child)
-     struct vtimes *current;
-     struct vtimes *child;
-{
-  if (vtimes_one (current, RUSAGE_SELF) < 0
-      || vtimes_one (child, RUSAGE_CHILDREN) < 0)
-    return -1;
-  return 0;
-}