Ignore:
Timestamp:
Nov 12, 2018, 8:00:36 AM (8 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
3b69a0e2
Parents:
e897c7d
git-author:
Sebastian Huber <sebastian.huber@…> (11/12/18 08:00:36)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/12/18 12:25:42)
Message:

score: Move internal structures to objectdata.h

Update #3598.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/include/rtems/score/object.h

    re897c7d ra6e7d5e4  
    2323#include <rtems/score/basedefs.h>
    2424#include <rtems/score/cpu.h>
    25 #include <rtems/score/chain.h>
    26 #include <rtems/score/rbtree.h>
    2725
    2826#ifdef __cplusplus
     
    214212/** This macro is used to generically specify the last API index. */
    215213#define OBJECTS_APIS_LAST OBJECTS_POSIX_API
    216 
    217 /**
    218  *  The following defines the Object Control Block used to manage
    219  *  each object local to this node.
    220  */
    221 typedef struct {
    222   /** This is the chain node portion of an object. */
    223   Chain_Node     Node;
    224   /** This is the object's ID. */
    225   Objects_Id     id;
    226   /** This is the object's name. */
    227   Objects_Name   name;
    228 } Objects_Control;
    229 
    230 #if defined( RTEMS_MULTIPROCESSING )
    231 /**
    232  * @brief This defines the Global Object Control Block used to manage objects
    233  * resident on other nodes.
    234  */
    235 typedef struct {
    236   /**
    237    * @brief Nodes to manage active and inactive global objects.
    238    */
    239   union {
    240     /**
    241      * @brief Inactive global objects reside on a chain.
    242      */
    243     Chain_Node Inactive;
    244 
    245     struct {
    246       /**
    247        * @brief Node to lookup an active global object by identifier.
    248        */
    249       RBTree_Node Id_lookup;
    250 
    251       /**
    252        * @brief Node to lookup an active global object by name.
    253        */
    254       RBTree_Node Name_lookup;
    255     } Active;
    256   } Nodes;
    257 
    258   /**
    259    * @brief The global object identifier.
    260    */
    261   Objects_Id id;
    262 
    263   /**
    264    * @brief The global object name.
    265    *
    266    * Using an unsigned thirty two bit value is broken but works.  If any API is
    267    * MP with variable length names .. BOOM!!!!
    268    */
    269   uint32_t name;
    270 } Objects_MP_Control;
    271 #endif
    272214
    273215/**
Note: See TracChangeset for help on using the changeset viewer.