libkmod-list

libkmod-list — general purpose list

Functions

Types and Values

struct kmod_list

Description

Functions

kmod_list_foreach()

#define             kmod_list_foreach(list_entry, first_entry)

kmod_list_foreach_reverse()

#define             kmod_list_foreach_reverse(list_entry, first_entry)

kmod_list_last ()

struct kmod_list *
kmod_list_last (const struct kmod_list *list);

Get the last element of the list . As list is a circular list, this is a cheap operation O(1) with the last element being the previous element.

If the list has a single element it will return the list itself (as expected, and this is what differentiates from kmod_list_prev()).

Parameters

list

the head of the list

 

Returns

last node at list or NULL if the list is empty.


kmod_list_next ()

struct kmod_list *
kmod_list_next (const struct kmod_list *list,
                const struct kmod_list *curr);

Get the next node in list relative to curr as if list was not a circular list. I.e. calling this function in the last node of the list returns NULL.. It can be used to iterate a list by checking for NULL return to know when all elements were iterated.

Parameters

list

the head of the list

 

curr

the current node in the list

 

Returns

node next to curr or NULL if either this node is the last of or list is empty.


kmod_list_prev ()

struct kmod_list *
kmod_list_prev (const struct kmod_list *list,
                const struct kmod_list *curr);

Get the previous node in list relative to curr as if list was not a circular list. I.e.: the previous of the head is NULL. It can be used to iterate a list by checking for NULL return to know when all elements were iterated.

Parameters

list

the head of the list

 

curr

the current node in the list

 

Returns

node previous to curr or NULL if either this node is the head of the list or the list is empty.

Types and Values

struct kmod_list

struct kmod_list;