|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Go to the source code of this file.
Data Structures | |
| struct | sys_notify |
| State associated with notification for an asynchronous operation. More... | |
| union | sys_notify::method |
Macros | |
| #define | SYS_NOTIFY_METHOD_COMPLETED 0 |
| #define | SYS_NOTIFY_METHOD_SPINWAIT 1 |
| #define | SYS_NOTIFY_METHOD_SIGNAL 2 |
| #define | SYS_NOTIFY_METHOD_CALLBACK 3 |
| #define | SYS_NOTIFY_METHOD_MASK 0x03U |
| #define | SYS_NOTIFY_METHOD_POS 0 |
| #define | SYS_NOTIFY_EXTENSION_POS 2 |
| Identify the region of sys_notify flags available for containing services. | |
| #define | SYS_NOTIFY_EXTENSION_MASK (~BIT_MASK(SYS_NOTIFY_EXTENSION_POS)) |
Typedefs | |
| typedef void(* | sys_notify_generic_callback) () |
| Generic signature used to notify of result completion by callback. | |
Functions | |
| static uint32_t | sys_notify_get_method (const struct sys_notify *notify) |
| int | sys_notify_validate (struct sys_notify *notify) |
| Validate and initialize the notify structure. | |
| sys_notify_generic_callback | sys_notify_finalize (struct sys_notify *notify, int res) |
| Record and signal the operation completion. | |
| static int | sys_notify_fetch_result (const struct sys_notify *notify, int *result) |
| Check for and read the result of an asynchronous operation. | |
| static void | sys_notify_init_spinwait (struct sys_notify *notify) |
| Initialize a notify object for spin-wait notification. | |
| static void | sys_notify_init_signal (struct sys_notify *notify, struct k_poll_signal *sigp) |
| Initialize a notify object for (k_poll) signal notification. | |
| static void | sys_notify_init_callback (struct sys_notify *notify, sys_notify_generic_callback handler) |
| Initialize a notify object for callback notification. | |
| static bool | sys_notify_uses_callback (const struct sys_notify *notify) |
| Detect whether a particular notification uses a callback. | |
| #define SYS_NOTIFY_EXTENSION_MASK (~BIT_MASK(SYS_NOTIFY_EXTENSION_POS)) |
| #define SYS_NOTIFY_EXTENSION_POS 2 |
Identify the region of sys_notify flags available for containing services.
Bits of the flags field of the sys_notify structure at and above this position may be used by extensions to the sys_notify structure.
These bits are intended for use by containing service implementations to record client-specific information. The bits are cleared by sys_notify_validate(). Use of these does not imply that the flags field becomes public API.
| #define SYS_NOTIFY_METHOD_CALLBACK 3 |
| #define SYS_NOTIFY_METHOD_COMPLETED 0 |
| #define SYS_NOTIFY_METHOD_MASK 0x03U |
| #define SYS_NOTIFY_METHOD_POS 0 |
| #define SYS_NOTIFY_METHOD_SIGNAL 2 |
| #define SYS_NOTIFY_METHOD_SPINWAIT 1 |