Linux: Managing double linked list in the Linux kernel
#include <linux/list.h>
LIST_HEAD(list_name): Creat an new double linked list.
list_add(n,p): Inserts an element pointed to by n right after the specified element pointed to by p. To insert n at the beginning of the list, set p to the address of the list head.
list_add_tail(n,p): Inserts an element pointed to by n right before the specified element pointed to by p. To insert n at the end of the list, set p to the address of the list head.
list_del(p): Deletes an element pointed to by p.
list_empty(p): Checks if the list specified by the address p of its head is empty.
list_entry(p,t,m): Returns the address of the data structure of type t in which the list_head field that has the name m and the address p is included.
list_for_each(p,h): Scans the elements of the list specified by the address h of the head; in each iteration, a pointer to the list_head structure of the list element is returned in p.
list_for_each_entry(p,h,m): Returns the address of the data structure embedding the list_head structure rather than the address of the list_head structure itself.
No comments:
Post a Comment