BSD 4_4 release
[unix-history] / usr / src / lib / libc / sys / getrlimit.2
index e924dc4..9aa3c8e 100644 (file)
@@ -1,11 +1,37 @@
-.\" Copyright (c) 1980, 1991 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1980, 1991, 1993
+.\"    The Regents of the University of California.  All rights reserved.
 .\"
 .\"
-.\" %sccs.include.redist.man%
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
 .\"
 .\"
-.\"     @(#)getrlimit.2        6.7 (Berkeley) %G%
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
 .\"
 .\"
-.Dd 
+.\"     @(#)getrlimit.2        8.1 (Berkeley) 6/4/93
+.\"
+.Dd June 4, 1993
 .Dt GETRLIMIT 2
 .Os BSD 4
 .Sh NAME
 .Dt GETRLIMIT 2
 .Os BSD 4
 .Sh NAME
@@ -13,6 +39,7 @@
 .Nm setrlimit
 .Nd control maximum system resource consumption
 .Sh SYNOPSIS
 .Nm setrlimit
 .Nd control maximum system resource consumption
 .Sh SYNOPSIS
+.Fd #include <sys/types.h>
 .Fd #include <sys/time.h>
 .Fd #include <sys/resource.h>
 .Ft int
 .Fd #include <sys/time.h>
 .Fd #include <sys/resource.h>
 .Ft int
@@ -31,30 +58,39 @@ The
 .Fa resource
 parameter is one of the following:
 .Bl -tag -width RLIMIT_FSIZEAA
 .Fa resource
 parameter is one of the following:
 .Bl -tag -width RLIMIT_FSIZEAA
-.It Dv RLIMIT_CPU
-the maximum amount of cpu time (in seconds) to be used by
+.It Li RLIMIT_CORE
+The largest size (in bytes)
+.Xr core
+file that may be created.
+.It Li RLIMIT_CPU
+The maximum amount of cpu time (in seconds) to be used by
 each process.
 each process.
-.It Dv RLIMIT_FSIZE
-the largest size, in bytes, of any single file that may be created.
-.It Dv RLIMIT_DATA
-the maximum size, in bytes, of the data segment for a process;
+.It Li RLIMIT_DATA
+The maximum size (in bytes) of the data segment for a process;
 this defines how far a program may extend its break with the
 .Xr sbrk 2
 system call.
 this defines how far a program may extend its break with the
 .Xr sbrk 2
 system call.
-.It Dv RLIMIT_STACK
-the maximum size, in bytes, of the stack segment for a process;
+.It Li RLIMIT_FSIZE
+The largest size (in bytes) file that may be created.
+.It Li RLIMIT_MEMLOCK
+The maximum size (in bytes) which a process may lock into memory
+using the
+.Xr mlock 2
+function.
+.It Li RLIMIT_NOFILE
+The maximum number of open files for this process.
+.It Li RLIMIT_NPROC
+The maximum number of simultaneous processes for this user id.
+.It Li RLIMIT_RSS
+The maximum size (in bytes) to which a process's resident set size may
+grow.
+This imposes a limit on the amount of physical memory to be given to
+a process; if memory is tight, the system will prefer to take memory
+from processes that are exceeding their declared resident set size.
+.It Li RLIMIT_STACK
+The maximum size (in bytes) of the stack segment for a process;
 this defines how far a program's stack segment may be extended.
 Stack extension is performed automatically by the system.
 this defines how far a program's stack segment may be extended.
 Stack extension is performed automatically by the system.
-.It Dv RLIMIT_CORE
-the largest size, in bytes, of a 
-.Xr core
-file that may be created.
-.It Dv RLIMIT_RSS
-the maximum size, in bytes, to which a process's resident set size may
-grow.  This imposes a limit on the amount of physical memory
-to be given to a process; if memory is tight, the system will
-prefer to take memory from processes that are exceeding their
-declared resident set size.
 .El
 .Pp
 A resource limit is specified as a soft limit and a hard limit.  When a
 .El
 .Pp
 A resource limit is specified as a soft limit and a hard limit.  When a
@@ -66,8 +102,8 @@ its resource limit).  The
 structure is used to specify the hard and soft limits on a resource,
 .Bd -literal -offset indent
 struct rlimit {
 structure is used to specify the hard and soft limits on a resource,
 .Bd -literal -offset indent
 struct rlimit {
-       int     rlim_cur;       /* current (soft) limit */
-       int     rlim_max;       /* hard limit */
+       quad_t  rlim_cur;       /* current (soft) limit */
+       quad_t  rlim_max;       /* hard limit */
 };
 .Ed
 .Pp
 };
 .Ed
 .Pp
@@ -82,8 +118,7 @@ or (irreversibly) lower
 An
 .Dq infinite
 value for a limit is defined as
 An
 .Dq infinite
 value for a limit is defined as
-.Dv RLIM_INFINITY
-(0x7\&f\&f\&f\&f\&f\&f\&f).
+.Dv RLIM_INFINITY .
 .Pp
 Because this information is stored in the per-process information,
 this system call must be executed directly by the shell if it
 .Pp
 Because this information is stored in the per-process information,
 this system call must be executed directly by the shell if it
@@ -137,8 +172,9 @@ raised the maximum limit value, and the caller is not the super-user.
 .Sh SEE ALSO
 .Xr csh 1 ,
 .Xr quota 2 ,
 .Sh SEE ALSO
 .Xr csh 1 ,
 .Xr quota 2 ,
+.Xr sigaltstack 2 ,
 .Xr sigvec 2 ,
 .Xr sigvec 2 ,
-.Xr sigstack 2
+.Xr sysctl 3
 .Sh BUGS
 There should be 
 .Ic limit
 .Sh BUGS
 There should be 
 .Ic limit