sbrk(2) DG/UX 4.30 sbrk(2)
NAME
sbrk - change data segment space allocation
SYNOPSIS
char * sbrk (increment)
int increment;
PARAMETERS
increment The signed increment by which to change the
data area size.
DESCRIPTION
The sbrk system call dynamically changes the amount of space
allocated for the calling process's data segment; see
exec(2). The change is made by adding increment to the
process's current break value and allocating or deallocating
the appropriate amount of space. The break value is the
address of the first byte beyond the end of the data
segment. The amount of allocated space increases as the
break value increases. If increment is positive, space is
allocated. The newly allocated space is set to zero; that
is, if these addresses are read before they are written, the
contents will be zero. If increment is negative, space is
deallocated from the data segment. The contents of the
addresses from the new break value to the current break
value become undefined.
There is a maximum possible break value for a process; this
value may be determined with the ulimit(2) call. An
implementation or machine architecture-dependent minimum
value exists; this address is one byte greater than the
ending address of a data area which contains one page, as
defined by the implementation.
The sbrk call will fail without making any change in the
allocated space if an error occurs.
ACCESS CONTROL
No access check is made.
RETURN VALUE
An address The sbrk operation was successful; the value
returned is the break value before the call
was made.
-1 An error occurred. Errno is set to indicate
the error.
EXCEPTIONS
Errno may be set to one of the following error codes:
ENOMEM The change would allocate more space than is
Licensed material--property of copyright holder(s) Page 1
sbrk(2) DG/UX 4.30 sbrk(2)
allowed by a system-imposed maximum (see
ulimit(2)).
ENOMEM The change would allocate more space than is
allowed by the current data resource limit
(see getrlimit(2)).
ENOMEM The change would make the break value greater
than or equal to the start address of an
attached shared memory segment (see
shmat(2)).
EFAULT The change would make the break value less
than the system-imposed minimum.
EAGAIN The change would allocate more space than the
available physical memory and swap space.
EAGAIN The system-imposed limit on space locked into
physical memory would be exceeded; the
MCL_FUTURE memory locking option is in effect
for the calling process (see memcntl(2)).
SEE ALSO
exec(2), ulimit(2), getrlimit(2), memcntl(2).
Licensed material--property of copyright holder(s) Page 2