RTEMS 6.1-rc1
Data Structures | Macros | Typedefs | Enumerations | Functions
chainimpl.h File Reference

This header file provides interfaces of the Chain Handler which are only used by the implementation. More...

#include <rtems/score/chain.h>
#include <rtems/score/assert.h>

Go to the source code of this file.

Data Structures

struct  Chain_Iterator
 A chain iterator which is updated during node extraction if it is properly registered. More...
 
struct  Chain_Iterator_registry
 A registry for chain iterators. More...
 

Macros

#define CHAIN_INITIALIZER_EMPTY(name)    { { { &(name).Tail.Node, NULL }, &(name).Head.Node } }
 Chain initializer for an empty chain with designator name.
 
#define CHAIN_INITIALIZER_ONE_NODE(node)    { { { (node), NULL }, (node) } }
 Chain initializer for a chain with one node. More...
 
#define CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(chain)    { &(chain)->Tail.Node, &(chain)->Head.Node }
 Chain node initializer for a chain containing exactly this node. More...
 
#define CHAIN_DEFINE_EMPTY(name)    Chain_Control name = CHAIN_INITIALIZER_EMPTY(name)
 Chain definition for an empty chain with designator name.
 
#define CHAIN_ITERATOR_REGISTRY_INITIALIZER(name)    { CHAIN_INITIALIZER_EMPTY( name.Iterators ) }
 Chain iterator registry initializer for static initialization. More...
 

Typedefs

typedef bool(* Chain_Node_order) (const void *key, const Chain_Node *left, const Chain_Node *right)
 Chain node order. More...
 

Enumerations

enum  Chain_Iterator_direction { CHAIN_ITERATOR_FORWARD , CHAIN_ITERATOR_BACKWARD }
 The chain iterator direction. More...
 

Functions

void _Chain_Initialize (Chain_Control *the_chain, void *starting_address, size_t number_nodes, size_t node_size)
 Initializes a chain header. More...
 
size_t _Chain_Node_count_unprotected (const Chain_Control *chain)
 Returns the node count of the chain. More...
 

Detailed Description

This header file provides interfaces of the Chain Handler which are only used by the implementation.