62 lines
958 B
Groff
62 lines
958 B
Groff
.TH alloc 3
|
|
.SH NAME
|
|
alloc \- allocate memory
|
|
.SH SYNTAX
|
|
.B #include <alloc.h>
|
|
|
|
char *\fBalloc\fP(\fInew\fR);
|
|
|
|
void \fBalloc_free\fP(\fIx\fR);
|
|
|
|
void \fBalloc_re\fP(&\fIx\fR,\fIold\fR,\fInew\fR);
|
|
|
|
char *\fIx\fR;
|
|
.br
|
|
unsigned int \fIold\fR;
|
|
.br
|
|
unsigned int \fInew\fR;
|
|
.SH DESCRIPTION
|
|
.B alloc
|
|
allocates enough space from the heap for
|
|
.I new
|
|
bytes of data,
|
|
adequately aligned for any data type.
|
|
.I new
|
|
may be 0.
|
|
.B alloc
|
|
returns a pointer to the space.
|
|
If space is not available,
|
|
.B alloc
|
|
returns 0,
|
|
setting
|
|
.B errno
|
|
appropriately.
|
|
|
|
.B alloc_free
|
|
returns space to the heap.
|
|
|
|
.B alloc_re
|
|
expands the space allocated to
|
|
.I x
|
|
from
|
|
.I old
|
|
bytes to
|
|
.I new
|
|
bytes.
|
|
It allocates new space,
|
|
copies
|
|
.I old
|
|
bytes from the old space to the new space,
|
|
returns the old space to the heap,
|
|
and changes
|
|
.I x
|
|
to point to the new space.
|
|
It then returns 1.
|
|
If space is not available,
|
|
.B alloc_re
|
|
returns 0,
|
|
leaving the old space alone.
|
|
.SH "SEE ALSO"
|
|
sbrk(2),
|
|
malloc(3),
|
|
error(3)
|