BRK
Section: Linux Programmer's Manual (2)
Updated: 2003-11-01
Index
Return to Main Contents
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
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
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).
NOTES
Various systems use various types for the parameter of
sbrk().
Common are int, ssize_t, ptrdiff_t, intptr_t.
XPGv6 obsoletes this function.
SEE ALSO
execve(2),
getrlimit(2),
malloc(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-
www.fiveanddime.net