brk
устанавливает конец сегмента данных в значение, указанное в
аргументе
end_data_segment,
когда это значение является приемлимым, система симулирует
нехватку памяти и процесс не достигает своего максимально
возможного размера сегмента данных (см.
setrlimit(2)).
sbrk
увеличивает пространство данных программы на
increment
байт.
sbrk
не является системным вызовом, он просто является
обёрткой (wrapper), которую использует библиотека C.
Вызов
sbrk
с инкрементом 0 может быть использован, чтобы найти
текущее местоположения прерывания программы.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха
brk
возвращает ноль, а
sbrk
возвращает указатель на начало новой области. В случае
ошибки возвращается -1 is и значение
errno
устанавливается в
ENOMEM.
СООТВЕТСТВИЕ СТАНДАРТАМ
BSD 4.3
brk и sbrk
не определены в стандарте на язык C и умышленно исключёны из
стандарта POSIX.1 (см. параграфы B.1.1.1.3 и B.8.3.3).
ЗАМЕЧАНИЯ
Некоторые системы используют разные типы для параметров
sbrk().
Общими являются int, ssize_t, ptrdiff_t, intptr_t.
XPGv6 описывает, что эта функция устарела.