Lines Matching full:member
12 * container_of - cast a member of a structure out to the containing structure
13 * @ptr: the pointer to the member.
15 * @member: the name of the member within the struct.
18 #define container_of(ptr, type, member) ({ \ argument
20 _Static_assert(__same_type(*(ptr), ((type *)0)->member) || \
23 ((type *)(__mptr - offsetof(type, member))); })
156 * @member: the name of the list_head within the struct.
158 #define list_entry(ptr, type, member) \ argument
159 container_of(ptr, type, member)
165 * @member: the name of the list_head within the struct.
169 #define list_first_entry(ptr, type, member) \ argument
170 list_entry((ptr)->next, type, member)
175 * @member: the name of the list_head within the struct.
177 #define list_next_entry(pos, member) \ argument
178 list_entry((pos)->member.next, typeof(*(pos)), member)
184 * @member: the name of the list_head within the struct.
186 #define list_entry_is_head(pos, head, member) \ argument
187 (&pos->member == (head))
193 * @member: the name of the list_head within the struct.
195 #define list_for_each_entry(pos, head, member) \ argument
196 for (pos = list_first_entry(head, typeof(*pos), member); \
197 !list_entry_is_head(pos, head, member); \
198 pos = list_next_entry(pos, member))
205 * @member: the name of the list_head within the struct.
207 #define list_for_each_entry_safe(pos, n, head, member) \ argument
208 for (pos = list_first_entry(head, typeof(*pos), member), \
209 n = list_next_entry(pos, member); \
210 !list_entry_is_head(pos, head, member); \
211 pos = n, n = list_next_entry(n, member))