glenda.party
term% ls -F
term% cat index.txt
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 malloc.  It returns a
       pointer to a block of nbytes contiguous bytes of storage, or 0  if  un‐
       available.   The  storage is aligned on 4-byte boundaries.  Unlike mal‐
       loc, alloc clears the storage to zeros.  Free frees  storage  allocated
       by alloc.

       Balloc  returns  a pointer to a Bitmap large enough to contain the Rec‐
       tangle 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 un‐
       available.  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 gcallocated memory anywhere  other  than  the  location
       handed  to  the  allocator.  Typically, this location is contained in a
       structure, such as a Bitmap (balloc uses gcalloc).   Gcfree  frees  the
       storage block at p.  Gcalloc is not for novices.

SEE ALSO
       types(9.5)



                                                                    ALLOC(9.3)