ULIMIT(S) XENIX System V ULIMIT(S)
Name
ulimit - Gets and sets user limits.
Syntax
#include <sys/ulimit.h>
long ulimit (cmd, newlimit)
int cmd;
long newlimit;
Description
This function provides for control over process limits. The
cmd values available are:
UL_GFILLIM (1)
Gets the process' file size limit. The limit is in
units of 512-byte blocks and is inherited by child
processes. Files of any size can be read.
UL_SFILLIM (2)
Sets the process' file size limit to the value of
newlimit. Any process may decrease this limit, but
only a process with an effective user ID of super-user
may increase the limit. If a process with an effective
user ID other than super-user attempts to increase its
file size limit, ulimit will fail and the limit will be
unchanged. [EPERM]
UL_GMEMLIM
Gets the maximum possible break value. If the process
is a large model 80286 program, then the largest
possible data size (in bytes) is returned. See
sbrk(S).
UL_GTXTOFF
Gets the number of bytes between the beginning of user
text and the text address given by newlimit. In this
case, newlimit must have type
int (*newlimit)();
Return Value
Upon successful completion, a nonnegative value is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error. EINVAL indicates an invalid cmd value.
See Also
login(M), machine(HW), chsize(S), sbrk(S), write(S).
Notes
The file limit is only enforced on writes to regular files.
Tapes, disks, and other devices of any size can be written.
Page 1 (printed 8/7/87)
ULIMIT(S) XENIX System V ULIMIT(S)
The file /etc/default/login contains the value of ULIMIT set
at login time by the login program. The super-user can set
the maximum (increase or decrease) file size using this
variable. The value is in 512 byte blocks. The default
value is 4096 blocks (2 megabytes). Use even values for
filesystems with 1024 byte blocks (see machine(HW)).
Page 2 (printed 8/7/87)