diff options
Diffstat (limited to 'kernel/include/libk/list.h')
| -rw-r--r-- | kernel/include/libk/list.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/kernel/include/libk/list.h b/kernel/include/libk/list.h index 690f3d7..607dfb1 100644 --- a/kernel/include/libk/list.h +++ b/kernel/include/libk/list.h @@ -4,15 +4,15 @@ #include <containter_of.h> struct list_t { - struct list_t* next; - struct list_t* prev; + struct list_t *next; + struct list_t *prev; }; typedef struct list_t list_t; -void add_to_list(list_t* head, list_t* prev, list_t* next); -void free_node(list_t* head); +void add_to_list(list_t *head, list_t *prev, list_t *next); +void free_node(list_t *head); -#define INIT_LIST(name) \ +#define INIT_LIST(name) \ name.next = &name; \ name.prev = &name; @@ -25,16 +25,22 @@ void free_node(list_t* head); #define list_prev_entry(pos, member) \ container_of(pos->member.prev, typeof(*pos), member) -#define list_for_each_entry(pos, head, member) \ - for (pos = container_of(head->next, typeof(*pos), member); pos != container_of(head, typeof(*pos), member); pos = container_of(pos->member.next, typeof(*pos), member)) +#define list_for_each_entry(pos, head, member) \ + for (pos = container_of(head->next, typeof(*pos), member); \ + pos != container_of(head, typeof(*pos), member); \ + pos = container_of(pos->member.next, typeof(*pos), member)) -#define list_for_each_entry_prev(pos, head, member) \ - for (pos = container_of(head->prev, typeof(*pos), member); pos != container_of(head, typeof(*pos), member); pos = container_of(pos->member.prev, typeof(*pos), member)) +#define list_for_each_entry_prev(pos, head, member) \ + for (pos = container_of(head->prev, typeof(*pos), member); \ + pos != container_of(head, typeof(*pos), member); \ + pos = container_of(pos->member.prev, typeof(*pos), member)) -#define list_for_each_entry_del(pos, head, member) \ - for (pos = container_of(head->next, typeof(*pos), member); pos != container_of(head, typeof(*pos), member); free_node(&pos->list), pos = container_of(head->next, typeof(*pos), member)) +#define list_for_each_entry_del(pos, head, member) \ + for (pos = container_of(head->next, typeof(*pos), member); \ + pos != container_of(head, typeof(*pos), member); \ + free_node(&pos->list), \ + pos = container_of(head->next, typeof(*pos), member)) -#define list_is_empty(pos) \ - (pos == pos->next) +#define list_is_empty(pos) (pos == pos->next) #endif |
