69 lines
1.0 KiB
Plaintext
69 lines
1.0 KiB
Plaintext
|
.TH VENTI-MEM 2
|
||
|
.SH NAME
|
||
|
vtbrk,
|
||
|
vtmalloc,
|
||
|
vtmallocz,
|
||
|
vtrealloc,
|
||
|
vtstrdup,
|
||
|
vtfree \- error-checking memory allocators
|
||
|
.SH SYNOPSIS
|
||
|
.ft L
|
||
|
#include <u.h>
|
||
|
.br
|
||
|
#include <libc.h>
|
||
|
.br
|
||
|
#include <venti.h>
|
||
|
.ta +\w'\fLvoid* 'u
|
||
|
.PP
|
||
|
.B
|
||
|
void* vtbrk(int size)
|
||
|
.PP
|
||
|
.B
|
||
|
void* vtmalloc(int size)
|
||
|
.PP
|
||
|
.B
|
||
|
void* vtmallocz(int size)
|
||
|
.PP
|
||
|
.B
|
||
|
void* vtrealloc(void *ptr, int size)
|
||
|
.PP
|
||
|
.B
|
||
|
char* vtstrdup(char *s)
|
||
|
.PP
|
||
|
.B
|
||
|
void vtfree(void *ptr)
|
||
|
.SH DESCRIPTION
|
||
|
These routines allocate and free memory.
|
||
|
On failure, they print an error message and call
|
||
|
.IR sysfatal
|
||
|
(from
|
||
|
.IR perror (2)).
|
||
|
They do not return.
|
||
|
.PP
|
||
|
.I Vtbrk
|
||
|
returns a pointer to a new, permanently allocated block of at least
|
||
|
.I size
|
||
|
bytes.
|
||
|
.PP
|
||
|
.IR Vtmalloc ,
|
||
|
.IR vtrealloc ,
|
||
|
and
|
||
|
.I vtstrdup
|
||
|
are like
|
||
|
.IR malloc ,
|
||
|
.IR realloc ,
|
||
|
and
|
||
|
.IR strdup ,
|
||
|
but, as noted above, do not return on error.
|
||
|
.I Vtmallocz
|
||
|
is like
|
||
|
.I vtmalloc
|
||
|
but zeros the block before returning it.
|
||
|
Memory allocated with all four should be freed with
|
||
|
.I vtfree
|
||
|
when no longer needed.
|
||
|
.SH SOURCE
|
||
|
.B /sys/src/libventi
|
||
|
.SH SEE ALSO
|
||
|
.IR venti (2)
|