From 1d40d14e09c8c22ffbdf5a5cad95ae552587ce53 Mon Sep 17 00:00:00 2001 From: Danny Holman Date: Fri, 16 Feb 2024 12:30:49 -0600 Subject: include: kernel: move list.h to a data struct directory Move list.h into a designated directory for data structure definitions. Signed-off-by: Danny Holman --- include/kernel/data/list.h | 32 ++++++++++++++++++++++++++++++++ include/kernel/list.h | 31 ------------------------------- 2 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 include/kernel/data/list.h delete mode 100644 include/kernel/list.h diff --git a/include/kernel/data/list.h b/include/kernel/data/list.h new file mode 100644 index 0000000..b61cfaa --- /dev/null +++ b/include/kernel/data/list.h @@ -0,0 +1,32 @@ +#ifndef KERNEL_LIST_H +#define KERNEL_LIST_H + +#include + +struct list_head { + struct list_head *next; + struct list_head *prev; +}; + +static inline void list_add(struct list_head *new, struct list_head *head) { + struct list_head *temp = head; + while (temp->next != NULL) + temp = temp->next; + + temp->next = new; + new->prev = temp; + new->next = NULL; +} + +static inline void list_del(struct list_head *item) { + struct list_head *next = item->next; + struct list_head *prev = item->prev; + if (next != NULL) + next->prev = prev; + if (prev != NULL) + prev->next = next; + item->next = NULL; + item->prev = NULL; +} + +#endif diff --git a/include/kernel/list.h b/include/kernel/list.h deleted file mode 100644 index cc78a4f..0000000 --- a/include/kernel/list.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef LIST_H -#define LIST_H - -#include - -struct list_head { - struct list_head *next; - struct list_head *prev; -}; - -static inline void list_add(struct list_head *new, struct list_head *head) { - new->prev = head; - new->next = head->next; - - head->next = new; - if (head->prev != NULL) - head->prev->next = new; -} - -static inline void list_del(struct list_head *item) { - struct list_head *next = item->next; - struct list_head *prev = item->prev; - if (next != NULL) - next->prev = prev; - if (prev != NULL) - prev->next = next; - item->next = NULL; - item->prev = NULL; -} - -#endif -- cgit v1.2.3