glenda.party
term% ls -F
term% pwd
$home/manuals/unix_v7/2/brk
term% cat index.txt
BRK(2)                        System Calls Manual                       BRK(2)



NAME
       brk, sbrk, break - change core allocation

SYNOPSIS
       char *brk(addr)

       char *sbrk(incr)

DESCRIPTION
       Brk  sets the system's idea of the lowest location not used by the pro‐
       gram (called the break) to addr (rounded up to the next multiple of  64
       bytes  on  the PDP11, 256 bytes on the Interdata 8/32, 512 bytes on the
       VAX-11/780).  Locations not less than addr and below the stack  pointer
       are  not in the address space and will thus cause a memory violation if
       accessed.

       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 re‐
       turned.

       When a program begins execution via exec the break is set at the  high‐
       est  location  defined by the program and data storage areas.  Ordinar‐
       ily, therefore, only programs with  growing  data  areas  need  to  use
       break.

SEE ALSO
       exec(2), malloc(3), end(3)

DIAGNOSTICS
       Zero  is returned if the break could be set; -1 if the program requests
       more memory than the system limit or if too many segmentation registers
       would be required to implement the break.

BUGS
       Setting the break in the range 0177701 to 0177777 (on the PDP11) is the
       same as setting it to zero.

ASSEMBLER
       (break = 17.)
       sys break; addr

       Break performs the function of brk.  The name of  the  routine  differs
       from that in C for historical reasons.



                                                                        BRK(2)