Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

brk(2)

segattach(2)

segflush(2)

SEGBRK(2)

NAME

segbrk − change memory allocation

SYNOPSIS

­#include <u.h>
­#include <libc.h>

void∗segbrk(void ∗saddr, void ∗addr)

DESCRIPTION

­Segbrk sets the system’s idea of the lowest unused location of a segment to ­addr rounded up to the next multiple of a page size, typically 4096 bytes.  The segment is identified by ­saddr which may be any valid address within the segment. 

A call to ­segbrk with a zero ­addr argument returns the address of the top of bss. 

The system will prevent segments from overlapping and will not allow the length of the text, data, or stack segment to be altered. 

SOURCE

­/sys/src/libc/9syscall

SEE ALSO

brk(2), segattach(2), segflush(2)
/proc/∗/segment

DIAGNOSTICS

Sets errstr. ­Segbrk returns ­(void∗)-1 on error. 

BUGS

­Segbrk is not fully defined or implemented.  In particular, it cannot always return the top of bss when called with a zero ­addr argument.  The ­segbrk system call may go away or be re-implemented to give more general segment control, subsuming the functions of brk(2), segflush(2) and ­segfree in segattach(2).

Plan 9  —  December 02, 2007

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026