diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/inline/rtems/score/heap.inl | 116 |
1 files changed, 28 insertions, 88 deletions
diff --git a/cpukit/score/inline/rtems/score/heap.inl b/cpukit/score/inline/rtems/score/heap.inl index ae41cf6244..f8d2cca0c3 100644 --- a/cpukit/score/inline/rtems/score/heap.inl +++ b/cpukit/score/inline/rtems/score/heap.inl @@ -1,9 +1,12 @@ -/* heap.inl +/** + * @file heap.inl * * This file contains the static inline implementation of the inlined * routines from the heap handler. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* + * COPYRIGHT (c) 1989-2004. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,14 +19,14 @@ #ifndef __HEAP_inl #define __HEAP_inl +/** + * @addtogroup ScoreHeap + * @{ + */ + #include <rtems/score/address.h> -/*PAGE - * - * _Heap_Head - * - * DESCRIPTION: - * +/** * This function returns the head of the specified heap. */ @@ -34,12 +37,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Head ( return (Heap_Block *)&the_heap->start; } -/*PAGE - * - * _Heap_Tail - * - * DESCRIPTION: - * +/** * This function returns the tail of the specified heap. */ @@ -50,12 +48,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Tail ( return (Heap_Block *)&the_heap->final; } -/*PAGE - * - * _Heap_Previous_block - * - * DESCRIPTION: - * +/** * This function returns the address of the block which physically * precedes the_block in memory. */ @@ -70,16 +63,11 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Previous_block ( ); } -/*PAGE - * - * _Heap_Next_block - * - * DESCRIPTION: - * +/** * This function returns the address of the block which physically * follows the_block in memory. * - * NOTE: Next_block assumes that the block is free. + * @note Next_block assumes that the block is free. */ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Next_block ( @@ -92,12 +80,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Next_block ( ); } -/*PAGE - * - * _Heap_Block_at - * - * DESCRIPTION: - * +/** * This function calculates and returns a block's location (address) * in the heap based upon a base address and an offset. */ @@ -110,12 +93,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at( return (Heap_Block *) _Addresses_Add_offset( (void *)base, offset ); } -/*PAGE - * - * _Heap_User_block_at - * - * DESCRIPTION: - * +/** * XXX */ @@ -129,12 +107,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_User_block_at( return _Heap_Block_at( base, -offset + -HEAP_BLOCK_USED_OVERHEAD); } -/*PAGE - * - * _Heap_Is_previous_block_free - * - * DESCRIPTION: - * +/** * This function returns TRUE if the previous block of the_block * is free, and FALSE otherwise. */ @@ -146,12 +119,7 @@ RTEMS_INLINE_ROUTINE boolean _Heap_Is_previous_block_free ( return !(the_block->back_flag & HEAP_BLOCK_USED); } -/*PAGE - * - * _Heap_Is_block_free - * - * DESCRIPTION: - * +/** * This function returns TRUE if the block is free, and FALSE otherwise. */ @@ -162,12 +130,7 @@ RTEMS_INLINE_ROUTINE boolean _Heap_Is_block_free ( return !(the_block->front_flag & HEAP_BLOCK_USED); } -/*PAGE - * - * _Heap_Is_block_used - * - * DESCRIPTION: - * +/** * This function returns TRUE if the block is currently allocated, * and FALSE otherwise. */ @@ -179,12 +142,7 @@ RTEMS_INLINE_ROUTINE boolean _Heap_Is_block_used ( return (the_block->front_flag & HEAP_BLOCK_USED); } -/*PAGE - * - * _Heap_Block_size - * - * DESCRIPTION: - * +/** * This function returns the size of the_block in bytes. */ @@ -195,12 +153,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Heap_Block_size ( return (the_block->front_flag & ~HEAP_BLOCK_USED); } -/*PAGE - * - * _Heap_Start_of_user_area - * - * DESCRIPTION: - * +/** * This function returns the starting address of the portion of the block * which the user may access. */ @@ -212,12 +165,7 @@ RTEMS_INLINE_ROUTINE void *_Heap_Start_of_user_area ( return (void *) &the_block->next; } -/*PAGE - * - * _Heap_Is_block_in - * - * DESCRIPTION: - * +/** * This function returns TRUE if the_block is within the memory area * managed by the_heap, and FALSE otherwise. */ @@ -230,12 +178,7 @@ RTEMS_INLINE_ROUTINE boolean _Heap_Is_block_in ( return _Addresses_Is_in_range( the_block, the_heap->start, the_heap->final ); } -/*PAGE - * - * _Heap_Is_page_size_valid - * - * DESCRIPTION: - * +/** * This function validates a specified heap page size. If the page size * is 0 or if lies outside a page size alignment boundary it is invalid * and FALSE is returned. Otherwise, the page size is valid and TRUE is @@ -250,12 +193,7 @@ RTEMS_INLINE_ROUTINE boolean _Heap_Is_page_size_valid( ((page_size % CPU_HEAP_ALIGNMENT) == 0)); } -/*PAGE - * - * _Heap_Build_flag - * - * DESCRIPTION: - * +/** * This function returns the block flag composed of size and in_use_flag. * The flag returned is suitable for use as a back or front flag in a * heap block. @@ -269,5 +207,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Heap_Build_flag ( return size | in_use_flag; } +/**@}*/ + #endif /* end of include file */ |