sbrk

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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
       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)



Linux 2.4			  2003-11-01			       BRK(2)