Scroll to navigation

BRK(2) Podręcznik programisty Linuksa BRK(2)

NAZWA

brk, sbrk - zmiana wielkości segmentu danych

SKŁADNIA

#include <unistd.h>

int brk(void *end_data_segment);

void *sbrk(ptrdiff_t increment);

OPIS

brk ustawia koniec segmentu danych na wartość podaną jako argument end_data_segment, o ile wartość ta jest sensowna, system posiada dostateczną ilość pamięci oraz nie zostanie przekraczona maksymalna wielkość segmentu danych dla procesu (zobacz setrlimit(2)).

sbrk zwiększa przestrzeń danych programu o wartość increment bajtów. sbrk nie jest wywołaniem systemowym, jest tylko zamiennikiem z biblioteki C. Wywołanie sbrk z increment równym 0 może służyć do znalezienia aktualnej lokalizacji punktu zakończenia programu.

WARTOŚĆ ZWRACANA

Po pomyślnym zakończeniu, brk zwraca zero, a sbrk zwraca wskaźnik do początku nowego obszaru. W wypadku błędu zwracane jest -1 a errno nadawana jest wartość ENOMEM.

ZGODNE Z

BSD 4.3

brk i sbrk nie są zdefiniowane w standardzie C i są też wyłączone ze standardu POSIX.1 (zobacz paragrafy B.1.1.1.3 i B.8.3.3).

ZOBACZ TAKŻE

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

1993-07-21 Linux 0.99.11