39 lines
784 B
Markdown
39 lines
784 B
Markdown
|
|
## `arena_t arena_new()`
|
|
|
|
Allocate a new arena.
|
|
The underlying memory is allocated with mmap.
|
|
|
|
|
|
## `void arena_delete(arena_t *a)`
|
|
|
|
Delete memory mapped for arena.
|
|
Should only be used with arenas from arena\_new().
|
|
|
|
|
|
## `arena_t arena_attach(void *ptr, size_t size)`
|
|
|
|
Attach an arena to an existing memory region.
|
|
The arena will not expand the region if space is exceeded.
|
|
|
|
|
|
## `void *arena_detatch(arena_t arena)`
|
|
Detach an arena from an existing memory region.
|
|
|
|
|
|
## `void arena_reset(arena_t *a)`
|
|
Reset an arena.
|
|
|
|
|
|
|
|
## `void *arena_alloc(arena_t *a, size_t len)`
|
|
Allocate memory from an arena.
|
|
Returns NULL and sets errno on failure.
|
|
|
|
|
|
|
|
## `void *arena_calloc(arena_t *a, size_t nmemb, size_t size)`
|
|
Allocate and zero memory from an arena.
|
|
Returns NULL and sets errno on failure.
|
|
|