RTEMS 6.1-rc1
|
This header file provides the Chains API. More...
Go to the source code of this file.
Macros | |
#define | RTEMS_CHAIN_INITIALIZER_EMPTY(name) CHAIN_INITIALIZER_EMPTY( name ) |
Chain initializer for an empty chain with designator name. | |
#define | RTEMS_CHAIN_INITIALIZER_ONE_NODE(node) CHAIN_INITIALIZER_ONE_NODE( node ) |
Chain initializer for a chain with one node. More... | |
#define | RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(chain) CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN( chain ) |
Chain node initializer for a chain containing exactly this node. More... | |
#define | RTEMS_CHAIN_DEFINE_EMPTY(name) rtems_chain_control name = RTEMS_CHAIN_INITIALIZER_EMPTY( name ) |
Chain definition for an empty chain with designator name. | |
Typedefs | |
typedef Chain_Node | rtems_chain_node |
typedef Chain_Control | rtems_chain_control |
Functions | |
rtems_status_code | rtems_chain_append_with_notification (rtems_chain_control *chain, rtems_chain_node *node, rtems_id task, rtems_event_set events) |
Appends the node to the chain and sends the events to the task if the chain was empty before the append. More... | |
rtems_status_code | rtems_chain_prepend_with_notification (rtems_chain_control *chain, rtems_chain_node *node, rtems_id task, rtems_event_set events) |
Prepends the node to the chain and sends the events to the task if the chain was empty before the prepend. More... | |
rtems_status_code | rtems_chain_get_with_notification (rtems_chain_control *chain, rtems_id task, rtems_event_set events, rtems_chain_node **node) |
Gets the first node of the chain and sends the events to the task if the chain is empty after the get. More... | |
rtems_status_code | rtems_chain_get_with_wait (rtems_chain_control *chain, rtems_event_set events, rtems_interval timeout, rtems_chain_node **node) |
Gets the first node of the chain and sends the events to the task if the chain is empty afterwards. More... | |
void | rtems_chain_extract (rtems_chain_node *the_node) |
Extract the specified node from a chain. More... | |
rtems_chain_node * | rtems_chain_get (rtems_chain_control *the_chain) |
Obtain the first node on a chain. More... | |
void | rtems_chain_insert (rtems_chain_node *after_node, rtems_chain_node *the_node) |
Insert a node on a chain. More... | |
void | rtems_chain_append (rtems_chain_control *the_chain, rtems_chain_node *the_node) |
Append a node on the end of a chain. More... | |
void | rtems_chain_prepend (rtems_chain_control *the_chain, rtems_chain_node *the_node) |
Prepend a node. More... | |
bool | rtems_chain_append_with_empty_check (rtems_chain_control *chain, rtems_chain_node *node) |
Checks if the chain is empty and appends the node. More... | |
bool | rtems_chain_prepend_with_empty_check (rtems_chain_control *chain, rtems_chain_node *node) |
Checks if the chain is empty and prepends the node. More... | |
bool | rtems_chain_get_with_empty_check (rtems_chain_control *chain, rtems_chain_node **node) |
Tries to get the first node and check if the chain is empty afterwards. More... | |
This header file provides the Chains API.