summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/mpeg_misc.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-17 12:34:05 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-17 12:34:05 +0000
commitfcf36dd4f9879a82342e5606535d2dcf46d1de2a (patch)
tree21ed249c7a6f9d0bd7e2049c7a9f9e0708ba28f8 /apps/plugins/mpegplayer/mpeg_misc.h
parent9fde12676b382a31a10c58e2473edfde460e4d73 (diff)
downloadrockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.zip
rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.gz
rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.bz2
rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.xz
Simplify mpegplayer a bit and use array-based lists rather than linked lists for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26101 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer/mpeg_misc.h')
-rw-r--r--apps/plugins/mpegplayer/mpeg_misc.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/mpeg_misc.h b/apps/plugins/mpegplayer/mpeg_misc.h
index 5f60193..c36f4fa 100644
--- a/apps/plugins/mpegplayer/mpeg_misc.h
+++ b/apps/plugins/mpegplayer/mpeg_misc.h
@@ -202,4 +202,30 @@ uint32_t muldiv_uint32(uint32_t multiplicand,
uint32_t multiplier,
uint32_t divisor);
+
+/** Lists **/
+
+/* Does the list have any members? */
+bool list_is_empty(void **list);
+
+/* Is the item inserted into a particular list? */
+bool list_is_member(void **list, void *item);
+
+/* Removes an item from a list - returns true if item was found
+ * and thus removed. */
+bool list_remove_item(void **list, void *item);
+
+/* Adds a list item, insert last, if not already present. */
+void list_add_item(void **list, void *item);
+
+/* Clears the entire list. */
+void list_clear_all(void **list);
+
+/* Enumerate all items in the array. */
+typedef bool (*list_enum_callback_t)(void *item, intptr_t data);
+
+void list_enum_items(void **list,
+ list_enum_callback_t callback,
+ intptr_t data);
+
#endif /* MPEG_MISC_H */