Originální popis anglicky:
brk, sbrk - change data segment size
Návod, kniha: Linux Programmer's Manual
#include <unistd.h>
int brk(void *end_data_segment);
void *sbrk(intptr_t increment);
brk sets the end of the data segment to the value specified by
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)).
sbrk increments the program's data space by
increment bytes.
sbrk isn't a system call, it is just a C library wrapper. Calling
sbrk with an increment of 0 can be used to find the current location of
the program break.
On success,
brk returns zero, and
sbrk returns a pointer to the
start of the new area. On error, -1 is returned, and
errno is set to
ENOMEM.
BSD 4.3
brk and
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).
Various systems use various types for the parameter of
sbrk(). Common are
int,
ssize_t,
ptrdiff_t,
intptr_t. XPGv6 obsoletes
this function.
execve(2),
getrlimit(2),
malloc(3)