RTEMS  5.1
Typedefs | Functions
priorityimpl.h File Reference

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. More...
 
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. More...
 
RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_empty (const Priority_Actions *actions)
 Checks if the priority actions is empty. More...
 
RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_valid (const Priority_Aggregation *aggregation)
 Checks if the priority actions is valid. More...
 
RTEMS_INLINE_ROUTINE Priority_Aggregation_Priority_Actions_move (Priority_Actions *actions)
 Moves the priority actions' actions. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Actions_add (Priority_Actions *actions, Priority_Aggregation *aggregation)
 Adds actions to the priority actions' actions. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Node_initialize (Priority_Node *node, Priority_Control priority)
 Initializes the priority node to the given priority. More...
 
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. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Node_set_inactive (Priority_Node *node)
 Sets the priority node inactive. More...
 
RTEMS_INLINE_ROUTINE bool _Priority_Node_is_active (const Priority_Node *node)
 Checks if the priority node is active. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Initialize_empty (Priority_Aggregation *aggregation)
 Initializes the priority aggregation empty. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Initialize_one (Priority_Aggregation *aggregation, Priority_Node *node)
 Initializes the priority aggregation with the given information. More...
 
RTEMS_INLINE_ROUTINE bool _Priority_Is_empty (const Priority_Aggregation *aggregation)
 Checks if the priority aggregation is empty. More...
 
RTEMS_INLINE_ROUTINE Priority_Control _Priority_Get_priority (const Priority_Aggregation *aggregation)
 Gets the priority aggregation's priority. More...
 
RTEMS_INLINE_ROUTINE const Scheduler_Control_Priority_Get_scheduler (const Priority_Aggregation *aggregation)
 Gets the priority aggregation's scheduler. More...
 
RTEMS_INLINE_ROUTINE Priority_Node_Priority_Get_minimum_node (const Priority_Aggregation *aggregation)
 Gets the minimum node of the priority aggregation. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Set_action_node (Priority_Aggregation *aggregation, Priority_Node *node)
 Sets the action node of the priority aggregation. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Set_action_type (Priority_Aggregation *aggregation, Priority_Action_type type)
 Sets the action type of the priority aggregation. More...
 
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. More...
 
RTEMS_INLINE_ROUTINE Priority_Aggregation_Priority_Get_next_action (const Priority_Aggregation *aggregation)
 Gets the next action of the priority aggregation. More...
 
RTEMS_INLINE_ROUTINE bool _Priority_Less (const void *left, const RBTree_Node *right)
 Compares two priorities. More...
 
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. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Plain_extract (Priority_Aggregation *aggregation, Priority_Node *node)
 Extracts the priority node from the aggregation. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Plain_changed (Priority_Aggregation *aggregation, Priority_Node *node)
 Updates the priority of the node in the aggregation. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Change_nothing (Priority_Aggregation *aggregation, bool prepend_it, Priority_Actions *actions, void *arg)
 Does nothing. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Remove_nothing (Priority_Aggregation *aggregation, Priority_Actions *actions, void *arg)
 Does nothing. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
RTEMS_INLINE_ROUTINE void _Priority_Replace (Priority_Aggregation *aggregation, Priority_Node *victim, Priority_Node *replacement)
 Replaces one node by another. More...
 

Detailed Description

Priority Handler API Implementation.