本文的目录结构:
一、list_for_each_entry的作用与定义
二、list_for_each_entry的简单实现
一、list_for_each_entry的作用与定义
在http://blog.csdn.net/tech_pro/article/details/70237335这篇博文中通过list_head来构造了链表,虽然方便实用,但也带来了一些额外的问题,比如如何对这些链表进行遍历,因为链表和结点元素是分开的,所以直接进行遍历是不方便的,而且也是不合理的。那么Linux内核当中对这个问题是不是有解决办法呢。
答案肯定是有的,这个就是list_for_each_entry这个宏。这个宏的定义在内核的include\linux\list.h这个文件当中,它的定义如下:
/**
* list_for_each_entry - iterate over list of given type
* @pos: the type * to use as a loop cursor.
* @head: the head for your list.
* @member: the name of the list