Orocos Real-Time Toolkit  2.9.0
Classes | Namespaces | Macros | Functions
fosi_internal.cpp File Reference
#include <iostream>
#include <sched.h>
#include "os/ThreadInterface.hpp"
#include "fosi.h"
#include "../fosi_internal_interface.hpp"
#include <sys/mman.h>
#include <unistd.h>
#include <sys/types.h>
#include "../../rtt-config.h"
#include <string.h>
#include "../../Logger.hpp"

Go to the source code of this file.

Classes

struct  RTT::os::RTAI_Thread
 

Namespaces

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

Macros

#define OS_FOSI_INTERNAL_HPP
 
#define OROBLD_OS_LXRT_INTERNAL
 
#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 void * RTT::os::rtai_thread_wrapper (void *arg)
 
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...
 
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_check_scheduler (int *sched_type)
 This function checks (and corrects) if the given sched_type is valid for this RTOS. 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...
 
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...
 
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 RTT::os::rtos_task_get_priority (const RTOS_TASK *task)
 Return the priority of a thread. 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...
 

Macro Definition Documentation

#define INTERNAL_QUAL

Definition at line 52 of file fosi_internal.cpp.

Referenced by RTT::os::rtai_thread_wrapper().

#define OROBLD_OS_LXRT_INTERNAL

Definition at line 41 of file fosi_internal.cpp.

#define OS_FOSI_INTERNAL_HPP

Definition at line 40 of file fosi_internal.cpp.