Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00047 #ifndef OS_FOSI_INTERNAL_INTERFACE_HPP
00048 #define OS_FOSI_INTERNAL_INTERFACE_HPP
00049 
00050 #include "ThreadInterface.hpp"
00051 #include "fosi.h"
00052 
00053 namespace RTT {
00054     namespace os {
00064             int rtos_task_create_main(RTOS_TASK* main_task);
00065 
00072             int rtos_task_delete_main(RTOS_TASK* main_task);
00073 
00092             int rtos_task_create(RTOS_TASK* task,
00093                                  int priority,
00094                                  unsigned cpu_affinity,
00095                                  const char * name,
00096                                  int sched_type,
00097                                  size_t stack_size,
00098                                  void * (*start_routine)(void *),
00099                                  ThreadInterface* obj);
00100 
00105             void rtos_task_yield(RTOS_TASK* task);
00106 
00113             unsigned int rtos_task_get_pid(const RTOS_TASK* task);
00114 
00130             int rtos_task_set_scheduler(RTOS_TASK* t, int sched_type);
00131 
00138             int rtos_task_get_scheduler(const RTOS_TASK* t);
00139 
00151             void rtos_task_make_periodic(RTOS_TASK* mytask, NANO_TIME nanosecs );
00152 
00164             void rtos_task_set_period( RTOS_TASK* mytask, NANO_TIME nanosecs );
00165 
00171             void rtos_task_set_wait_period_policy( RTOS_TASK* task, int policy );
00172 
00180             int rtos_task_wait_period( RTOS_TASK* task );
00181 
00188             void rtos_task_delete(RTOS_TASK* mytask);
00189 
00198             int rtos_task_check_scheduler(int* sched_type);
00199 
00210             int rtos_task_check_priority(int* sched_type, int* priority);
00211 
00218             int rtos_task_set_priority(RTOS_TASK * task,int priority);
00219 
00225             int rtos_task_get_priority(const RTOS_TASK * task);
00226 
00235             int rtos_task_set_cpu_affinity(RTOS_TASK * task,unsigned cpu_affinity);
00236 
00242             unsigned rtos_task_get_cpu_affinity(const RTOS_TASK * task);
00243 
00249             const char * rtos_task_get_name(const RTOS_TASK* task);
00250 
00258             int rtos_task_is_self(const RTOS_TASK* task);
00259     }
00260 }
00261 #endif