Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
baremetal.h
Go to the documentation of this file.
1
6#ifndef NEXUS_OS_BAREMETAL_H
7#define NEXUS_OS_BAREMETAL_H
8#include "nexus/os/wait.h"
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
15typedef struct {
16 uint32_t sequence;
17 uint64_t (*now_us)(void*);
20
31 uint64_t (*now_us)(void*),
32 void* clock_context);
47
48#ifdef __cplusplus
49}
50#endif
51
52#endif /* NEXUS_OS_BAREMETAL_H */
nx_result_t nx_baremetal_notify_init(nx_baremetal_notify_t *notification, uint64_t(*now_us)(void *), void *clock_context)
Initialize storage before exposing it to any ISR.
nx_wait_port_t nx_baremetal_notify_port(nx_baremetal_notify_t *notification)
Bind the explicit polling notification.
nx_result_t
Operation result; success at submission means admission only.
Definition status.h:21
Explicit nonblocking bare-metal notification storage.
Definition baremetal.h:15
uint64_t(* now_us)(void *)
Definition baremetal.h:17
Single-waiter notification port.
Definition wait.h:42
Optional sequence-latched waiting without hidden workers.