summaryrefslogtreecommitdiffstats
path: root/include/list.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/list.h')
-rw-r--r--include/list.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/list.h b/include/list.h
index 414d356ba..e9ed0c4cd 100644
--- a/include/list.h
+++ b/include/list.h
@@ -127,11 +127,11 @@ _INLINE_ int list_empty(struct list_head *head)
}
/**
- * list_last_entry - tests whether is entry last in the list
+ * list_entry_is_last - tests whether is entry last in the list
* @entry: the entry to test.
* @head: the list to test.
*/
-_INLINE_ int list_last_entry(struct list_head *entry, struct list_head *head)
+_INLINE_ int list_entry_is_last(struct list_head *entry, struct list_head *head)
{
return head->prev == entry;
}
@@ -171,6 +171,9 @@ _INLINE_ void list_splice(struct list_head *list, struct list_head *head)
#define list_first_entry(head, type, member) \
((head) && (head)->next != (head) ? list_entry((head)->next, type, member) : NULL)
+#define list_last_entry(head, type, member) \
+ ((head) && (head)->prev != (head) ? list_entry((head)->prev, type, member) : NULL)
+
/**
* list_for_each - iterate over elements in a list
* @pos: the &struct list_head to use as a loop counter.