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 |