QUARK
0.9.0
QUARK-QUeuingAndRuntimeforKernels
|
Go to the source code of this file.
Functions/Subroutines | |
icl_list_t * | icl_list_new () |
icl_list_t * | icl_list_insert (icl_list_t *head, icl_list_t *pos, void *data) |
int | icl_list_delete (icl_list_t *head, icl_list_t *pos, void(*free_function)(void *)) |
icl_list_t * | icl_list_search (icl_list_t *head, void *data, int(*compare)(void *, void *)) |
int | icl_list_destroy (icl_list_t *head, void(*free_function)(void *)) |
int | icl_list_size (icl_list_t *head) |
icl_list_t * | icl_list_first (icl_list_t *head) |
icl_list_t * | icl_list_last (icl_list_t *head) |
icl_list_t * | icl_list_next (icl_list_t *head, icl_list_t *pos) |
icl_list_t * | icl_list_prev (icl_list_t *head, icl_list_t *pos) |
icl_list_t * | icl_list_concat (icl_list_t *head1, icl_list_t *head2) |
icl_list_t * | icl_list_prepend (icl_list_t *head, void *data) |
icl_list_t * | icl_list_append (icl_list_t *head, void *data) |
Dependency free doubly linked list implementation.
Definition in file icl_list.c.
icl_list_t* icl_list_append | ( | icl_list_t * | head, |
void * | data | ||
) |
Insert a node at the end of this list.
head | – the linked list |
data | – the data to be inserted |
Definition at line 304 of file icl_list.c.
References icl_list_s::blink, and icl_list_insert().
icl_list_t* icl_list_concat | ( | icl_list_t * | head1, |
icl_list_t * | head2 | ||
) |
Concatenate two linked lists.
head1 | – the first linked list |
head2 | – the second linked list |
Definition at line 265 of file icl_list.c.
References icl_list_s::blink, and icl_list_s::flink.
int icl_list_delete | ( | icl_list_t * | head, |
icl_list_t * | pos, | ||
void(*)(void *) | free_function | ||
) |
Delete the specified node.
head | – the linked list containing the node to be deleted |
pos | – the node to be deleted |
free_function | – pointer to function that frees the node data |
Definition at line 84 of file icl_list.c.
References icl_list_s::blink, icl_list_s::data, and icl_list_s::flink.
int icl_list_destroy | ( | icl_list_t * | head, |
void(*)(void *) | free_function | ||
) |
Frees the resources associated with this linked list.
head | – the linked list to be destroyed |
free_function | – pointer to function that frees the node's data |
Definition at line 143 of file icl_list.c.
References icl_list_s::data, and icl_list_s::flink.
icl_list_t* icl_list_first | ( | icl_list_t * | head | ) |
Get the first item in this linked list.
head | – the linked list |
Definition at line 192 of file icl_list.c.
References icl_list_s::flink.
icl_list_t* icl_list_insert | ( | icl_list_t * | head, |
icl_list_t * | pos, | ||
void * | data | ||
) |
Insert a new node after the specified node.
head | – the linked list |
pos | – points to the position of the new node (it will be inserted after this node) |
data | – pointer to the data that is to be inserted |
Definition at line 49 of file icl_list.c.
References icl_list_s::blink, icl_list_s::data, and icl_list_s::flink.
icl_list_t* icl_list_last | ( | icl_list_t * | head | ) |
Get the last item in this linked list.
head | – the linked list |
Definition at line 209 of file icl_list.c.
References icl_list_s::blink, and icl_list_s::flink.
icl_list_t* icl_list_new | ( | ) |
Create new linked list.
Definition at line 22 of file icl_list.c.
References icl_list_s::blink, icl_list_s::data, and icl_list_s::flink.
icl_list_t* icl_list_next | ( | icl_list_t * | head, |
icl_list_t * | pos | ||
) |
Get the node following the specified node.
head | – the list containing the specified node |
pos | – the node whose successor should be returned |
Definition at line 228 of file icl_list.c.
References icl_list_s::flink.
icl_list_t* icl_list_prepend | ( | icl_list_t * | head, |
void * | data | ||
) |
Insert a node at the beginning of this list.
head | – the linked list |
data | – the data to be inserted |
Definition at line 289 of file icl_list.c.
References icl_list_insert().
icl_list_t* icl_list_prev | ( | icl_list_t * | head, |
icl_list_t * | pos | ||
) |
Get the node preceding the specified node.
head | – the list containing the specified node |
pos | – the node whose predecessor should be returned |
Definition at line 246 of file icl_list.c.
References icl_list_s::blink.
icl_list_t* icl_list_search | ( | icl_list_t * | head, |
void * | data, | ||
int(*)(void *, void *) | compare | ||
) |
Finds a data item in the specified linked list.
head | – the linked list |
data | – the data to be found |
compare | – function that compares the data items |
Definition at line 115 of file icl_list.c.
References icl_list_s::data, and icl_list_s::flink.
int icl_list_size | ( | icl_list_t * | head | ) |
Get the number of items in this linked list.
head | – the linked list |
Definition at line 171 of file icl_list.c.
References icl_list_s::flink.