Loading...
Searching...
No Matches
dpl_os.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Inria
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#include "os/os.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
29#define DPL_ENTER_CRITICAL(_sr) (_sr = os_hw_enter_critical())
30#define DPL_EXIT_CRITICAL(_sr) (os_hw_exit_critical(_sr))
31#define DPL_ASSERT_CRITICAL() assert(os_hw_is_in_critical())
33
38
44static inline uint32_t dpl_hw_enter_critical(void)
45{
46 return os_hw_enter_critical();
47}
48
54static inline void dpl_hw_exit_critical(uint32_t ctx)
55{
57}
58
64static inline bool dpl_hw_is_in_critical(void)
65{
66 return os_hw_is_in_critical();
67}
68
69#ifdef __cplusplus
70}
71#endif
os_sr_t dpl_sr_t
CPU status register.
Definition dpl_os.h:37
static void dpl_hw_exit_critical(uint32_t ctx)
Restores ISR context.
Definition dpl_os.h:54
static uint32_t dpl_hw_enter_critical(void)
Disable ISRs.
Definition dpl_os.h:44
static bool dpl_hw_is_in_critical(void)
Check if is in critical section.
Definition dpl_os.h:64
mynewt-core error types
static bool os_hw_is_in_critical(void)
Check if is in critical section.
Definition os.h:94
static void os_hw_exit_critical(uint32_t ctx)
Restores ISR context.
Definition os.h:84
static uint32_t os_hw_enter_critical(void)
Disable ISRs.
Definition os.h:73
uint32_t os_sr_t
CPU status register.
Definition os.h:57