2005-07-12 15:24:18 +00:00
|
|
|
.TH VENTI-MEM 3
|
|
|
|
.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
|
2020-08-16 00:07:38 +00:00
|
|
|
.MR sysfatal (3) .
|
2005-07-12 15:24:18 +00:00
|
|
|
They do not return.
|
|
|
|
.PP
|
|
|
|
.I Vtbrk
|
2005-07-18 22:41:58 +00:00
|
|
|
returns a pointer to a new, permanently allocated block of at least
|
2005-07-12 15:24:18 +00:00
|
|
|
.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 \*9/src/libventi
|
|
|
|
.SH SEE ALSO
|
2020-08-16 00:07:38 +00:00
|
|
|
.MR venti (3)
|