brk, sbrk - change data segment size
#include <unistd.h>
int brk(void *end_data_segment);
void *sbrk(ptrdiff_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).
execve(2), getrlimit(2), malloc(3)
Linux 0.99.11 1993-07-21 BRK(2)
[ Back ] |