1 #ifndef ZALLOC_H
2 #define ZALLOC_H
3 
4 #if 0
5 #define Z_EXPR		1
6 #define Z_S_EXPR	2
7 #define Z_FOLD_INFO	3
8 #define Z_INSTR		4
9 #define Z_TOKEN		5
10 #define Z_TY_STRING	6
11 #define Z_ASMDIR	7
12 #define Z_TIMES_BUF	8
13 #define Z_RELOC_DATA	9
14 #define Z_STATIC_DATA	10
15 #define Z_OPERAND	11
16 #endif
17 
18 #define Z_CONTROL	1
19 #define Z_LABEL		2
20 #define Z_EXPR		3
21 #define Z_INITIALIZER	4
22 #define Z_STATEMENT	5
23 #define Z_FUNCTION	6
24 #define Z_ICODE_INSTR	7
25 #define Z_ICODE_LIST	8
26 #define Z_VREG		9
27 #define Z_STACK_BLOCK	11
28 #define Z_S_EXPR	12
29 #define Z_FCALL_DATA	13
30 #define Z_IDENTIFIER	14 /* unused right now */
31 #define Z_FASTSYMHASH	15
32 #define Z_CEXPR_BUF	16
33 
34 #define Z_MAX_ZONES	17
35 
36 #include <stddef.h>
37 
38 void	zalloc_create(void);
39 void	zalloc_init(int type, int size, int needzero, int usemalloc);
40 void	*zalloc_buf(int type);
41 void	zalloc_reset(void);
42 void	zalloc_reset_except(int initial);
43 
44 char	*zalloc_identbuf(size_t *nbytes);
45 void	zalloc_update_identbuf(size_t nbytes);
46 
47 void	zalloc_enable_malloc_override(void);
48 void	zalloc_disable_malloc_override(void);
49 
50 struct expr;
51 
52 void	zalloc_free(void *buf, int type);
53 void	zalloc_free_expr(struct expr *ex);
54 
55 #endif
56 
57