RTEMS  5.1
Data Structures | Macros | Typedefs | Functions
tasks.h File Reference

Classic Task Manager API. More...

#include <rtems/rtems/attr.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
#include <rtems/score/smp.h>

Go to the source code of this file.

Data Structures

struct  rtems_initialization_tasks_table
 

Macros

#define RTEMS_SELF   OBJECTS_ID_OF_SELF
 
#define RTEMS_YIELD_PROCESSOR   WATCHDOG_NO_TIMEOUT
 
#define RTEMS_NO_PRIORITY   RTEMS_CURRENT_PRIORITY
 
#define RTEMS_MINIMUM_PRIORITY   1
 
#define RTEMS_MAXIMUM_PRIORITY   _RTEMS_Maximum_priority()
 
#define RTEMS_CURRENT_PRIORITY   0
 
#define rtems_scheduler_get_processor()   _SMP_Get_current_processor()
 Returns the index of the current processor. More...
 
#define rtems_scheduler_get_processor_maximum()   _SMP_Get_processor_maximum()
 Returns the processor maximum supported by the system. More...
 

Typedefs

typedef uint32_t rtems_task_priority
 
typedef struct _Thread_Control rtems_tcb
 
typedef void rtems_task
 
typedef CPU_Uint32ptr rtems_task_argument
 
typedef rtems_task(* rtems_task_entry) (rtems_task_argument)
 
typedef bool(* rtems_task_visitor) (rtems_tcb *tcb, void *arg)
 Task visitor. More...
 

Functions

rtems_task_priority _RTEMS_Maximum_priority (void)
 
rtems_status_code rtems_task_create (rtems_name name, rtems_task_priority initial_priority, size_t stack_size, rtems_mode initial_modes, rtems_attribute attribute_set, rtems_id *id)
 RTEMS Task Create. More...
 
rtems_status_code rtems_task_ident (rtems_name name, uint32_t node, rtems_id *id)
 RTEMS Task Name to Id. More...
 
rtems_status_code rtems_task_delete (rtems_id id)
 RTEMS Delete Task. More...
 
void rtems_task_exit (void) RTEMS_NO_RETURN
 
rtems_status_code rtems_task_mode (rtems_mode mode_set, rtems_mode mask, rtems_mode *previous_mode_set)
 RTEMS Task Mode. More...
 
rtems_status_code rtems_task_restart (rtems_id id, rtems_task_argument argument)
 RTEMS Task Restart. More...
 
rtems_status_code rtems_task_suspend (rtems_id id)
 RTEMS Suspend Task. More...
 
rtems_status_code rtems_task_resume (rtems_id id)
 RTEMS Resume Task. More...
 
rtems_status_code rtems_task_set_priority (rtems_id id, rtems_task_priority new_priority, rtems_task_priority *old_priority)
 RTEMS Set Task Priority. More...
 
rtems_status_code rtems_task_get_priority (rtems_id task_id, rtems_id scheduler_id, rtems_task_priority *priority)
 Gets the current priority of the specified task with respect to the specified scheduler instance. More...
 
rtems_status_code rtems_task_start (rtems_id id, rtems_task_entry entry_point, rtems_task_argument argument)
 RTEMS Start Task. More...
 
rtems_status_code rtems_task_wake_when (rtems_time_of_day *time_buffer)
 RTEMS Task Wake When. More...
 
rtems_status_code rtems_task_wake_after (rtems_interval ticks)
 RTEMS Task Wake After. More...
 
rtems_status_code rtems_task_is_suspended (rtems_id id)
 rtems_task_is_suspended More...
 
rtems_status_code rtems_task_get_affinity (rtems_id id, size_t cpusetsize, cpu_set_t *cpuset)
 Gets the processor affinity set of a task. More...
 
rtems_status_code rtems_task_set_affinity (rtems_id id, size_t cpusetsize, const cpu_set_t *cpuset)
 Sets the processor affinity set of a task. More...
 
rtems_status_code rtems_task_get_scheduler (rtems_id task_id, rtems_id *scheduler_id)
 Gets the scheduler of a task. More...
 
rtems_status_code rtems_task_set_scheduler (rtems_id task_id, rtems_id scheduler_id, rtems_task_priority priority)
 Sets the scheduler instance of a task. More...
 
rtems_id rtems_task_self (void)
 RTEMS Get Self Task Id. More...
 
void rtems_task_iterate (rtems_task_visitor visitor, void *arg)
 Iterates over all tasks in the system. More...
 
rtems_status_code rtems_scheduler_ident (rtems_name name, rtems_id *id)
 Identifies a scheduler by its name. More...
 
rtems_status_code rtems_scheduler_ident_by_processor (uint32_t cpu_index, rtems_id *id)
 Identifies a scheduler by a processor index. More...
 
rtems_status_code rtems_scheduler_ident_by_processor_set (size_t cpusetsize, const cpu_set_t *cpuset, rtems_id *id)
 Identifies a scheduler by a processor set. More...
 
RTEMS_DEPRECATED RTEMS_INLINE_ROUTINE uint32_t rtems_get_current_processor (void)
 Returns the index of the current processor. More...
 
RTEMS_DEPRECATED RTEMS_INLINE_ROUTINE uint32_t rtems_get_processor_count (void)
 Returns the processor maximum supported by the system. More...
 
rtems_status_code rtems_scheduler_get_processor_set (rtems_id scheduler_id, size_t cpusetsize, cpu_set_t *cpuset)
 Gets the set of processors owned by the specified scheduler instance. More...
 
rtems_status_code rtems_scheduler_add_processor (rtems_id scheduler_id, uint32_t cpu_index)
 Adds a processor to the set of processors owned by the specified scheduler instance. More...
 
rtems_status_code rtems_scheduler_remove_processor (rtems_id scheduler_id, uint32_t cpu_index)
 Removes a processor from set of processors owned by the specified scheduler instance. More...
 
rtems_status_code rtems_scheduler_get_maximum_priority (rtems_id scheduler_id, rtems_task_priority *priority)
 Gets the maximum task priority of the specified scheduler instance. More...
 
rtems_status_code rtems_scheduler_map_priority_to_posix (rtems_id scheduler_id, rtems_task_priority priority, int *posix_priority)
 Map a task priority to the corresponding POSIX thread priority. More...
 
rtems_status_code rtems_scheduler_map_priority_from_posix (rtems_id scheduler_id, int posix_priority, rtems_task_priority *priority)
 Map a POSIX thread priority to the corresponding task priority. More...
 

Detailed Description

Classic Task Manager API.