| .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) |