man(1) Manual page archive


     ALLOC(9.3)                                             ALLOC(9.3)

     NAME
          alloc, free, balloc, bfree, gcalloc, gcfree - allocate
          memory

     SYNOPSIS
          #include <jerq.h>

          char *alloc(nbytes) unsigned nbytes;

          void free(s) char *s;

          Bitmap *balloc(r) Rectangle r;

          void bfree(b) Bitmap *b;

          char *gcalloc(nbytes, where) unsigned long nbytes; char
          **where;

          void gcfree(s) char *s;

     DESCRIPTION
          Alloc corresponds to the standard C function calloc; see
          malloc(3). It returns a pointer to a block of nbytes con-
          tiguous bytes of storage, or 0 if unavailable.  The storage
          is aligned on 4-byte boundaries and is cleared to zeros.
          Free frees storage allocated by alloc.

          Balloc returns a pointer to a Bitmap large enough to contain
          the Rectangle r, or 0 for failure.  The coordinate system
          inside the Bitmap is set by r: the origin and corner of the
          Bitmap are those of r. Bfree frees the storage associated
          with a Bitmap allocated by balloc.

          Gcalloc provides a simple garbage-compacting allocator.  It
          returns a pointer to a block of nbytes contiguous bytes of
          storage, or 0 if unavailable.  The storage is initialized to
          zeros.  Where is a pointer to the user's data where the
          location of the block is to be saved.  The return value of
          gcalloc is stored in *where and will be updated after each
          compaction.  Therefore, a program using gcalloc should never
          store the location of memory obtained from gcalloc anywhere
          other than where. Typically, this location is contained in a
          structure, such as a Bitmap (balloc uses gcalloc). Gcfree
          frees the storage block at p.

     SEE ALSO
          types(9.5), malloc(3)