关于LIST_ENTRY的实现
今天看了看2.6内核的list.h文件,发现LIST_ENTRY的实现和以前不一样了,现在是#define list_entry(ptr, type, member) \
container_of(ptr, type, member)
而对container_of的定义只在aio.h找到 下面的
#define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait)
还是没有具体的实现,请问具体实现在哪里,谢谢! 在kernel.h文件中:
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );}) 谢谢,能解释一下 const typeof( ((type *)0)->member )什么意思吗?
页:
[1]