Lines Matching refs:VAR
283 #define list_for_each(VAR, HEAD) \
284 for ((VAR) = list_first((HEAD)); \
285 (VAR) != (HEAD); \
286 (VAR) = list_next((VAR)))
288 #define list_for_each_prev(VAR, HEAD) \
289 for ((VAR) = list_last((HEAD)); \
290 (VAR) != (HEAD); \
291 (VAR) = list_prev((VAR)))
293 #define list_for_each_safe(VAR, NEXT, HEAD) \
294 for ((VAR) = list_first((HEAD)); \
295 ((VAR) != (HEAD)) && ((NEXT) = list_next((VAR)), 1); \
296 (VAR) = (NEXT))
298 #define list_safe_reset_next(VAR, NEXT, FIELD) \
299 (NEXT) = list_next_entry(VAR, FIELD)
301 #define list_for_each_entry(VAR, HEAD, FIELD) \
302 for ((VAR) = list_entry(list_first((HEAD)), typeof(*(VAR)), FIELD); \
303 &(VAR)->FIELD != (HEAD); \
304 (VAR) = list_entry(list_next(&(VAR)->FIELD), typeof(*(VAR)), \
307 #define list_for_each_entry_safe(VAR, NEXT, HEAD, FIELD) \
308 for ((VAR) = list_entry(list_first((HEAD)), typeof(*(VAR)), FIELD); \
309 (&(VAR)->FIELD != (HEAD)) && \
310 ((NEXT) = list_entry(list_next(&(VAR)->FIELD), \
311 typeof(*(VAR)), FIELD), 1); \
312 (VAR) = (NEXT))
314 #define list_for_each_entry_safe_reverse(VAR, NEXT, HEAD, FIELD) \
315 for ((VAR) = list_entry(list_last((HEAD)), typeof(*(VAR)), FIELD); \
316 (&(VAR)->FIELD != (HEAD)) && \
317 ((NEXT) = list_entry(list_prev(&(VAR)->FIELD), \
318 typeof(*(VAR)), FIELD), 1); \
319 (VAR) = (NEXT))
321 #define list_for_each_entry_reverse(VAR, HEAD, FIELD) \
322 for ((VAR) = list_entry(list_last((HEAD)), typeof(*(VAR)), FIELD); \
323 &(VAR)->FIELD != (HEAD); \
324 (VAR) = list_entry(list_prev(&(VAR)->FIELD), typeof(*(VAR)), \
327 #define list_for_each_entry_continue(VAR, HEAD, FIELD) \
328 for ((VAR) = list_next_entry((VAR), FIELD); \
329 &(VAR)->FIELD != (HEAD); \
330 (VAR) = list_next_entry((VAR), FIELD))
332 #define list_for_each_entry_continue_reverse(VAR, HEAD, FIELD) \
333 for ((VAR) = list_prev_entry((VAR), FIELD); \
334 &(VAR)->FIELD != (HEAD); \
335 (VAR) = list_prev_entry((VAR), FIELD))
337 #define list_for_each_entry_from(VAR, HEAD, FIELD) \
339 (&(VAR)->FIELD != (HEAD)); \
340 (VAR) = list_next_entry((VAR), FIELD))
342 #define list_for_each_entry_from_reverse(VAR, HEAD, FIELD) \
344 (&(VAR)->FIELD != (HEAD)); \
345 (VAR) = list_prev_entry((VAR), FIELD))
347 #define list_for_each_entry_safe_from(VAR, NEXT, HEAD, FIELD) \
349 (&(VAR)->FIELD != (HEAD)) && \
350 ((NEXT) = list_next_entry((VAR), FIELD)); \
351 (VAR) = (NEXT))
393 #define hlist_for_each(VAR, HEAD) \
394 for ((VAR) = hlist_first(HEAD); (VAR) != NULL; (VAR) = hlist_next(VAR))
395 #define hlist_for_each_safe(VAR, NEXT, HEAD) \
396 for ((VAR) = hlist_first(HEAD); \
397 (VAR) != NULL && ((NEXT) = hlist_next(HEAD), 1); \
398 (VAR) = (NEXT))
399 #define hlist_for_each_entry(VAR, HEAD, FIELD) \
400 for ((VAR) = (hlist_first(HEAD) == NULL ? NULL : \
401 hlist_entry(hlist_first(HEAD), typeof(*(VAR)), \
403 (VAR) != NULL; \
404 (VAR) = (hlist_next(&(VAR)->FIELD) == NULL ? NULL : \
405 hlist_entry(hlist_next(&(VAR)->FIELD), typeof(*(VAR)),\
408 #define hlist_for_each_entry_safe(VAR, NEXT, HEAD, FIELD) \
409 for ((VAR) = (hlist_first(HEAD) == NULL ? NULL : \
410 hlist_entry(hlist_first(HEAD), typeof(*(VAR)), \
412 ((VAR) != NULL && \
413 ((NEXT) = hlist_next(&(VAR)->FIELD), 1)); \
414 (VAR) = hlist_entry((NEXT), typeof(*(VAR)), FIELD))
437 #define hlist_for_each_entry_rcu(VAR, HEAD, FIELD) \
438 for ((VAR) = (hlist_first_rcu(HEAD) == NULL ? NULL : \
439 hlist_entry(hlist_first_rcu(HEAD), typeof(*(VAR)), \
441 (VAR) != NULL; \
442 (VAR) = (hlist_next_rcu(&(VAR)->FIELD) == NULL ? NULL : \
443 hlist_entry(hlist_next_rcu(&(VAR)->FIELD), \
444 typeof(*(VAR)), FIELD)))