]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
Add kmod_list_prev to exported functions
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 1 Dec 2011 16:47:03 +0000 (14:47 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 1 Dec 2011 16:47:44 +0000 (14:47 -0200)
libkmod/libkmod-list.c
libkmod/libkmod.h
libkmod/libkmod.sym

index 6d75d66d285794502638ea5c49faf13796b8a62e..d74d66dff6894fd0f71cac06fb104edbed728700 100644 (file)
@@ -138,6 +138,18 @@ struct kmod_list *kmod_list_remove_data(struct kmod_list *list,
        return container_of(node, struct kmod_list, node);
 }
 
+KMOD_EXPORT struct kmod_list *kmod_list_prev(struct kmod_list *list,
+                                                       struct kmod_list *curr)
+{
+       if (list == NULL || curr == NULL)
+               return NULL;
+
+       if (curr->node.prev == &list->node)
+               return NULL;
+
+       return container_of(curr->node.prev, struct kmod_list, node);
+}
+
 KMOD_EXPORT struct kmod_list *kmod_list_next(struct kmod_list *list,
                                                        struct kmod_list *curr)
 {
index 2d5c281d2ed5708d0a76519e2e8b908a956a6374..8e262d4e52bbe13fb6eb323182fa3c48ac29f771 100644 (file)
@@ -56,6 +56,8 @@ void kmod_set_userdata(struct kmod_ctx *ctx, void *userdata);
 struct kmod_list;
 struct kmod_list *kmod_list_next(struct kmod_list *first_entry,
                                                struct kmod_list *list_entry);
+struct kmod_list *kmod_list_prev(struct kmod_list *first_entry,
+                                               struct kmod_list *list_entry);
 #define kmod_list_foreach(list_entry, first_entry) \
        for (list_entry = first_entry; \
                list_entry != NULL; \
index 06f4077b920dcf3cf31ab4400cbe95e74203aa7e..70fdd00bd85c9e2a1a0498420755b6578c3c204b 100644 (file)
@@ -10,6 +10,7 @@ global:
        kmod_set_userdata;
        kmod_unref;
        kmod_list_next;
+       kmod_list_prev;
        kmod_loaded_new;
        kmod_loaded_ref;
        kmod_loaded_unref;