Imported from ../lua-2.5.tar.gz.
[lua.git] / src / mem.h
blob86f024fcfd325cd3471dbce09c946b791374b1b8
1 /*
2 ** mem.c
3 ** memory manager for lua
4 ** $Id: mem.h,v 1.8 1996/05/24 14:31:10 roberto Exp $
5 */
7 #ifndef mem_h
8 #define mem_h
10 #ifndef NULL
11 #define NULL 0
12 #endif
15 /* memory error messages */
16 #define codeEM "code size overflow"
17 #define symbolEM "symbol table overflow"
18 #define constantEM "constant table overflow"
19 #define stackEM "stack size overflow"
20 #define lexEM "lex buffer overflow"
21 #define refEM "reference table overflow"
22 #define tableEM "table overflow"
23 #define memEM "not enough memory"
26 void luaI_free (void *block);
27 void *luaI_realloc (void *oldblock, unsigned long size);
28 void *luaI_buffer (unsigned long size);
29 int luaI_growvector (void **block, unsigned long nelems, int size,
30 char *errormsg, unsigned long limit);
32 #define luaI_malloc(s) luaI_realloc(NULL, (s))
33 #define new(s) ((s *)luaI_malloc(sizeof(s)))
34 #define newvector(n,s) ((s *)luaI_malloc((n)*sizeof(s)))
35 #define growvector(old,n,s,e,l) \
36 (luaI_growvector((void**)old,n,sizeof(s),e,l))
38 #endif