RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
chain.h File Reference

This header file provides the Chains API. More...

#include <rtems/score/chainimpl.h>
#include <rtems/rtems/event.h>

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.
 
#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.
 
#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.
 
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.
 
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.
 
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.
 
void rtems_chain_extract (rtems_chain_node *the_node)
 Extract the specified node from a chain.
 
rtems_chain_nodertems_chain_get (rtems_chain_control *the_chain)
 Obtain the first node on a chain.
 
void rtems_chain_insert (rtems_chain_node *after_node, rtems_chain_node *the_node)
 Insert a node on a chain.
 
void rtems_chain_append (rtems_chain_control *the_chain, rtems_chain_node *the_node)
 Append a node on the end of a chain.
 
void rtems_chain_prepend (rtems_chain_control *the_chain, rtems_chain_node *the_node)
 Prepend a node.
 
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.
 
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.
 
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.
 

Detailed Description

This header file provides the Chains API.