brk
NAME
brk, sbrk - change data segment size
SYNOPSIS
#include <unistd.h>
I int brk(void * end_data_segment );
I void *sbrk(intptr_t increment );
DESCRIPTION
R brk ()
sets the end of the data segment to the value specified by
R end_data_segment ,
when that value is reasonable, the system does have enough memory
and the process does not exceed its max data size (see
setrlimit(2)).
R sbrk ()
increments the program's data space by
increment
bytes.
R sbrk ()
isn't a system call, it is just a C library wrapper.
Calling
R sbrk ()
with an increment of 0 can be used to find the current
location of the program break.
RETURN VALUE
On success,
R brk ()
returns zero.
On error, -1 is returned, and
errno
is set to
R ENOMEM .
(But see Linux Notes below.)
On success,
R sbrk ()
returns a pointer to the start of the new area.
On error, -1 is returned, and
errno
is set to
R ENOMEM .
CONFORMING TO
4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001.
R brk ()
and
R sbrk ()
are not defined in the C Standard and are deliberately excluded from the
POSIX.1 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
NOTES
Various systems use various types for the parameter of
R sbrk ().
Common are int, ssize_t, ptrdiff_t, intptr_t.
