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