Orocos Real-Time Toolkit  2.6.0
Namespaces | Functions
fosi_internal_interface.hpp File Reference

This file has all the (periodic) thread specific interfaces. More...

#include "ThreadInterface.hpp"
#include "fosi.h"

Go to the source code of this file.


namespace  RTT

Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.

namespace  RTT::os

OS Abstractions such as Mutexes, Semaphores and Threads.


INTERNAL_QUAL int RTT::os::rtos_task_create_main (RTOS_TASK *main_task)
 Initialise the main thread.
INTERNAL_QUAL int RTT::os::rtos_task_delete_main (RTOS_TASK *main_task)
 Cleanup the main thread.
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.
INTERNAL_QUAL void RTT::os::rtos_task_yield (RTOS_TASK *task)
 Yields the current thread.
unsigned int RTT::os::rtos_task_get_pid (const RTOS_TASK *task)
 Returns the process ID the OS gave to the task task.
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.
int RTT::os::rtos_task_get_scheduler (const RTOS_TASK *t)
 Returns the current scheduler set for task t.
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.
void RTT::os::rtos_task_set_period (RTOS_TASK *mytask, NANO_TIME nanosecs)
 Change the period of a periodic RTOS task.
void RTT::os::rtos_task_set_wait_period_policy (RTOS_TASK *task, int policy)
 Set the wait policy of a thread.
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.
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.
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.
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.
int RTT::os::rtos_task_set_priority (RTOS_TASK *task, int priority)
 Set the priority of a thread.
int RTT::os::rtos_task_get_priority (const RTOS_TASK *task)
 Return the priority of a thread.
int RTT::os::rtos_task_set_cpu_affinity (RTOS_TASK *task, unsigned cpu_affinity)
 Set the cpu affinity of a thread.
unsigned RTT::os::rtos_task_get_cpu_affinity (const RTOS_TASK *task)
 Return the cpu affinity of a thread.
const char * RTT::os::rtos_task_get_name (const RTOS_TASK *task)
 Returns the name by which a task is known in the RTOS.
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.

Detailed Description

This file has all the (periodic) thread specific interfaces.

If a function does not apply to your OS, it may be left empty.

Definition in file fosi_internal_interface.hpp.