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