From bc600ecc3bdf0f189861dfb840f70c2339a7a853 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 24 May 2024 13:24:27 +0300 Subject: rename common to src + I keep starting to type src and wondering why autocomplete won't work, I guess src is just uncounciously a better name --- src/mem_nodes.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/mem_nodes.c (limited to 'src/mem_nodes.c') diff --git a/src/mem_nodes.c b/src/mem_nodes.c new file mode 100644 index 0000000..625b1a3 --- /dev/null +++ b/src/mem_nodes.c @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: copyleft-next-0.3.1 */ +/* Copyright 2021 - 2022, Kim Kuparinen < kimi.h.kuparinen@gmail.com > */ + +/** + * @file mem_nodes.c + * Memory node wrapper around the node subsystem, used by \ref + * src/mem_regions.c. + * + * Each region of memory is allocated through a \ref mem_region node, which is + * allocated through the node subsystem. + */ + +#include +#include +#include +#include +#include + +/** Memory node subsystem instance. */ +static struct node_root root; + +void init_mem_nodes() +{ + init_nodes(&root, sizeof(struct mem_region)); +} + +void destroy_mem_nodes() +{ + destroy_nodes(&root); +} + +struct mem_region *get_mem_node() +{ + return (struct mem_region *)get_node(&root); +} + +void free_mem_node(struct mem_region *m) +{ + free_node(&root, (void *)m); +} -- cgit v1.3