Unix for Beginners
Unix Shell Programming
Unix Useful References
Unix Useful Resources
Copyright © 2014 by tutorialspoint
brk() - Unix, Linux System Call
brk, sbrk - change data segment size
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
sbrk() increments the programs data space by
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.
brk() returns zero, and
sbrk() returns a pointer to the start of the new area. On error, -1 is returned,
errno is set to
4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001.
sbrk() are not defined in the C Standard and are deliberately excluded from the
POSIX.1 standard (see paragraphs B.18.104.22.168 and B.8.3.3).
Various systems use various types for the parameter of sbrk(). Common are int, ssize_t, ptrdiff_t, intptr_t.