diff options
Diffstat (limited to 'static/v10/man9/alloc.9')
| -rw-r--r-- | static/v10/man9/alloc.9 | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/static/v10/man9/alloc.9 b/static/v10/man9/alloc.9 new file mode 100644 index 00000000..4a7374fc --- /dev/null +++ b/static/v10/man9/alloc.9 @@ -0,0 +1,93 @@ +.TH ALLOC 9.3 +.CT 2 mem_man +.SH NAME +alloc, free, balloc, bfree, gcalloc, gcfree \- allocate memory +.SH SYNOPSIS +.B #include <jerq.h> +.PP +.B char *alloc(nbytes) +.B unsigned nbytes; +.PP +.B void free(s) +.B char *s; +.PP +.B Bitmap *balloc(r) +.B Rectangle r; +.PP +.B void bfree(b) +.B Bitmap *b; +.PP +.B char *gcalloc(nbytes, where) +.B unsigned long nbytes; +.B char **where; +.PP +.B void gcfree(s) +.B char *s; +.SH DESCRIPTION +.I Alloc +corresponds to the standard C function +.IR calloc ; +see +.IR malloc (3). +It returns a pointer to a block of +.I nbytes +contiguous bytes of storage, or 0 +if unavailable. +The storage is aligned on 4-byte boundaries +and is cleared to zeros. +.I Free +frees storage allocated by +.IR alloc . +.PP +.I Balloc +returns a pointer to a Bitmap +large enough to contain +the Rectangle +.IR r , +or 0 +for failure. +The coordinate system inside the Bitmap is set by +.IR r : +the +.B origin +and +.B corner +of the Bitmap are those of +.IR r . +.I Bfree +frees the storage associated with a Bitmap allocated by +.IR balloc . +.PP +.I Gcalloc +provides a simple garbage-compacting allocator. +It returns a pointer to a block of +.I nbytes +contiguous bytes of storage, or +0 +if unavailable. +The storage is initialized to zeros. +.I Where +is a pointer to the user's data where the location of the +block is to be saved. +The return value of +.I gcalloc +is stored in +.BI * where +and will be updated after each compaction. +Therefore, a program using +.I gcalloc +should never store the location of memory obtained from +.I gcalloc +anywhere other than +.I where. +Typically, this location is contained in a structure, such as a +Bitmap +.RI ( balloc +uses +.IR gcalloc ). +.I Gcfree +frees the storage block at +.IR p . +.SH SEE ALSO +.IR types (9.5), +.IR malloc (3) |
