[project @ 2004-02-12 02:04:59 by mthomas]
[ghc-hetmet.git] / ghc / rts / Arena.h
1 /* -----------------------------------------------------------------------------
2    $Id: Arena.h,v 1.2 2003/07/28 16:16:07 moran Exp $ 
3    (c) The University of Glasgow 2001
4
5    Arena allocation interface.
6    -------------------------------------------------------------------------- */
7
8 #ifndef ARENA_H
9 #define ARENA_H
10
11 // Abstract type of arenas
12 typedef struct _Arena Arena;
13
14 // Start a new arena
15 extern Arena * newArena   ( void );
16
17 // Allocate memory in an arena
18 extern void  * arenaAlloc ( Arena *, size_t );
19
20 // Free an entire arena
21 extern void    arenaFree  ( Arena * );
22
23 // For internal use only:
24 extern unsigned long arenaBlocks( void );
25
26 #endif // ARENA_H