C Microkernel Realtime eXecutive
Realtime Operating System for Cortex-M based microcontrollers
 
Loading...
Searching...
No Matches
notify.h
1#pragma once
2
3#include "runtime.h"
4
5#include <stdbool.h>
6
21 const void * address;
23};
24
48
49#define OS_NOTIFY_INVALID 0xFFFFFFFF
50
55void os_notify_init(void);
56
65int os_notify_thread(Thread_t thread_id, int candidate_timer, Event_t event);
66
77int os_notify_object(const void * object, Event_t event, uint32_t flags);
78
88int os_wait_for_object(const void * object, WaitHandler_t callback, uint32_t flags);
89
96int os_initialize_waitable_object(const void * object);
97
103int os_sys_notify_object(const void * object);
104
112int os_sys_notify_object2(const void * object, uint32_t flags);
113
119int os_sys_wait_for_object(const void * object, uint32_t timeout);
120
126int os_sys_wait_for_object_value(uint8_t * object, uint8_t value, uint32_t timeout, uint32_t flags);
127
uint8_t Thread_t
Data type used for thread IDs.
Definition defines.h:72
int Event_t
Type to carry event being notified.
Definition runtime.h:58
void() WaitHandler_t(const void *, Thread_t, int, Event_t)
Prototype for function that handles thread wakeup on notification.
Definition runtime.h:62
int os_initialize_waitable_object(const void *object)
Initialize waitable object.
Definition notify.c:78
int os_notify_object(const void *object, Event_t event, uint32_t flags)
Resume one thread that are waiting for this object.
Definition notify.c:179
int os_wait_for_object(const void *object, WaitHandler_t callback, uint32_t flags)
Wait for object.
Definition notify.c:349
int os_sys_notify_object2(const void *object, uint32_t flags)
Implementation of notify_object2 syscall.
Definition notify.c:239
EventTypes
List of possible notification types.
Definition notify.h:33
int os_notify_thread(Thread_t thread_id, int candidate_timer, Event_t event)
Notify specific thread waiting for object Delivers notification to a specific thread.
Definition notify.c:137
int os_sys_wait_for_object_value(uint8_t *object, uint8_t value, uint32_t timeout, uint32_t flags)
Implementation of wait_for_object_value syscall.
Definition notify.c:313
int os_sys_notify_object(const void *object)
Implementation of notify_object syscall.
Definition notify.c:234
int os_sys_wait_for_object(const void *object, uint32_t timeout)
Implementation of wait_for_object syscall.
Definition notify.c:304
void os_notify_init(void)
Initialize the notification structure This will initialize internal notification buffers to the defau...
Definition notify.c:66
@ EVT_TIMEOUT
Timeout notification Notification delivering the information that waiting for notification has timed ...
Definition notify.h:44
@ EVT_DEFAULT
The default notification Notification delivering the information that event waiting thread was waitin...
Definition notify.h:38
@ _EVT_COUNT
Definition notify.h:46
Definition notify.h:20
uint32_t pending_notifications
Definition notify.h:22
const void * address
Definition notify.h:21