alloc.h (1156B)
1 #pragma once 2 3 #include "def.h" 4 5 /* A consistently-named set of memory allocators: r_{,e}{,re}alloc{,n}{,z} 6 * e- => allocation failures are fatal 7 * re- => realloc-style allocator 8 * -n => array allocator (with overflow check) 9 * -z => new memory initialized to 0. 10 * All these allocators are interoperable with the stdlib allocators. The 11 * non-e variants all set errno to ENOMEM on failure. */ 12 void *r_alloc(usize size); /* aka malloc */ 13 void *r_allocz(usize size); 14 void *r_allocn(usize len, usize size); 15 void *r_allocnz(usize len, usize size); /* aka calloc */ 16 int r_realloc(void *p, usize size); 17 int r_reallocz(void *p, usize osize, usize nsize); 18 int r_reallocn(void *p, usize len, usize size); 19 int r_reallocnz(void *p, usize olen, usize nlen, usize size); 20 void *r_ealloc(usize size); 21 void *r_eallocz(usize size); 22 void *r_eallocn(usize len, usize size); 23 void *r_eallocnz(usize len, usize size); 24 int r_erealloc(void *p, usize size); 25 int r_ereallocz(void *p, usize osize, usize nsize); 26 int r_ereallocn(void *p, usize len, usize size); 27 int r_ereallocnz(void *p, usize olen, usize nlen, usize size); 28 29 void free(void *p);