summaryrefslogblamecommitdiffstats
path: root/cpukit/include/rtems/score/freechain.h
blob: 76b028fba0034cff4718a742c34d36f385a5f6f7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12


        
                               







                                                          
                                        




                                
                              





                  
                                                  
  
                      
  
                                                                   
  


                                                                          



     
   
                                
   





                                
 
         






                         
/**
 * @file
 *
 * @ingroup RTEMSScoreFreechain
 *
 * @brief Freechain Handler API
 */
/*
 * Copyright (c) 2013 Gedare Bloom.
 *
 * 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_FREECHAIN_H
#define _RTEMS_SCORE_FREECHAIN_H

#include <rtems/score/chain.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @defgroup RTEMSScoreFreechain Freechain Handler
 *
 * @ingroup RTEMSScore
 *
 * @brief This group contains the Freechain Handler implementation.
 *
 * This handler encapsulates functionality related to the management of
 * free nodes of a user-defined size.  If the chain of free nodes is empty
 * during an allocation request, it can be dynamically extended.
 *
 * @{
 */

/**
 * @brief The freechain control.
 */
typedef struct {
  /**
   * @brief Chain of free nodes.
   */
  Chain_Control Free;
} Freechain_Control;

/** @} */

#ifdef __cplusplus
}
#endif

#endif
/* end of include file */