container_of

container_of的作用是通过结构体成员的地址得到结构体的地址,具体实现如下。

/**

  * container_of - cast a member of a structure out to the containing structure

  * @ptr: the pointer to the member.

  * @type: the type of the container struct this is embedded in.

  * @member:   the name of the member within the struct.

  *

  */

#define container_of(ptr, type, member) ({              /

     const typeof( ((type *)0)->member ) *__mptr = (ptr);    /

     (type *)( (char *)__mptr - offsetof(type,member) );})

你可能感兴趣的:(C++,Linux,structure,struct)