summaryrefslogtreecommitdiff
path: root/static/unix-v10/man9/alloc.9
diff options
context:
space:
mode:
Diffstat (limited to 'static/unix-v10/man9/alloc.9')
-rw-r--r--static/unix-v10/man9/alloc.993
1 files changed, 93 insertions, 0 deletions
diff --git a/static/unix-v10/man9/alloc.9 b/static/unix-v10/man9/alloc.9
new file mode 100644
index 00000000..4a7374fc
--- /dev/null
+++ b/static/unix-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)