Orocos Real-Time Toolkit  2.8.3
Classes | Namespaces | Macros | Functions
fosi_internal.cpp File Reference
#include "../ThreadInterface.hpp"
#include "fosi.h"
#include "../fosi_internal_interface.hpp"
#include "../../Logger.hpp"
#include <cassert>
#include "../Mutex.hpp"

Go to the source code of this file.

Classes

struct  rt_mutex_impl_t
 

Namespaces

 RTT
 Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
 
 RTT::os
 OS Abstractions such as Mutexes, Semaphores and Threads.
 

Macros

#define INTERNAL_QUAL
 

Functions

INTERNAL_QUAL int RTT::os::rtos_task_create_main (RTOS_TASK *main_task)
 Initialise the main thread. More...
 
INTERNAL_QUAL int RTT::os::rtos_task_delete_main (RTOS_TASK *main_task)
 Cleanup the main thread. More...
 
INTERNAL_QUAL int RTT::os::rtos_task_create (RTOS_TASK *task, int priority, unsigned cpu_affinity, const char *name, int sched_type, size_t stack_size, void *(*start_routine)(void *), ThreadInterface *obj)
 Create a thread. More...
 
INTERNAL_QUAL void RTT::os::rtos_task_yield (RTOS_TASK *task)
 Yields the current thread. More...
 
int RTT::os::rtos_task_is_self (const RTOS_TASK *task)
 Returns 1 when task is the task struct of the thread calling this function, 0 otherwise. More...
 
int RTT::os::rtos_task_set_scheduler (RTOS_TASK *t, int sched_type)
 Set the scheduler of a given task t to a the type sched_type. More...
 
int RTT::os::rtos_task_get_scheduler (const RTOS_TASK *t)
 Returns the current scheduler set for task t. More...
 
INTERNAL_QUAL void RTT::os::rtos_task_make_periodic (RTOS_TASK *mytask, NANO_TIME nanosecs)
 This function is to inform the RTOS that a thread is switching between periodic or non-periodic execution. More...
 
void RTT::os::rtos_task_set_period (RTOS_TASK *mytask, NANO_TIME nanosecs)
 Change the period of a periodic RTOS task. More...
 
void RTT::os::rtos_task_set_wait_period_policy (RTOS_TASK *task, int policy)
 Set the wait policy of a thread. More...
 
int RTT::os::rtos_task_wait_period (RTOS_TASK *task)
 This function is called by a periodic thread which wants to go to sleep and wake up the next period. More...
 
void RTT::os::rtos_task_delete (RTOS_TASK *mytask)
 This function must join the thread created with rtos_task_create and then clean up the RTOS_TASK struct. More...
 
int RTT::os::rtos_task_check_scheduler (int *sched_type)
 This function checks (and corrects) if the given sched_type is valid for this RTOS. More...
 
INTERNAL_QUAL int RTT::os::rtos_task_check_priority (int *sched_type, int *priority)
 This function checks (and corrects) a given priority within a given scheduler type. More...
 
int RTT::os::rtos_task_set_priority (RTOS_TASK *task, int priority)
 Set the priority of a thread. More...
 
int RTT::os::rtos_task_get_priority (const RTOS_TASK *task)
 Return the priority of a thread. More...
 
unsigned int RTT::os::rtos_task_get_pid (const RTOS_TASK *task)
 Returns the process ID the OS gave to the task task. More...
 
int RTT::os::rtos_task_set_cpu_affinity (RTOS_TASK *task, unsigned cpu_affinity)
 Set the cpu affinity of a thread. More...
 
unsigned RTT::os::rtos_task_get_cpu_affinity (const RTOS_TASK *task)
 Return the cpu affinity of a thread. More...
 
const char * RTT::os::rtos_task_get_name (const RTOS_TASK *task)
 Returns the name by which a task is known in the RTOS. More...
 
int rtos_mutex_init (rt_mutex_t *m)
 
int rtos_mutex_destroy (rt_mutex_t *m)
 
int rtos_mutex_lock (rt_mutex_t *m)
 
int rtos_mutex_unlock (rt_mutex_t *m)
 

Macro Definition Documentation

#define INTERNAL_QUAL

Definition at line 41 of file fosi_internal.cpp.

Function Documentation

int rtos_mutex_destroy ( rt_mutex_t m)

Definition at line 305 of file fosi_internal.cpp.

Referenced by rtos_nanosleep(), rtos_printf(), and RTT::os::Mutex::~Mutex().

int rtos_mutex_init ( rt_mutex_t m)

Definition at line 298 of file fosi_internal.cpp.

Referenced by RTT::os::Mutex::Mutex(), rtos_nanosleep(), and rtos_printf().

int rtos_mutex_lock ( rt_mutex_t m)

Definition at line 314 of file fosi_internal.cpp.

Referenced by RTT::os::Mutex::lock(), rtos_nanosleep(), and rtos_printf().

int rtos_mutex_unlock ( rt_mutex_t m)

Definition at line 322 of file fosi_internal.cpp.

Referenced by rtos_nanosleep(), rtos_printf(), and RTT::os::Mutex::unlock().