BRK(2) Linux Programmer's Manual BRK(2)NAME
brk, sbrk - change data segment size
SYNOPSIS
#include <unistd.h>
int brk(void *end_data_segment);
void *sbrk(intptr_t increment);
DESCRIPTIONbrk() 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.
RETURN VALUE
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.
CONFORMING TO
4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001.
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).
NOTES
Various systems use various types for the parameter of sbrk(). Common
are int, ssize_t, ptrdiff_t, intptr_t.
SEE ALSOexecve(2), getrlimit(2), malloc(3)Linux 2.4 2003-11-01 BRK(2)