From c537d5958e8b421ac4f9bef6c8b9e7425a6cf167 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Wed, 27 Apr 2011 03:08:23 +0000 Subject: Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/kernel.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'firmware/export/kernel.h') diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 66efce33f6..54a53f3607 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h @@ -86,6 +86,7 @@ #define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5) #define IS_SYSEVENT(ev) ((ev & SYS_EVENT) == SYS_EVENT) +#define EVENT_RESERVED (~0) #ifndef TIMEOUT_BLOCK #define TIMEOUT_BLOCK -1 @@ -249,6 +250,15 @@ extern bool queue_in_queue_send(struct event_queue *q); #endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ extern bool queue_empty(const struct event_queue* q); extern bool queue_peek(struct event_queue *q, struct queue_event *ev); + +#define QPEEK_FILTER_COUNT_MASK (0xffu) /* 0x00=1 filter, 0xff=256 filters */ +#define QPEEK_FILTER_HEAD_ONLY (1u << 8) /* Ignored if no filters */ +#define QPEEK_REMOVE_EVENTS (1u << 9) /* Remove or discard events */ +extern bool queue_peek_ex(struct event_queue *q, + struct queue_event *ev, + unsigned int flags, + const long (*filters)[2]); + extern void queue_clear(struct event_queue* q); extern void queue_remove_from_head(struct event_queue *q, long id); extern int queue_count(const struct event_queue *q); -- cgit v1.2.3