RTEMS: cpukit/include/rtems/score/priorityimpl.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Typedefs | Functions
priorityimpl.h File Reference
Internal » SuperCore » Priority Handler

Priority Handler API Implementation. More...

`#include <rtems/score/priority.h>`
`#include <rtems/score/scheduler.h>`

Go to the source code of this file.

## Typedefs
typedef void(* | Priority_Add_handler) (Priority_Aggregation *aggregation, Priority_Actions *actions, void *arg)
typedef void(* | Priority_Change_handler) (Priority_Aggregation *aggregation, bool prepend_it, Priority_Actions *actions, void *arg)
typedef void(* | Priority_Remove_handler) (Priority_Aggregation *aggregation, Priority_Actions *actions, void *arg)

## Functions
RTEMS_INLINE_ROUTINE void | _Priority_Actions_initialize_empty (Priority_Actions *actions)
| Initializes the priority actions empty.
RTEMS_INLINE_ROUTINE void | _Priority_Actions_initialize_one (Priority_Actions *actions, Priority_Aggregation *aggregation, Priority_Node *node, Priority_Action_type type)
| Initializes the priority actions with the given information.
RTEMS_INLINE_ROUTINE bool | _Priority_Actions_is_empty (const Priority_Actions *actions)
| Checks if the priority actions is empty.
RTEMS_INLINE_ROUTINE bool | _Priority_Actions_is_valid (const Priority_Aggregation *aggregation)
| Checks if the priority actions is valid.
RTEMS_INLINE_ROUTINE Priority_Aggregation * | _Priority_Actions_move (Priority_Actions *actions)
| Moves the priority actions' actions.
RTEMS_INLINE_ROUTINE void | _Priority_Actions_add (Priority_Actions *actions, Priority_Aggregation *aggregation)
| Adds actions to the priority actions' actions.
RTEMS_INLINE_ROUTINE void | _Priority_Node_initialize (Priority_Node *node, Priority_Control priority)
| Initializes the priority node to the given priority.
RTEMS_INLINE_ROUTINE void | _Priority_Node_set_priority (Priority_Node *node, Priority_Control priority)
| Sets the priority of the priority node to the given priority.
RTEMS_INLINE_ROUTINE void | _Priority_Node_set_inactive (Priority_Node *node)
| Sets the priority node inactive.
RTEMS_INLINE_ROUTINE bool | _Priority_Node_is_active (const Priority_Node *node)
| Checks if the priority node is active.
RTEMS_INLINE_ROUTINE void | _Priority_Initialize_empty (Priority_Aggregation *aggregation)
| Initializes the priority aggregation empty.
RTEMS_INLINE_ROUTINE void | _Priority_Initialize_one (Priority_Aggregation *aggregation, Priority_Node *node)
| Initializes the priority aggregation with the given information.
RTEMS_INLINE_ROUTINE bool | _Priority_Is_empty (const Priority_Aggregation *aggregation)
| Checks if the priority aggregation is empty.
RTEMS_INLINE_ROUTINE Priority_Control | _Priority_Get_priority (const Priority_Aggregation *aggregation)
| Gets the priority aggregation's priority.
RTEMS_INLINE_ROUTINE const Scheduler_Control * | _Priority_Get_scheduler (const Priority_Aggregation *aggregation)
| Gets the priority aggregation's scheduler.
RTEMS_INLINE_ROUTINE Priority_Node * | _Priority_Get_minimum_node (const Priority_Aggregation *aggregation)
| Gets the minimum node of the priority aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Set_action_node (Priority_Aggregation *aggregation, Priority_Node *node)
| Sets the action node of the priority aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Set_action_type (Priority_Aggregation *aggregation, Priority_Action_type type)
| Sets the action type of the priority aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Set_action (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Action_type type)
| Sets the action type and action node of the priority aggregation.
RTEMS_INLINE_ROUTINE Priority_Aggregation * | _Priority_Get_next_action (const Priority_Aggregation *aggregation)
| Gets the next action of the priority aggregation.
RTEMS_INLINE_ROUTINE bool | _Priority_Less (const void *left, const RBTree_Node *right)
| Compares two priorities.
RTEMS_INLINE_ROUTINE bool | _Priority_Plain_insert (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Control priority)
| Inserts the node with the given priority into the priority aggregation's contributors.
RTEMS_INLINE_ROUTINE void | _Priority_Plain_extract (Priority_Aggregation *aggregation, Priority_Node *node)
| Extracts the priority node from the aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Plain_changed (Priority_Aggregation *aggregation, Priority_Node *node)
| Updates the priority of the node in the aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Change_nothing (Priority_Aggregation *aggregation, bool prepend_it, Priority_Actions *actions, void *arg)
| Does nothing.
RTEMS_INLINE_ROUTINE void | _Priority_Remove_nothing (Priority_Aggregation *aggregation, Priority_Actions *actions, void *arg)
| Does nothing.
RTEMS_INLINE_ROUTINE void | _Priority_Non_empty_insert (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Actions *actions, Priority_Change_handler change, void *arg)
| Inserts the node in a nonempty aggregation and handles change if the node is the new minimum.
RTEMS_INLINE_ROUTINE void | _Priority_Insert (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Actions *actions, Priority_Add_handler add, Priority_Change_handler change, void *arg)
RTEMS_INLINE_ROUTINE void | _Priority_Extract (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Actions *actions, Priority_Remove_handler remove, Priority_Change_handler change, void *arg)
| Extracts the node from the aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Extract_non_empty (Priority_Aggregation *aggregation, Priority_Node *node, Priority_Actions *actions, Priority_Change_handler change, void *arg)
| Extracts the node from the aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Changed (Priority_Aggregation *aggregation, Priority_Node *node, bool prepend_it, Priority_Actions *actions, Priority_Change_handler change, void *arg)
| Updates the priority of the node in the aggregation.
RTEMS_INLINE_ROUTINE void | _Priority_Replace (Priority_Aggregation *aggregation, Priority_Node *victim, Priority_Node *replacement)
| Replaces one node by another.

## Detailed Description

Priority Handler API Implementation.