RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Typedefs | Functions | Variables
tasks.h File Reference
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/types.h>
#include <rtems/rtems/event.h>
#include <rtems/rtems/asr.h>
#include <rtems/rtems/attr.h>
#include <rtems/rtems/status.h>
Include dependency graph for tasks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rtems_initialization_tasks_table
 The following records define the Initialization Tasks Table. More...
 
struct  RTEMS_API_Control
 This is the API specific information required by each thread for the RTEMS API to function correctly. More...
 

Macros

#define RTEMS_SELF   OBJECTS_ID_OF_SELF
 Constant to be used as the ID of current task.
 
#define RTEMS_YIELD_PROCESSOR   WATCHDOG_NO_TIMEOUT
 This constant is passed to the rtems_task_wake_after directive as the interval when a task wishes to yield the CPU.
 
#define RTEMS_NO_PRIORITY   RTEMS_CURRENT_PRIORITY
 This is the constant used with the rtems_task_set_priority directive to indicate that the caller wants to obtain its current priority rather than set it as the name of the directive indicates.
 
#define RTEMS_MINIMUM_PRIORITY   (PRIORITY_MINIMUM + 1)
 This constant is the least valid value for a Classic API task priority.
 
#define RTEMS_MAXIMUM_PRIORITY   PRIORITY_MAXIMUM
 This constant is the maximum valid value for a Classic API task priority. More...
 
#define RTEMS_CURRENT_PRIORITY   PRIORITY_MINIMUM
 The following constant is passed to rtems_task_set_priority when the caller wants to obtain the current priority.
 
#define RTEMS_NOTEPAD_FIRST   0
 This is used to indicate the lowest numbered notepad.
 
#define RTEMS_NOTEPAD_0   0
 This is used to indicate the notepad location 0. More...
 
#define RTEMS_NOTEPAD_1   1
 This is used to indicate the notepad location 1. More...
 
#define RTEMS_NOTEPAD_2   2
 This is used to indicate the notepad location 2. More...
 
#define RTEMS_NOTEPAD_3   3
 This is used to indicate the notepad location 3. More...
 
#define RTEMS_NOTEPAD_4   4
 This is used to indicate the notepad location 4. More...
 
#define RTEMS_NOTEPAD_5   5
 This is used to indicate the notepad location 5. More...
 
#define RTEMS_NOTEPAD_6   6
 This is used to indicate the notepad location 6. More...
 
#define RTEMS_NOTEPAD_7   7
 This is used to indicate the notepad location 7. More...
 
#define RTEMS_NOTEPAD_8   8
 This is used to indicate the notepad location 8. More...
 
#define RTEMS_NOTEPAD_9   9
 This is used to indicate the notepad location 9. More...
 
#define RTEMS_NOTEPAD_10   10
 This is used to indicate the notepad location 10. More...
 
#define RTEMS_NOTEPAD_11   11
 This is used to indicate the notepad location 11. More...
 
#define RTEMS_NOTEPAD_12   12
 This is used to indicate the notepad location 12. More...
 
#define RTEMS_NOTEPAD_13   13
 This is used to indicate the notepad location 13. More...
 
#define RTEMS_NOTEPAD_14   14
 This is used to indicate the notepad location 14. More...
 
#define RTEMS_NOTEPAD_15   15
 This is used to indicate the notepad location 15. More...
 
#define RTEMS_NOTEPAD_LAST   RTEMS_NOTEPAD_15
 This is used to indicate the highest numbered notepad. More...
 
#define RTEMS_NUMBER_NOTEPADS   (RTEMS_NOTEPAD_LAST+1)
 This is used to indicate the number of notepads available. More...
 

Typedefs

typedef Priority_Control rtems_task_priority
 Define the type for an RTEMS API task priority.
 
typedef Thread_Control rtems_tcb
 External API name for Thread_Control.
 
typedef void rtems_task
 The following defines the "return type" of an RTEMS task.
 
typedef Thread_Entry_numeric_type rtems_task_argument
 The following defines the argument to an RTEMS task.
 
typedef rtems_task(* rtems_task_entry) (rtems_task_argument)
 The following defines the type for the entry point of an RTEMS task.
 

Functions

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...
 
rtems_status_code rtems_task_get_note (rtems_id id, uint32_t notepad, uint32_t *note)
 RTEMS Get Task Node. More...
 
rtems_status_code rtems_task_set_note (rtems_id id, uint32_t notepad, uint32_t note)
 RTEMS Set Task Note. More...
 
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, uint32_t arg)
 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_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_variable_add (rtems_id tid, void **ptr, void(*dtor)(void *))
 RTEMS Add Task Variable. More...
 
rtems_status_code rtems_task_variable_get (rtems_id tid, void **ptr, void **result)
 Get a per-task variable. More...
 
rtems_status_code rtems_task_variable_delete (rtems_id tid, void **ptr)
 RTEMS Delete Task Variable. 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)
 Sets the scheduler of a task. More...
 
rtems_id rtems_task_self (void)
 RTEMS Get Self Task Id. More...
 
rtems_status_code rtems_scheduler_ident (rtems_name name, rtems_id *id)
 Identifies a scheduler by its name. More...
 
void _RTEMS_tasks_Initialize_user_tasks_body (void)
 _RTEMS_tasks_Initialize_user_tasks_body More...
 

Variables

void(* _RTEMS_tasks_Initialize_user_tasks_p )(void)
 When the user configures a set of Classic API initialization tasks, This variable will point to the method used to initialize them. More...
 

Function Documentation

◆ _RTEMS_tasks_Initialize_user_tasks_body()

void _RTEMS_tasks_Initialize_user_tasks_body ( void  )

_RTEMS_tasks_Initialize_user_tasks_body

This routine creates and starts all configured user initialization threads.

Input parameters: NONE

Output parameters: NONE

RTEMS Task Manager

Variable Documentation

◆ _RTEMS_tasks_Initialize_user_tasks_p

void(* _RTEMS_tasks_Initialize_user_tasks_p) (void)

When the user configures a set of Classic API initialization tasks, This variable will point to the method used to initialize them.

Note
It is instantiated and initialized by confdefs.h based upon application requirements.

Referenced by _RTEMS_tasks_Initialize_user_tasks().