Mark3 Realtime Kernel
kerneltypes.h
Go to the documentation of this file.
1 /*===========================================================================
2  _____ _____ _____ _____
3  ___| _|__ __|_ |__ __|__ |__ __| __ |__ ______
4 | \ / | || \ || | || |/ / ||___ |
5 | \/ | || \ || \ || \ ||___ |
6 |__/\__/|__|_||__|\__\ __||__|\__\ __||__|\__\ __||______|
7  |_____| |_____| |_____| |_____|
8 
9 --[Mark3 Realtime Platform]--------------------------------------------------
10 
11 Copyright (c) 2012 - 2019 m0slevin, all rights reserved.
12 See license.txt for more information
13 ===========================================================================*/
19 #include <stdint.h>
20 #include <stdbool.h>
21 #include <stddef.h>
22 
23 #pragma once
24 namespace Mark3
25 {
26 //---------------------------------------------------------------------------
30 using PanicFunc = void (*)(uint16_t u16PanicCode_);
31 
32 //---------------------------------------------------------------------------
37 using IdleFunc = void (*)();
38 
39 //---------------------------------------------------------------------------
43 using ThreadEntryFunc = void (*)(void* pvArg_);
44 
45 //---------------------------------------------------------------------------
50 enum class EventFlagOperation : uint8_t {
51  All_Set = 0,
52  Any_Set,
53  All_Clear,
54  Any_Clear,
56 };
57 
58 //---------------------------------------------------------------------------
62 enum class ThreadState : uint8_t { Exit = 0, Ready, Blocked, Stop, Invalid };
63 
64 } // namespace Mark3
EventFlagOperation
Definition: kerneltypes.h:50
Block until all bits in the specified bitmask are set.
Block until any bits in the specified bitmask are cleared.
Definition: atomic.cpp:23
void(*)() IdleFunc
Definition: kerneltypes.h:37
Block until all bits in the specified bitmask are cleared.
void(*)(void *pvArg_) ThreadEntryFunc
Definition: kerneltypes.h:43
ThreadState
Definition: kerneltypes.h:62
void(*)(uint16_t u16PanicCode_) PanicFunc
Definition: kerneltypes.h:30
Block until any bits in the specified bitmask are set.