ref: 1f15f469f9a659fe26f2ad3f8c1f9db3d49d79c5
dir: /sys/man/2/segbrk/
.TH SEGBRK 2 .SH NAME segbrk \- change memory allocation .SH SYNOPSIS .B #include <u.h> .br .B #include <libc.h> .PP .ta \w'\fLvoid* 'u .B void* segbrk(void *saddr, void *addr) .PP .SH DESCRIPTION .I Segbrk sets the system's idea of the lowest unused location of a segment to .I addr rounded up to the next multiple of a page size, typically 4096 bytes. The segment is identified by .I saddr which may be any valid address within the segment. .PP A call to .I segbrk with a zero .I addr argument returns the base address of the segment without altering its size. .PP The system will prevent segments from overlapping and will not allow the length of the text, data, or stack segment to be altered. .SH SOURCE .B /sys/src/libc/9syscall .SH SEE ALSO .IR brk (2), .IR segattach (2), .IR segflush (2) .br .BR /proc/*/segment .SH DIAGNOSTICS Sets .IR errstr . .I Segbrk returns .B (void*)-1 on error. .SH BUGS The .I segbrk system call may go away or be re-implemented to give more general segment control, subsuming the functions of .IR brk (2), .IR segflush (2) and .I segfree in .IR segattach (2).