Lines Matching refs:pos
129 #define rht_next_entry_safe(pos, ht, member) \
131 pos ? rht_entry_safe(rht_dereference((pos)->member.next, ht), \
132 typeof(*(pos)), member) : NULL; \
137 * @pos: &struct rhash_head to use as a loop cursor.
141 #define rht_for_each(pos, head, ht) \
142 for (pos = rht_dereference(head, ht); \
143 pos; \
144 pos = rht_dereference((pos)->next, ht))
148 * @pos: type * to use as a loop cursor.
153 #define rht_for_each_entry(pos, head, ht, member) \
154 for (pos = rht_entry_safe(rht_dereference(head, ht), \
155 typeof(*(pos)), member); \
156 pos; \
157 pos = rht_next_entry_safe(pos, ht, member))
161 * @pos: type * to use as a loop cursor.
170 #define rht_for_each_entry_safe(pos, n, head, ht, member) \
171 for (pos = rht_entry_safe(rht_dereference(head, ht), \
172 typeof(*(pos)), member), \
173 n = rht_next_entry_safe(pos, ht, member); \
174 pos; \
175 pos = n, \
176 n = rht_next_entry_safe(pos, ht, member))
180 * @pos: &struct rhash_head to use as a loop cursor.
188 #define rht_for_each_rcu(pos, head, ht) \
189 for (pos = rht_dereference_rcu(head, ht); \
190 pos; \
191 pos = rht_dereference_rcu((pos)->next, ht))
195 * @pos: type * to use as a loop cursor.
203 #define rht_for_each_entry_rcu(pos, head, member) \
204 for (pos = rht_entry_safe(rcu_dereference_raw(head), \
205 typeof(*(pos)), member); \
206 pos; \
207 pos = rht_entry_safe(rcu_dereference_raw((pos)->member.next), \
208 typeof(*(pos)), member))