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.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h
index 23ffc3c06a..ec8aa28a08 100644
--- a/firmware/export/kernel.h
+++ b/firmware/export/kernel.h
@@ -20,6 +20,7 @@
20#define _KERNEL_H_ 20#define _KERNEL_H_
21 21
22#include <stdbool.h> 22#include <stdbool.h>
23#include <inttypes.h>
23#include "config.h" 24#include "config.h"
24 25
25/* wrap-safe macros for tick comparison */ 26/* wrap-safe macros for tick comparison */
@@ -51,15 +52,15 @@
51 52
52struct event 53struct event
53{ 54{
54 long id; 55 long id;
55 void *data; 56 intptr_t data;
56}; 57};
57 58
58#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME 59#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME
59struct queue_sender 60struct queue_sender
60{ 61{
61 struct thread_entry *thread; 62 struct thread_entry *thread;
62 void *retval; 63 intptr_t retval;
63}; 64};
64 65
65struct queue_sender_list 66struct queue_sender_list
@@ -112,17 +113,17 @@ extern void queue_init(struct event_queue *q, bool register_queue);
112extern void queue_delete(struct event_queue *q); 113extern void queue_delete(struct event_queue *q);
113extern void queue_wait(struct event_queue *q, struct event *ev); 114extern void queue_wait(struct event_queue *q, struct event *ev);
114extern void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks); 115extern void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks);
115extern void queue_post(struct event_queue *q, long id, void *data); 116extern void queue_post(struct event_queue *q, long id, intptr_t data);
116#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME 117#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME
117extern void queue_enable_queue_send(struct event_queue *q, struct queue_sender_list *send); 118extern void queue_enable_queue_send(struct event_queue *q, struct queue_sender_list *send);
118extern void * queue_send(struct event_queue *q, long id, void *data); 119extern intptr_t queue_send(struct event_queue *q, long id, intptr_t data);
119extern void queue_reply(struct event_queue *q, void *retval); 120extern void queue_reply(struct event_queue *q, intptr_t retval);
120extern bool queue_in_queue_send(struct event_queue *q); 121extern bool queue_in_queue_send(struct event_queue *q);
121#endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ 122#endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */
122extern bool queue_empty(const struct event_queue* q); 123extern bool queue_empty(const struct event_queue* q);
123extern void queue_clear(struct event_queue* q); 124extern void queue_clear(struct event_queue* q);
124extern void queue_remove_from_head(struct event_queue *q, long id); 125extern void queue_remove_from_head(struct event_queue *q, long id);
125extern int queue_broadcast(long id, void *data); 126extern int queue_broadcast(long id, intptr_t data);
126 127
127extern void mutex_init(struct mutex *m); 128extern void mutex_init(struct mutex *m);
128extern void mutex_lock(struct mutex *m); 129extern void mutex_lock(struct mutex *m);