|
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.