[BACK]Return to ulimit.3 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / gen

Annotation of src/lib/libc/gen/ulimit.3, Revision 1.9

1.9     ! jruoho      1: .\"    $NetBSD: ulimit.3,v 1.8 2008/04/30 13:10:50 martin Exp $
1.1       kleink      2: .\"
                      3: .\" Copyright (c) 1999 The NetBSD Foundation, Inc.
                      4: .\" All rights reserved.
                      5: .\"
                      6: .\" This code is derived from software contributed to The NetBSD Foundation
                      7: .\" by Klaus Klein.
                      8: .\"
                      9: .\" Redistribution and use in source and binary forms, with or without
                     10: .\" modification, are permitted provided that the following conditions
                     11: .\" are met:
                     12: .\" 1. Redistributions of source code must retain the above copyright
                     13: .\"    notice, this list of conditions and the following disclaimer.
                     14: .\" 2. Redistributions in binary form must reproduce the above copyright
                     15: .\"    notice, this list of conditions and the following disclaimer in the
                     16: .\"    documentation and/or other materials provided with the distribution.
                     17: .\"
                     18: .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     19: .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     20: .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     21: .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     22: .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     23: .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     24: .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     25: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     26: .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     27: .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     28: .\" POSSIBILITY OF SUCH DAMAGE.
                     29: .\"
1.9     ! jruoho     30: .Dd April 30, 2010
1.1       kleink     31: .Dt ULIMIT 3
                     32: .Os
                     33: .Sh NAME
                     34: .Nm ulimit
                     35: .Nd get and set process limits
                     36: .Sh LIBRARY
                     37: .Lb libc
                     38: .Sh SYNOPSIS
1.7       wiz        39: .In ulimit.h
1.1       kleink     40: .Ft long int
                     41: .Fn ulimit "int cmd" ...
                     42: .Sh DESCRIPTION
                     43: The
                     44: .Fn ulimit
                     45: function provides a method to query or alter resource limits of the calling
1.5       wiz        46: process.
                     47: The method to be performed is specified by the
1.1       kleink     48: .Fa cmd
                     49: argument; possible values are:
                     50: .Bl -tag -width UL_GETFSIZEXX
                     51: .It Li UL_GETFSIZE
                     52: Return the soft file size limit of the process.
                     53: The value returned is in units of 512-byte blocks.
                     54: If the result cannot be represented in an object of type
                     55: .Fa long int ,
                     56: the result is unspecified.
                     57: .It Li UL_SETFSIZE
                     58: Set the hard and soft file size limits of the process to the value of the
                     59: second argument passed, which is in units of 512-byte blocks, and which is
                     60: expected to be of type
                     61: .Fa long int .
                     62: The new file size limit of the process is returned.
                     63: Any process may decrease the limit, but raising it is only permitted if
                     64: the caller is the super-user.
                     65: .El
                     66: .Pp
                     67: If successful, the
                     68: .Fn ulimit
                     69: function will not change the setting of
1.2       kleink     70: .Va errno .
1.3       wiz        71: .Sh RETURN VALUES
1.1       kleink     72: If successful, the
                     73: .Fn ulimit
                     74: function returns the value of the requested limit.
1.6       wiz        75: Otherwise, it returns \-1, sets
1.1       kleink     76: .Va errno
                     77: to indicate an error, and the limit is not changed.
                     78: Therefore, to detect an error condition applications should set
1.2       kleink     79: .Va errno
1.1       kleink     80: to 0, call
                     81: .Fn ulimit ,
1.6       wiz        82: and check if \-1 is returned and
1.2       kleink     83: .Va errno
                     84: is non-zero.
1.1       kleink     85: .Sh ERRORS
                     86: The
                     87: .Fn ulimit
                     88: function will fail if:
                     89: .Bl -tag -width Er
                     90: .It Bq Er EINVAL
                     91: The
                     92: .Fa cmd
                     93: argument is not valid.
                     94: .It Bq Er EPERM
                     95: It was attempted to increase a limit, and the caller is not the super-user.
                     96: .El
                     97: .Sh SEE ALSO
                     98: .Xr getrlimit 2 ,
                     99: .Xr setrlimit 2
                    100: .Sh STANDARDS
                    101: The
                    102: .Fn ulimit
                    103: function conforms to
1.9     ! jruoho    104: .St -xsh5
        !           105: and
        !           106: .St -p1003.1-2001 .
        !           107: It was marked as obsolete in the
        !           108: .St -p1003.1-2008
        !           109: revision, which recommended the use of
        !           110: .Xr getrlimit 2
        !           111: and
        !           112: .Xr setrlimit 2
        !           113: instead, noting that because
        !           114: .Fn ulimit
        !           115: uses the type
        !           116: .Vt long
        !           117: rather than
        !           118: .Vt rlim_t ,
        !           119: it may not be sufficient for file sizes on many current systems.

CVSweb <webmaster@jp.NetBSD.org>