NAME
brk, sbrk - change data segment space allocation
SYNOPSIS
int brk(endds)
char *endds;
char *sbrk(incr)
int incr;
DESCRIPTION
brk
and
sbrk
are used to change dynamically the amount of space allocated for the
calling process's data segment. The change is made by resetting the
process's break value. The break value is the address of the first
location beyond the end of the data segment. The amound of allocated
space increases as the break value increases.
brk
sets the break value to
endds
and changes the allocated space accordingly.
sbrk
adds
incr
bytes to the break value and changes the allocated space accordingly.
incr
can be negative, in which case the amount of allocated space is
decreased.
brk
and
sbrk
will fail without making any change in the allocated space if such a
change would result in more space being allocated than is available
[ENOMEM].
RETURN VALUE
Upon successful completion,
brk
returns a value of 0 and
sbrk
returns the old break value. Otherwise, a value of -1 is returned and
errno
is set to indicate the error.