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);
DESCRIPTION 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() isnt 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.126.96.36.199 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 ALSO execve(2), getrlimit(2), malloc(3)
Linux 2.4 2003-11-01 BRK(2)