在哪些地方可以用到:
底层基础模块开发会用到。
1,使用宏非常方便。
使用LIST_HEAD_INIT,LIST_HEAD来定义链表指针。
INIT_LIST_HEAD,方便了初始化。
使用 list_entry获得整体结构体的指针
使用list_for_each来遍历整个链表
使用list_for_each_prev来逆向遍历链表
使用list_for_each_entry 来遍历整个链表的结构体
使用list_for_each_safe来防止删除时导致的异常
2,接口定义:
list_add在某个元素前面添加内容
list_add_tail在某个元素尾部添加内容
list_del删除某个元素
list_del_init把这个元素从原来链表中删除,并重新初始化他
list_move把一个元素从一个链表移到另外一个链表的头部
list_move_tail把一个元素从一个链表移到另外一个链表的尾部
list_splice合并两个链表
list_splice_init合并两个链表,并重新初始化