BRK(2)

BEZEICHNUNG
brk, sbrk - ändere Datensegmentgröße

ÜBERSICHT
#include <unistd.h>

int brk(void *end_data_segment);
void *sbrk(ptrdiff_tincrement);

BESCHREIBUNG
brk setzt das Ende des Datensegments auf den Wert, der durch end_data_segment angegeben ist. end_datasegment muß größer als das Ende des Textsegmentes sein und muß 16kB vor dem Ende des Stacks sein. sbrk erhöht den Datenbereich des Programms um increment byte. sbrk ist kein Systemaufruf, sondern nur ein C-Library wrapper.

RÜCKGABEWERT
BEi Erfolg gibt brk Null zurück und sbrk einen Pointer auf den Start des neuen Bereiches. Im Fehlerfall wird -1 zurückgegeben und errno auf ENOMEM gesetzt.

KONFORM ZU
BSD 4.3 brk und sbrk sind nicht im C Standard definiert und sind absichtlich ausgeschlossen vom POSIX.1 Standard (siehe Paragraphen B.1.1.1.3 und B.8.3.3).

SIEHE AUCH
execve(2), getrlimit(2), malloc(3), end(3).