brk, sbrk - change data segment size


SYNOPSIS

       #include <unistd.h>

       int brk(void *end_data_segment);

       void *sbrk(ptrdiff_t increment);


DESCRIPTION

       brk  sets  the end of the data segment to the value speci­
       fied 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 para­
       graphs B.1.1.1.3 and B.8.3.3).


SEE ALSO

       execve(2), getrlimit(2), malloc(3)


Man(1) output converted with man2html