3#include "core_defines.h"
8#define FURI_NORETURN [[noreturn]]
10#include <stdnoreturn.h>
11#define FURI_NORETURN noreturn
14#include <cmsis_compiler.h>
16#ifndef FURI_WARN_UNUSED
17#define FURI_WARN_UNUSED __attribute__((warn_unused_result))
20#ifndef FURI_DEPRECATED
21#define FURI_DEPRECATED __attribute__((deprecated))
25#define FURI_WEAK __attribute__((weak))
29#define FURI_PACKED __attribute__((packed))
32#ifndef FURI_ALWAYS_INLINE
33#define FURI_ALWAYS_INLINE __attribute__((always_inline)) inline
36#ifndef FURI_IS_IRQ_MASKED
37#define FURI_IS_IRQ_MASKED() (__get_PRIMASK() != 0U)
40#ifndef FURI_IS_IRQ_MODE
41#define FURI_IS_IRQ_MODE() (__get_IPSR() != 0U)
45#define FURI_IS_ISR() (FURI_IS_IRQ_MODE() || FURI_IS_IRQ_MASKED())
58#ifndef FURI_CRITICAL_ENTER
59#define FURI_CRITICAL_ENTER() __FuriCriticalInfo __furi_critical_info = __furi_critical_enter();
62#ifndef FURI_CRITICAL_EXIT
63#define FURI_CRITICAL_EXIT() __furi_critical_exit(__furi_critical_info);
66#ifndef FURI_CHECK_RETURN
67#define FURI_CHECK_RETURN __attribute__((__warn_unused_result__))
71#define FURI_NAKED __attribute__((naked))
75#define FURI_DEFAULT(x) __attribute__((weak, alias(x)))
Definition common_defines.h:48