diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-07-19 23:21:43 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-07-19 23:21:43 +0000 |
commit | c119e0ab7ad26043906eae35460c15103c7bcf70 (patch) | |
tree | f02b5e4dbab477586714e964c190f8246328261d /newlib/libc/sys/linux/getrlimit64.c | |
parent | 9b022d6db80564cfc10c7f18e5d05cedb32f6375 (diff) | |
download | cygnal-c119e0ab7ad26043906eae35460c15103c7bcf70.tar.gz cygnal-c119e0ab7ad26043906eae35460c15103c7bcf70.tar.bz2 cygnal-c119e0ab7ad26043906eae35460c15103c7bcf70.zip |
2002-07-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h[__i386__][__linux__]: Define
_LARGE64FILE_SOURCE to 1.
* libc/sys/linux/Makefile.am: Add getrlimit64.c and setrlimit64.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/resource.c: Add __getrlimit and __setrlimit aliases.
* libc/sys/linux/sys/linux_time.h: Protect struct timeval definition.
* libc/sys/linux/sys/resource.h: Include <bits/resource.h> instead
of <linux/resource.h>.
* libc/sys/linux/getrlimit64.c: New file.
* libc/sys/linux/setrlimit64.c: Ditto.
Diffstat (limited to 'newlib/libc/sys/linux/getrlimit64.c')
-rw-r--r-- | newlib/libc/sys/linux/getrlimit64.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/newlib/libc/sys/linux/getrlimit64.c b/newlib/libc/sys/linux/getrlimit64.c new file mode 100644 index 000000000..dcd67cf56 --- /dev/null +++ b/newlib/libc/sys/linux/getrlimit64.c @@ -0,0 +1,43 @@ +/* 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; +} |