nRF Connect SDK Bare Metal API 2.0.99
Loading...
Searching...
No Matches
bm_scheduler.h
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
13#ifndef BM_SCHEDULER_H__
14#define BM_SCHEDULER_H__
15
16#include <stdint.h>
17#include <zephyr/sys/slist.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
26typedef void (*bm_scheduler_fn_t)(void *evt, size_t len);
27
37 sys_snode_t node;
45 size_t len;
49 uint8_t data[];
50};
51
66int bm_scheduler_defer(bm_scheduler_fn_t handler, void *data, size_t len);
67
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif /* BM_SCHEDULER_H__ */
82
int bm_scheduler_defer(bm_scheduler_fn_t handler, void *data, size_t len)
Schedule an event for execution in the main thread.
int bm_scheduler_process(void)
Process deferred events.
void(* bm_scheduler_fn_t)(void *evt, size_t len)
Event handler prototype.
Definition bm_scheduler.h:26
bm_scheduler_fn_t handler
Event handler.
Definition bm_scheduler.h:41
uint8_t data[]
Event data.
Definition bm_scheduler.h:49
size_t len
Event length.
Definition bm_scheduler.h:45
sys_snode_t node
Reserved.
Definition bm_scheduler.h:37
An event to be scheduled for execution in the main thread.
Definition bm_scheduler.h:33