summaryrefslogtreecommitdiff
path: root/firmware/export/kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/kernel.h')
-rw-r--r--firmware/export/kernel.h10
1 files changed, 10 insertions, 0 deletions
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 @@
86#define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5) 86#define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5)
87 87
88#define IS_SYSEVENT(ev) ((ev & SYS_EVENT) == SYS_EVENT) 88#define IS_SYSEVENT(ev) ((ev & SYS_EVENT) == SYS_EVENT)
89#define EVENT_RESERVED (~0)
89 90
90#ifndef TIMEOUT_BLOCK 91#ifndef TIMEOUT_BLOCK
91#define TIMEOUT_BLOCK -1 92#define TIMEOUT_BLOCK -1
@@ -249,6 +250,15 @@ extern bool queue_in_queue_send(struct event_queue *q);
249#endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ 250#endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */
250extern bool queue_empty(const struct event_queue* q); 251extern bool queue_empty(const struct event_queue* q);
251extern bool queue_peek(struct event_queue *q, struct queue_event *ev); 252extern bool queue_peek(struct event_queue *q, struct queue_event *ev);
253
254#define QPEEK_FILTER_COUNT_MASK (0xffu) /* 0x00=1 filter, 0xff=256 filters */
255#define QPEEK_FILTER_HEAD_ONLY (1u << 8) /* Ignored if no filters */
256#define QPEEK_REMOVE_EVENTS (1u << 9) /* Remove or discard events */
257extern bool queue_peek_ex(struct event_queue *q,
258 struct queue_event *ev,
259 unsigned int flags,
260 const long (*filters)[2]);
261
252extern void queue_clear(struct event_queue* q); 262extern void queue_clear(struct event_queue* q);
253extern void queue_remove_from_head(struct event_queue *q, long id); 263extern void queue_remove_from_head(struct event_queue *q, long id);
254extern int queue_count(const struct event_queue *q); 264extern int queue_count(const struct event_queue *q);