--- cpukit/libblock/src/bdbuf.c | 4 +- cpukit/posix/include/rtems/posix/keyimpl.h | 3 ++ cpukit/posix/src/key.c | 4 +- cpukit/posix/src/keyfreememory.c | 8 ++-- cpukit/posix/src/keygetspecific.c | 4 +- cpukit/posix/src/keysetspecific.c | 5 +-- cpukit/sapi/include/rtems/rbheap.h | 2 +- cpukit/sapi/include/rtems/rbtree.h | 10 ----- cpukit/score/include/rtems/score/basedefs.h | 10 +++++ cpukit/score/include/rtems/score/mrspimpl.h | 2 +- cpukit/score/include/rtems/score/rbtree.h | 14 ------- .../score/include/rtems/score/scheduleredfimpl.h | 2 +- cpukit/score/include/rtems/score/schedulerimpl.h | 2 +- cpukit/score/include/rtems/score/threadimpl.h | 18 ++++----- cpukit/score/src/resourceiterate.c | 6 +-- cpukit/score/src/schedulerchangeroot.c | 2 +- cpukit/score/src/scheduleredf.c | 4 +- cpukit/score/src/threadq.c | 12 +++--- cpukit/score/src/threadqdequeue.c | 2 +- cpukit/score/src/threadqfirst.c | 5 ++- testsuites/sptests/sprbtree01/init.c | 44 +++++++++++----------- 21 files changed, 72 insertions(+), 91 deletions(-)
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index 31dd289..f215911 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -3178,8 +3178,8 @@ rtems_bdbuf_read_ahead_task (rtems_task_argument arg) while ((node = rtems_chain_get_unprotected (chain)) != NULL) { - rtems_disk_device *dd = (rtems_disk_device *) - ((char *) node - offsetof (rtems_disk_device, read_ahead.node)); + rtems_disk_device *dd = + RTEMS_CONTAINER_OF (node, rtems_disk_device, read_ahead.node); rtems_blkdev_bnum block = dd->read_ahead.next; rtems_blkdev_bnum media_block = 0; rtems_status_code sc = diff --git a/cpukit/posix/include/rtems/posix/keyimpl.h b/cpukit/posix/include/rtems/posix/keyimpl.h index b21c1d3..aff9749 100644 --- a/cpukit/posix/include/rtems/posix/keyimpl.h +++ b/cpukit/posix/include/rtems/posix/keyimpl.h @@ -49,6 +49,9 @@ extern RBTree_Control _POSIX_Keys_Key_value_lookup_tree; */ POSIX_EXTERN Freechain_Control _POSIX_Keys_Keypool; +#define POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( node ) \ + RTEMS_CONTAINER_OF( node, POSIX_Keys_Key_value_pair, Key_value_lookup_node ) + /** * @brief POSIX key manager initialization. * diff --git a/cpukit/posix/src/key.c b/cpukit/posix/src/key.c index 105706a..e231299 100644 --- a/cpukit/posix/src/key.c +++ b/cpukit/posix/src/key.c @@ -54,8 +54,8 @@ int _POSIX_Keys_Key_value_compare( Objects_Id thread_id1, thread_id2; int diff; - n1 = _RBTree_Container_of( node1, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); - n2 = _RBTree_Container_of( node2, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); + n1 = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( node1 ); + n2 = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( node2 ); diff = n1->key - n2->key; if ( diff ) diff --git a/cpukit/posix/src/keyfreememory.c b/cpukit/posix/src/keyfreememory.c index b419f1f..4e19832 100644 --- a/cpukit/posix/src/keyfreememory.c +++ b/cpukit/posix/src/keyfreememory.c @@ -39,17 +39,17 @@ void _POSIX_Keys_Free_memory( * find the smallest thread_id node in the rbtree. */ next = _RBTree_Next( iter, RBT_LEFT ); - p = _RBTree_Container_of( next, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); + p = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( next ); while ( next != NULL && p->key == key_id) { iter = next; next = _RBTree_Next( iter, RBT_LEFT ); - p = _RBTree_Container_of( next, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); + p = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( next ); } /** * delete all nodes belongs to the_key from the rbtree and chain. */ - p = _RBTree_Container_of( iter, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); + p = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( iter ); while ( iter != NULL && p->key == key_id ) { next = _RBTree_Next( iter, RBT_RIGHT ); _RBTree_Extract( &_POSIX_Keys_Key_value_lookup_tree, iter ); @@ -57,6 +57,6 @@ void _POSIX_Keys_Free_memory( _POSIX_Keys_Key_value_pair_free( p ); iter = next; - p = _RBTree_Container_of( iter, POSIX_Keys_Key_value_pair, Key_value_lookup_node ); + p = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( iter ); } } diff --git a/cpukit/posix/src/keygetspecific.c b/cpukit/posix/src/keygetspecific.c index 9c54112..f7e7b71 100644 --- a/cpukit/posix/src/keygetspecific.c +++ b/cpukit/posix/src/keygetspecific.c @@ -51,9 +51,7 @@ void *pthread_getspecific( case OBJECTS_LOCAL: p = _POSIX_Keys_Find( key, _Thread_Executing->Object.id, &search_node ); if ( p != NULL ) { - value_pair_p = _RBTree_Container_of( p, - POSIX_Keys_Key_value_pair, - Key_value_lookup_node ); + value_pair_p = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( p ); key_data = value_pair_p->value; } else { key_data = NULL; diff --git a/cpukit/posix/src/keysetspecific.c b/cpukit/posix/src/keysetspecific.c index 0f7c682..ec17d47 100644 --- a/cpukit/posix/src/keysetspecific.c +++ b/cpukit/posix/src/keysetspecific.c @@ -46,10 +46,7 @@ int pthread_setspecific( case OBJECTS_LOCAL: p = _POSIX_Keys_Find( key, _Thread_Executing->Object.id, &search_node ); if ( p != NULL ) { - value_pair_ptr = _RBTree_Container_of( p, - POSIX_Keys_Key_value_pair, - Key_value_lookup_node ); - + value_pair_ptr = POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( p ); value_pair_ptr->value = value; } else { value_pair_ptr = _POSIX_Keys_Key_value_pair_allocate(); diff --git a/cpukit/sapi/include/rtems/rbheap.h b/cpukit/sapi/include/rtems/rbheap.h index 7c44f11..0848b69 100644 --- a/cpukit/sapi/include/rtems/rbheap.h +++ b/cpukit/sapi/include/rtems/rbheap.h @@ -254,7 +254,7 @@ void rtems_rbheap_extend_descriptors_with_malloc( /* Private API */ #define rtems_rbheap_chunk_of_node(node) \ - rtems_rbtree_container_of(node, rtems_rbheap_chunk, tree_node) + RTEMS_CONTAINER_OF(node, rtems_rbheap_chunk, tree_node) static inline bool rtems_rbheap_is_chunk_free(const rtems_rbheap_chunk *chunk) { diff --git a/cpukit/sapi/include/rtems/rbtree.h b/cpukit/sapi/include/rtems/rbtree.h index 4e6d852..eaf2b6e 100644 --- a/cpukit/sapi/include/rtems/rbtree.h +++ b/cpukit/sapi/include/rtems/rbtree.h @@ -74,16 +74,6 @@ typedef RBTree_Compare rtems_rbtree_compare; RBTREE_DEFINE_EMPTY(name) /** - * @brief macro to return the structure containing the @a node. - * - * This macro returns a pointer of type @a object_type that points - * to the structure containing @a node, where @a object_member is the - * field name of the rtems_rbtree_node structure in objects of @a object_type. - */ -#define rtems_rbtree_container_of(node,object_type, object_member) \ - _RBTree_Container_of(node,object_type,object_member) - -/** * @brief Initialize a RBTree header. * * This routine initializes @a the_rbtree structure to manage the diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h index 382a97a..ec93951 100644 --- a/cpukit/score/include/rtems/score/basedefs.h +++ b/cpukit/score/include/rtems/score/basedefs.h @@ -217,6 +217,16 @@ */ #define RTEMS_ZERO_LENGTH_ARRAY 0 +/** + * @brief Returns a pointer to the container of a specified member pointer. + * + * @param[in] _m The pointer to a member of the container. + * @param[in] _type The type of the container. + * @param[in] _member_name The designator name of the container member. + */ +#define RTEMS_CONTAINER_OF( _m, _type, _member_name ) \ + ( (_type *) ( (uintptr_t) ( _m ) - offsetof( _type, _member_name ) ) ) + #ifndef ASM #ifdef RTEMS_DEPRECATED_TYPES typedef bool boolean; diff --git a/cpukit/score/include/rtems/score/mrspimpl.h b/cpukit/score/include/rtems/score/mrspimpl.h index 4aaa50b..1571594 100644 --- a/cpukit/score/include/rtems/score/mrspimpl.h +++ b/cpukit/score/include/rtems/score/mrspimpl.h @@ -181,7 +181,7 @@ RTEMS_INLINE_ROUTINE MRSP_Status _MRSP_Wait_for_ownership( _Scheduler_Thread_change_resource_root( executing, - _Thread_Resource_node_to_thread( _Resource_Node_get_root( owner ) ) + THREAD_RESOURCE_NODE_TO_THREAD( _Resource_Node_get_root( owner ) ) ); if ( timeout > 0 ) { diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index c4effce..d23808f 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -82,20 +82,6 @@ struct RBTree_Node_struct { }; /** - * @brief Macro to return the structure containing the @a node. - * - * This macro returns a pointer of type @a container_type that points - * to the structure containing @a node, where @a node_field_name is the - * field name of the RBTree_Node structure in @a container_type. - * - */ -#define _RBTree_Container_of(node, container_type, node_field_name) \ -( \ - (container_type*) \ - ( (uintptr_t)(node) - offsetof(container_type, node_field_name) ) \ -) - -/** * This type indicates the direction. */ typedef enum { diff --git a/cpukit/score/include/rtems/score/scheduleredfimpl.h b/cpukit/score/include/rtems/score/scheduleredfimpl.h index 019c544..50e40bc 100644 --- a/cpukit/score/include/rtems/score/scheduleredfimpl.h +++ b/cpukit/score/include/rtems/score/scheduleredfimpl.h @@ -89,7 +89,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Schedule_body( _Scheduler_EDF_Get_context( scheduler ); RBTree_Node *first = _RBTree_First( &context->Ready, RBT_LEFT ); Scheduler_EDF_Node *node = - _RBTree_Container_of(first, Scheduler_EDF_Node, Node); + RTEMS_CONTAINER_OF( first, Scheduler_EDF_Node, Node ); Thread_Control *heir = node->thread; ( void ) the_thread; diff --git a/cpukit/score/include/rtems/score/schedulerimpl.h b/cpukit/score/include/rtems/score/schedulerimpl.h index 4f71408..45a2f8d 100644 --- a/cpukit/score/include/rtems/score/schedulerimpl.h +++ b/cpukit/score/include/rtems/score/schedulerimpl.h @@ -164,7 +164,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_Ask_for_help_visitor( Thread_Control *previous_needs_help = help_context->needs_help; Thread_Control *next_needs_help; Thread_Control *offers_help = - _Thread_Resource_node_to_thread( resource_node ); + THREAD_RESOURCE_NODE_TO_THREAD( resource_node ); const Scheduler_Control *scheduler = _Scheduler_Get_own( offers_help ); next_needs_help = ( *scheduler->Operations.ask_for_help )( diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h index a527c8b..9321c01 100644 --- a/cpukit/score/include/rtems/score/threadimpl.h +++ b/cpukit/score/include/rtems/score/threadimpl.h @@ -76,6 +76,14 @@ SCORE_EXTERN Thread_Control *_Thread_Allocated_fp; SCORE_EXTERN struct _reent **_Thread_libc_reent; #endif +#define THREAD_RBTREE_NODE_TO_THREAD( node ) \ + RTEMS_CONTAINER_OF( node, Thread_Control, RBNode ) + +#if defined(RTEMS_SMP) +#define THREAD_RESOURCE_NODE_TO_THREAD( node ) \ + RTEMS_CONTAINER_OF( node, Thread_Control, Resource_node ) +#endif + /** * @brief Initialize thread handler. * @@ -846,16 +854,6 @@ RTEMS_INLINE_ROUTINE bool _Thread_Owns_resources( return owns_resources; } -#if defined(RTEMS_SMP) -RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Resource_node_to_thread( - Resource_Node *node -) -{ - return (Thread_Control *) - ( (char *) node - offsetof( Thread_Control, Resource_node ) ); -} -#endif - RTEMS_INLINE_ROUTINE void _Thread_Debug_set_real_processor( Thread_Control *the_thread, Per_CPU_Control *cpu diff --git a/cpukit/score/src/resourceiterate.c b/cpukit/score/src/resourceiterate.c index 26f9234..ac8b8b0 100644 --- a/cpukit/score/src/resourceiterate.c +++ b/cpukit/score/src/resourceiterate.c @@ -16,14 +16,12 @@ static Resource_Control *_Resource_Rival_head_to_resource( Chain_Node *head ) { - return (Resource_Control *) - ( (char *) head - offsetof( Resource_Control, Rivals.Head.Node ) ); + return RTEMS_CONTAINER_OF( head, Resource_Control, Rivals.Head.Node ); } static Resource_Node *_Resource_Resource_tail_to_rival( Chain_Node *tail ) { - return (Resource_Node *) - ( (char *) tail - offsetof( Resource_Node, Resources.Tail.Node ) ); + return RTEMS_CONTAINER_OF( tail, Resource_Node, Resources.Tail.Node ); } void _Resource_Iterate( diff --git a/cpukit/score/src/schedulerchangeroot.c b/cpukit/score/src/schedulerchangeroot.c index eba852b..f731117 100644 --- a/cpukit/score/src/schedulerchangeroot.c +++ b/cpukit/score/src/schedulerchangeroot.c @@ -32,7 +32,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_Set_root_visitor( Thread_Control *root = ctx->root; Thread_Control *needs_help = root; Thread_Control *offers_help = - _Thread_Resource_node_to_thread( resource_node ); + THREAD_RESOURCE_NODE_TO_THREAD( resource_node ); const Scheduler_Control *scheduler = _Scheduler_Get_own( offers_help ); Thread_Control *needs_help_too; diff --git a/cpukit/score/src/scheduleredf.c b/cpukit/score/src/scheduleredf.c index 01b5244..231bc04 100644 --- a/cpukit/score/src/scheduleredf.c +++ b/cpukit/score/src/scheduleredf.c @@ -25,9 +25,9 @@ int _Scheduler_EDF_Compare( const RBTree_Node* n2 ) { - Priority_Control value1 = _RBTree_Container_of + Priority_Control value1 = RTEMS_CONTAINER_OF (n1,Scheduler_EDF_Node,Node)->thread->current_priority; - Priority_Control value2 = _RBTree_Container_of + Priority_Control value2 = RTEMS_CONTAINER_OF (n2,Scheduler_EDF_Node,Node)->thread->current_priority; /* diff --git a/cpukit/score/src/threadq.c b/cpukit/score/src/threadq.c index 0ffbfad..b146ad4 100644 --- a/cpukit/score/src/threadq.c +++ b/cpukit/score/src/threadq.c @@ -20,19 +20,19 @@ #include <rtems/score/threadqimpl.h> #include <rtems/score/chainimpl.h> -#include <rtems/score/scheduler.h> - #include <rtems/score/rbtreeimpl.h> +#include <rtems/score/scheduler.h> +#include <rtems/score/threadimpl.h> int _Thread_queue_Compare_priority( const RBTree_Node *left, const RBTree_Node *right ) { - Priority_Control left_priority = _RBTree_Container_of - (left,Thread_Control,RBNode)->current_priority; - Priority_Control right_priority = _RBTree_Container_of - (right,Thread_Control,RBNode)->current_priority; + Priority_Control left_priority = + THREAD_RBTREE_NODE_TO_THREAD( left )->current_priority; + Priority_Control right_priority = + THREAD_RBTREE_NODE_TO_THREAD( right )->current_priority; /* * SuperCore priorities use lower numbers to indicate greater importance. diff --git a/cpukit/score/src/threadqdequeue.c b/cpukit/score/src/threadqdequeue.c index d745ef2..e364aa9 100644 --- a/cpukit/score/src/threadqdequeue.c +++ b/cpukit/score/src/threadqdequeue.c @@ -50,7 +50,7 @@ Thread_Control *_Thread_queue_Dequeue( first = _RBTree_Get( &the_thread_queue->Queues.Priority, RBT_LEFT ); if ( first ) { - the_thread = _RBTree_Container_of( first, Thread_Control, RBNode ); + the_thread = THREAD_RBTREE_NODE_TO_THREAD( first ); } } diff --git a/cpukit/score/src/threadqfirst.c b/cpukit/score/src/threadqfirst.c index 39f7c3f..5d97ae1 100644 --- a/cpukit/score/src/threadqfirst.c +++ b/cpukit/score/src/threadqfirst.c @@ -18,9 +18,10 @@ #include "config.h" #endif +#include <rtems/score/threadqimpl.h> #include <rtems/score/chainimpl.h> #include <rtems/score/isrlevel.h> -#include <rtems/score/threadqimpl.h> +#include <rtems/score/threadimpl.h> Thread_Control *_Thread_queue_First( Thread_queue_Control *the_thread_queue @@ -41,7 +42,7 @@ Thread_Control *_Thread_queue_First( first = _RBTree_First( &the_thread_queue->Queues.Priority, RBT_LEFT ); if ( first ) - thread = _RBTree_Container_of( first, Thread_Control, RBNode ); + thread = THREAD_RBTREE_NODE_TO_THREAD( first ); } _ISR_Enable( level ); diff --git a/testsuites/sptests/sprbtree01/init.c b/testsuites/sptests/sprbtree01/init.c index c43871a..d78790f 100644 --- a/testsuites/sptests/sprbtree01/init.c +++ b/testsuites/sptests/sprbtree01/init.c @@ -38,8 +38,8 @@ static int test_compare_function ( const rtems_rbtree_node *n2 ) { - int key1 = rtems_rbtree_container_of( n1, test_node, Node )->key; - int key2 = rtems_rbtree_container_of( n2, test_node, Node )->key; + int key1 = RTEMS_CONTAINER_OF( n1, test_node, Node )->key; + int key2 = RTEMS_CONTAINER_OF( n2, test_node, Node )->key; return key1 - key2; } @@ -262,7 +262,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 1 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 2 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -290,7 +290,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 1 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 1 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -345,9 +345,9 @@ rtems_task Init( rtems_task_argument ignored ) rb_insert_unique( &rbtree1, &node2.Node ); puts( "INIT - Verify rtems_rbtree_peek_max/min, rtems_rbtree_extract" ); - test_node *t1 = rtems_rbtree_container_of(rtems_rbtree_peek_max(&rbtree1), + test_node *t1 = RTEMS_CONTAINER_OF(rtems_rbtree_peek_max(&rbtree1), test_node,Node); - test_node *t2 = rtems_rbtree_container_of(rtems_rbtree_peek_min(&rbtree1), + test_node *t2 = RTEMS_CONTAINER_OF(rtems_rbtree_peek_min(&rbtree1), test_node,Node); if (t1->key - t2->key != 1) { puts( "INIT - Peek Min - Max failed" ); @@ -355,7 +355,7 @@ rtems_task Init( rtems_task_argument ignored ) } p = rtems_rbtree_peek_max(&rbtree1); rtems_rbtree_extract(&rbtree1, p); - t1 = rtems_rbtree_container_of(p,test_node,Node); + t1 = RTEMS_CONTAINER_OF(p,test_node,Node); if (t1->key != 2) { puts( "INIT - rtems_rbtree_extract failed"); rtems_test_exit(0); @@ -365,7 +365,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 1 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 2 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -390,7 +390,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -423,7 +423,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -467,7 +467,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0, i = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p, test_node, Node); + test_node *t = RTEMS_CONTAINER_OF(p, test_node, Node); while ( id == numbers_sorted[i] ) { /* skip if expected minimum (id) is in the set of extracted numbers */ @@ -529,7 +529,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_max(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_max(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -561,20 +561,20 @@ rtems_task Init( rtems_task_argument ignored ) puts( "INIT - Verify rtems_rbtree_find" ); search_node.key = 30; p = rb_find_unique(&rbtree1, &search_node.Node); - if(rtems_rbtree_container_of(p,test_node,Node)->id != 30) { + if(RTEMS_CONTAINER_OF(p,test_node,Node)->id != 30) { puts ("INIT - ERROR ON RBTREE ID MISMATCH"); rtems_test_exit(0); } puts( "INIT - Verify rtems_rbtree_predecessor/successor"); p = rtems_rbtree_predecessor(p); - if(p && rtems_rbtree_container_of(p,test_node,Node)->id != 29) { + if(p && RTEMS_CONTAINER_OF(p,test_node,Node)->id != 29) { puts ("INIT - ERROR ON RBTREE ID MISMATCH"); rtems_test_exit(0); } p = rb_find_unique(&rbtree1, &search_node.Node); p = rtems_rbtree_successor(p); - if(p && rtems_rbtree_container_of(p,test_node,Node)->id != 31) { + if(p && RTEMS_CONTAINER_OF(p,test_node,Node)->id != 31) { puts ("INIT - ERROR ON RBTREE ID MISMATCH"); rtems_test_exit(0); } @@ -601,7 +601,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_max(&rbtree1), id = 99 ; p ; p = rtems_rbtree_get_max(&rbtree1) , id-- ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id < 0 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -634,7 +634,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 19 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -666,7 +666,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -703,7 +703,7 @@ rtems_task Init( rtems_task_argument ignored ) puts( "INIT - Verify rtems_rbtree_find in a duplicate tree" ); search_node.key = 2; p = rb_find_multi(&rbtree1, &search_node.Node); - if(rtems_rbtree_container_of(p,test_node,Node)->id != 2) { + if(RTEMS_CONTAINER_OF(p,test_node,Node)->id != 2) { puts ("INIT - ERROR ON RBTREE ID MISMATCH"); rtems_test_exit(0); } @@ -712,7 +712,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); @@ -744,7 +744,7 @@ rtems_task Init( rtems_task_argument ignored ) puts( "INIT - Verify rtems_rbtree_find in a duplicate tree" ); search_node.key = 2; p = rb_find_multi(&rbtree1, &search_node.Node); - if(rtems_rbtree_container_of(p,test_node,Node)->id != 97) { + if(RTEMS_CONTAINER_OF(p,test_node,Node)->id != 97) { puts ("INIT - ERROR ON RBTREE ID MISMATCH"); rtems_test_exit(0); } @@ -753,7 +753,7 @@ rtems_task Init( rtems_task_argument ignored ) for ( p = rtems_rbtree_get_min(&rbtree1), id = 0 ; p ; p = rtems_rbtree_get_min(&rbtree1) , id++ ) { - test_node *t = rtems_rbtree_container_of(p,test_node,Node); + test_node *t = RTEMS_CONTAINER_OF(p,test_node,Node); if ( id > 99 ) { puts( "INIT - TOO MANY NODES ON RBTREE" ); rtems_test_exit(0); -- 1.8.1.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel