Thread Enumerations and Types
include/thread/thread_types.h View source View on GitHubthread_state
Section titled “thread_state”enum thread_state : uint8_t {
THREAD_STATE_IDLE_THREAD,
THREAD_STATE_READY,
THREAD_STATE_RUNNING,
THREAD_STATE_BLOCKED,
THREAD_STATE_SLEEPING,
THREAD_STATE_ZOMBIE,
THREAD_STATE_TERMINATED,
THREAD_STATE_HALTED,
}; thread_wait_type
Section titled “thread_wait_type”enum thread_wait_type : uint8_t {
THREAD_WAIT_NONE,
THREAD_WAIT_UNINTERRUPTIBLE,
THREAD_WAIT_INTERRUPTIBLE,
}; thread_flags
Section titled “thread_flags”enum thread_flags : uint32_t {
THREAD_FLAG_PINNED = 1,
THREAD_FLAG_FLEXIBLE_RT = 1 << 1,
THREAD_FLAG_EXECUTING_APC = 1 << 2,
THREAD_FLAG_DYING = 1 << 3,
THREAD_FLAG_YIELDED = 1 << 4,
THREAD_FLAG_WAKE_MATCHED = 1 << 5,
THREAD_FLAG_RT_FAULT_TOLERANCE = 1 << 6,
}; thread_prio_class
Section titled “thread_prio_class”enum thread_prio_class : uint8_t {
THREAD_PRIO_CLASS_BACKGROUND = 0,
THREAD_PRIO_CLASS_TIMESHARE = 1,
THREAD_PRIO_CLASS_RT = 2,
THREAD_PRIO_CLASS_URGENT = 3,
}; thread_wake_reason
Section titled “thread_wake_reason”enum thread_wake_reason : uint8_t {
THREAD_WAKE_REASON_BLOCKING_IO = 1,
THREAD_WAKE_REASON_BLOCKING_MANUAL = 2,
THREAD_WAKE_REASON_SLEEP_TIMEOUT = 3,
THREAD_WAKE_REASON_SLEEP_MANUAL = 4,
}; thread_block_reason
Section titled “thread_block_reason”enum thread_block_reason : uint8_t {
THREAD_BLOCK_REASON_IO = 5,
THREAD_BLOCK_REASON_MANUAL = 6,
}; thread_sleep_reason
Section titled “thread_sleep_reason”enum thread_sleep_reason : uint8_t {
THREAD_SLEEP_REASON_MANUAL = 7,
}; wake_reason
Section titled “wake_reason”enum wake_reason {
WAKE_REASON_NONE = 0,
WAKE_REASON_SIGNAL = 1,
WAKE_REASON_TIMEOUT = 2,
}; Functions
Section titled “Functions”thread_create_internal
Section titled “thread_create_internal”struct thread * thread_create_internal(char *name, void (*entry_point)(void *), void *arg, size_t stack_size, va_list args); Macros
Section titled “Macros”THREAD_STACK_SIZE
Section titled “THREAD_STACK_SIZE”#define THREAD_STACK_SIZE (PAGE_SIZE * 4) THREAD_PRIO_CLASS_COUNT
Section titled “THREAD_PRIO_CLASS_COUNT”#define THREAD_PRIO_CLASS_COUNT (4)