Mon 14 Oct 23:06:38 CEST 2024
This commit is contained in:
parent
01583e527b
commit
0d4dc3c84e
36
kernel/list.h
Normal file
36
kernel/list.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
Copyright (C) 2015-2019 The University of Notre Dame
|
||||
This software is distributed under the GNU General Public License.
|
||||
See the file LICENSE for details.
|
||||
*/
|
||||
|
||||
#ifndef LIST_H
|
||||
#define LIST_H
|
||||
|
||||
struct list;
|
||||
struct list_node;
|
||||
|
||||
struct list {
|
||||
struct list_node *head;
|
||||
struct list_node *tail;
|
||||
int size;
|
||||
};
|
||||
|
||||
struct list_node {
|
||||
struct list_node *next;
|
||||
struct list_node *prev;
|
||||
struct list *list;
|
||||
int priority;
|
||||
};
|
||||
|
||||
#define LIST_INIT {0,0}
|
||||
|
||||
void list_push_head(struct list *list, struct list_node *node);
|
||||
void list_push_tail(struct list *list, struct list_node *node);
|
||||
void list_push_priority(struct list *list, struct list_node *node, int pri);
|
||||
struct list_node *list_pop_head(struct list *list);
|
||||
struct list_node *list_pop_tail(struct list *list);
|
||||
void list_remove(struct list_node *n);
|
||||
int list_size(struct list *list);
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user