From 62fc51338d7259c2ea39f38bd8c7d9552e9b2002 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 12 Jun 2022 16:18:47 +0300 Subject: doxygen shows no warnings + Does not mean documentation is done, but it's a nice little achievement nonetheless. --- common/nodes.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'common/nodes.c') diff --git a/common/nodes.c b/common/nodes.c index ce33547..9cfd2a2 100644 --- a/common/nodes.c +++ b/common/nodes.c @@ -41,9 +41,20 @@ * being free) */ +/** + * Get start of node region from pointer. + * + * @param r Pointer to node inside node region. + * @return Corresponding node region. + */ #define node_region(r) \ ((struct node_region *)((uintptr_t)(r) & ~(BASE_PAGE_SIZE - 1))) +/** + * Create new node region. + * + * @return Pointer to created region. + */ static struct node_region *__create_region() { struct node_region *r = (struct node_region *)alloc_page(BASE_PAGE, 0); @@ -78,6 +89,13 @@ void destroy_nodes(struct node_root *r) } } +/** + * Find free node in node region. + * + * @param r Node root to work in. + * @param nr Node region to look in. + * @return Pointer to free node. + */ static void *__find_free_node(struct node_root *r, struct node_region *nr) { uint8_t *bitmap = r->bitmap + (uint8_t *)nr; @@ -92,6 +110,11 @@ static void *__find_free_node(struct node_root *r, struct node_region *nr) return 0; } +/** + * Pop free list head. + * + * @param r Node region root to work in. + */ static void __pop_av_head(struct node_root *r) { struct node_region *t = r->av_head; @@ -124,6 +147,12 @@ void *get_node(struct node_root *r) return p; } +/** + * Push free list head. + * + * @param r Node region root to work in. + * @param nr Node region to push. + */ static void __push_av_head(struct node_root *r, struct node_region *nr) { nr->av_prev = 0; @@ -134,6 +163,12 @@ static void __push_av_head(struct node_root *r, struct node_region *nr) r->av_head = nr; } +/** + * Free a node region. + * + * @param r Node region root to work in. + * @param nr Node region to free. + */ static void __free_region(struct node_root *r, struct node_region *nr) { struct node_region *av_n = nr->av_next; -- cgit v1.3