brk man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

brk(2)									brk(2)

       brk, sbrk - Change space allocation

       #include <unistd.h>

       int brk(
	       void *addr ); void *sbrk(
	       intptr_t incr );

       The  following  function prototypes do not conform to current standards
       and are supported only for backward compatibility:

       int brk(
	       char *addr ); void *sbrk(
	       ssize_t incr ); void *sbrk(
	       long incr );

       Standard C Library (libc)

       Interfaces documented on this reference page conform to industry	 stan‐
       dards as follows:

       brk(), sbrk(): XSH4.2

       Refer  to  the  standards(5)  reference page for more information about
       industry standards and associated tags.

       Points to the effective address of the maximum available data.	Speci‐
       fies the number of bytes to be added to the current break. The value of
       incr may be positive or negative.

       The brk() function sets the lowest data segment location	 not  used  by
       the program (called the break) to addr.

       In the alternate function sbrk(), incr more bytes are added to the pro‐
       gram's data space, and a pointer to  the	 start	of  the	 new  area  is

       When  a	program begins execution with the execve() function, the break
       is set at the highest location defined by the program and data  storage
       areas.  Therefore, only programs with growing data areas should need to
       use sbrk().

       The current value of the program break is reliably returned by the call
       sbrk(0).	 The getrlimit() function may be used to determine the maximum
       permissible size of the data segment. It is not	possible  to  set  the
       break  beyond  the  value returned from a call to the getrlimit() func‐

       If the data segment was locked at the time of the brk() function, addi‐
       tional  memory  allocated  to  the  data	 segment by brk() will also be

       Programmers should be aware that the concept of a current  break	 is  a
       historical remnant of earlier UNIX systems. Many existing UNIX programs
       were designed using this memory model, and these programs typically use
       the  brk()  or sbrk() functions to increase or decrease their available

       The use of the mmap() function is now preferred because it can be  used
       portably	 with all other memory allocation functions and with any func‐
       tion that uses other allocation functions.

       Upon successful completion, the brk() function returns  a  value	 of  0
       (zero),	and  the  sbrk()  function  returns  the prior break value. If
       either call fails, a value of -1 is returned and errno is set to	 indi‐
       cate the error.

       If  the	brk()  or sbrk() function fails, no additional memory is allo‐
       cated and  errno	 is  set  to  one  of  the  following  values:	[Tru64
       UNIX]  Indicates	 an attempt to set a break value to less than the ini‐
       tial value at program startup.  The  requested  change  would  allocate
       more  space  than  allowed  by the limit as returned by the getrlimit()

       Functions: exec(2), getrlimit(2), mmap(2), plock(2), malloc(3)

       Standards: standards(5)


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net