| EE445M RTOS
    Taken at the University of Texas Spring 2015 | 
#include <stdint.h>#include <stdbool.h>#include "inc/hw_ints.h"#include "libstd/nexus.h"#include "libschedule/edf.h"#include "thread_structures.h"

Go to the source code of this file.
| Data Structures | |
| struct | hwcontext | 
| struct | swcontext | 
| Macros | |
| #define | OS_STACK_SIZE 100 | 
| #define | OS_NUM_POOLS 2 | 
| #define | OS_SYSTEM_POOL 0 | 
| #define | OS_REAL_TIME_POOL 0 | 
| #define | OS_INTERACTIVE_POOL 1 | 
| #define | os_spawn_thread(_thread, _priority) os_add_thread(_thread, priority) | 
| #define | os_kill_thread(_thread) os_remove_thread(_thread) | 
| #define | os_surrender_context() os_suspend() | 
| Typedefs | |
| typedef struct hwcontext | hwcontext_t | 
| typedef struct swcontext | swcontext_t | 
| Functions | |
| void | os_threading_init (void) | 
| void | _os_reset_thread_stack (tcb_t *tcb, task_t task) | 
| int8_t | get_os_num_threads () | 
| tcb_t * | os_add_thread (task_t) | 
| tcb_t * | os_remove_thread (task_t) | 
| tcb_t * | os_tcb_of (task_t) | 
| tcb_t * | _os_next_dead_thread () | 
| int32_t | os_running_thread_id () | 
| void | os_launch () | 
| void | os_suspend () | 
| Variables | |
| static tcb_t * | os_running_threads = NULL | 
| static tcb_t * | os_dead_threads = NULL | 
| static tcb_t * | OS_NEXT_THREAD | 
| static tcb_t | OS_THREADS [SCHEDULER_MAX_THREADS] | 
| static tcb_t * | OS_THREAD_POOL [2] |