.\" -*-nroff-*-
-.TH arena 3 "3 June 2000" "Straylight/Edgeware" "mLib utilities library"
-.SH "NAME"
-arena \- control of memory allocation
+.\"
+.\" Manual for configurable memory management
+.\"
+.\" (c) 2000, 2001, 2005, 2009, 2023, 2024 Straylight/Edgeware
+.\"
+.
+.\"----- Licensing notice ---------------------------------------------------
+.\"
+.\" This file is part of the mLib utilities library.
+.\"
+.\" mLib is free software: you can redistribute it and/or modify it under
+.\" the terms of the GNU Library General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or (at
+.\" your option) any later version.
+.\"
+.\" mLib is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+.\" License for more details.
+.\"
+.\" You should have received a copy of the GNU Library General Public
+.\" License along with mLib. If not, write to the Free Software
+.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+.\" USA.
+.
+.\"--------------------------------------------------------------------------
+.so ../defs.man \" @@@PRE@@@
+.
+.\"--------------------------------------------------------------------------
+.TH arena 3mLib "3 June 2000" "Straylight/Edgeware" "mLib utilities library"
.\" @arena_global
.\" @arena_stdlib
.\" @arena_fakemalloc
.\" @A_ALLOC
.\" @A_REALLOC
.\" @A_FREE
+.
+.\"--------------------------------------------------------------------------
+.SH "NAME"
+arena \- control of memory allocation
+.
+.\"--------------------------------------------------------------------------
.SH "SYNOPSIS"
+.
.nf
.B "#include <mLib/arena.h>"
.PP
.BI "void *A_REALLOC(arena *" a ", void *" p ", size_t " sz ", size_t " osz );
.BI "void A_FREE(arena *" a );
.fi
+.
+.\"--------------------------------------------------------------------------
.SH "DESCRIPTION"
+.
An
.I arena
is a place from which blocks of memory may be allocated and freed. The
specifying the old size of the block. This is for the benefit of arena
handlers which can't easily find the old block's size.
.PP
+.
.SS "Defining new arenas"
An
.B arena
.I free
calls with respect to null pointers and zero-sized blocks is as
specified by the ANSI C standard.
+.
+.\"--------------------------------------------------------------------------
.SH "SEE ALSO"
+.
.BR alloc (3),
.BR mLib (3).
+.
+.\"--------------------------------------------------------------------------
.SH AUTHOR
+.
Mark Wooding, <mdw@distorted.org.uk>
+.
+.\"----- That's all, folks --------------------------------------------------