|
void | _Chain_Initialize (Chain_Control *the_chain, void *starting_address, size_t number_nodes, size_t node_size) |
| Initialize a chain header. More...
|
|
size_t | _Chain_Node_count_unprotected (const Chain_Control *chain) |
| Returns the node count of the chain. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Set_off_chain (Chain_Node *node) |
| Set off chain. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Initialize_node (Chain_Node *the_node) |
| Initializes a chain node. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_node_off_chain (const Chain_Node *node) |
| Is the node off chain. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Are_nodes_equal (const Chain_Node *left, const Chain_Node *right) |
| Are two nodes equal. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_null_node (const Chain_Node *the_node) |
| Is the chain node pointer NULL. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Head (Chain_Control *the_chain) |
| Return pointer to chain head. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_head (const Chain_Control *the_chain) |
| Return pointer to immutable chain head. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Tail (Chain_Control *the_chain) |
| Return pointer to chain tail. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_tail (const Chain_Control *the_chain) |
| Return pointer to immutable chain tail. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_First (const Chain_Control *the_chain) |
| Return pointer to chain's first node. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_first (const Chain_Control *the_chain) |
| Return pointer to immutable chain's first node. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Last (const Chain_Control *the_chain) |
| Return pointer to chain's last node. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_last (const Chain_Control *the_chain) |
| Return pointer to immutable chain's last node. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Next (const Chain_Node *the_node) |
| Return pointer the next node from this node. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_next (const Chain_Node *the_node) |
| Return pointer the immutable next node from this node. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Previous (const Chain_Node *the_node) |
| Return pointer the previous node from this node. More...
|
|
RTEMS_INLINE_ROUTINE const Chain_Node * | _Chain_Immutable_previous (const Chain_Node *the_node) |
| Return pointer the immutable previous node from this node. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_empty (const Chain_Control *the_chain) |
| Is the chain empty. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_first (const Chain_Node *the_node) |
| Is this the first node on the chain. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_last (const Chain_Node *the_node) |
| Is this the last node on the chain. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Has_only_one_node (const Chain_Control *the_chain) |
| Does this chain have only one node. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_head (const Chain_Control *the_chain, const Chain_Node *the_node) |
| Is this node the chain head. More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Is_tail (const Chain_Control *the_chain, const Chain_Node *the_node) |
| Is this node the chail tail. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Initialize_empty (Chain_Control *the_chain) |
| Initialize this chain as empty. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Initialize_one (Chain_Control *the_chain, Chain_Node *the_node) |
| Initializes this chain to contain exactly the specified node. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Extract_unprotected (Chain_Node *the_node) |
| Extract this node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Get_first_unprotected (Chain_Control *the_chain) |
| Get the first node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Get_unprotected (Chain_Control *the_chain) |
| Get the first node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Insert_unprotected (Chain_Node *after_node, Chain_Node *the_node) |
| Insert a node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Append_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Append a node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Append_if_is_off_chain_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Append a node on the end of a chain if the node is in the off chain state (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Prepend_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Prepend a node (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Append_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Append a node and check if the chain was empty before (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Prepend_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node *the_node) |
| Prepend a node and check if the chain was empty before (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE bool | _Chain_Get_with_empty_check_unprotected (Chain_Control *the_chain, Chain_Node **the_node) |
| Get the first node and check if the chain is empty afterwards (unprotected). More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Insert_ordered_unprotected (Chain_Control *the_chain, Chain_Node *to_insert, const void *left, Chain_Node_order order) |
| Inserts a node into the chain according to the order relation. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Iterator_registry_initialize (Chain_Iterator_registry *the_registry) |
| Initializes a chain iterator registry.
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Iterator_registry_update (Chain_Iterator_registry *the_registry, Chain_Node *the_node_to_extract) |
| Updates all iterators present in the chain iterator registry in case of a node extraction. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Iterator_initialize (Chain_Control *the_chain, Chain_Iterator_registry *the_registry, Chain_Iterator *the_iterator, Chain_Iterator_direction direction) |
| Initializes the chain iterator. More...
|
|
RTEMS_INLINE_ROUTINE Chain_Node * | _Chain_Iterator_next (const Chain_Iterator *the_iterator) |
| Returns the next node in the iterator direction. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Iterator_set_position (Chain_Iterator *the_iterator, Chain_Node *the_node) |
| Sets the iterator position. More...
|
|
RTEMS_INLINE_ROUTINE void | _Chain_Iterator_destroy (Chain_Iterator *the_iterator) |
| Destroys the iterator. More...
|
|