diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/chain.h')
-rw-r--r-- | cpukit/score/include/rtems/score/chain.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h deleted file mode 100644 index e358262e6e..0000000000 --- a/cpukit/score/include/rtems/score/chain.h +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @file - * - * @ingroup ScoreChain - * - * @brief Chain Handler API - */ - -/* - * Copyright (c) 2010 embedded brains GmbH. - * - * COPYRIGHT (c) 1989-2006. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_SCORE_CHAIN_H -#define _RTEMS_SCORE_CHAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ScoreChain Chain Handler - * - * @ingroup Score - * - * The Chain Handler is used to manage sets of entities. This handler - * provides two data structures. The Chain Node data structure is included - * as the first part of every data structure that will be placed on - * a chain. The second data structure is Chain Control which is used - * to manage a set of Chain Nodes. - */ -/**@{*/ - -/** - * @typedef Chain_Node - * - * This type definition promotes the name for the Chain Node used by - * all RTEMS code. It is a separate type definition because a forward - * reference is required to define it. See @ref Chain_Node_struct for - * detailed information. - */ -typedef struct Chain_Node_struct Chain_Node; - -/** - * @struct Chain_Node_struct - * - * This is used to manage each element (node) which is placed - * on a chain. - * - * @note Typically, a more complicated structure will use the - * chain package. The more complicated structure will - * include a chain node as the first element in its - * control structure. It will then call the chain package - * with a pointer to that node element. The node pointer - * and the higher level structure start at the same address - * so the user can cast the pointers back and forth. - * - */ -struct Chain_Node_struct { - /** This points to the node after this one on this chain. */ - Chain_Node *next; - /** This points to the node immediate prior to this one on this chain. */ - Chain_Node *previous; -}; - -/** - * @struct Chain_Control - * - * This is used to manage a chain. A chain consists of a doubly - * linked list of zero or more nodes. - * - * @note This implementation does not require special checks for - * manipulating the first and last elements on the chain. - * To accomplish this the @a Chain_Control structure is - * treated as two overlapping @ref Chain_Node structures. - */ -typedef union { - struct { - Chain_Node Node; - Chain_Node *fill; - } Head; - - struct { - Chain_Node *fill; - Chain_Node Node; - } Tail; -} Chain_Control; - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ |