RTEMS  5.1
objectmp.h
Go to the documentation of this file.
1 
12 /*
13  * COPYRIGHT (c) 1989-2009.
14  * On-Line Applications Research Corporation (OAR).
15  *
16  * The license and distribution terms for this file may be
17  * found in the file LICENSE in this distribution or at
18  * http://www.rtems.org/license/LICENSE.
19  */
20 
21 #ifndef _RTEMS_SCORE_OBJECTMP_H
22 #define _RTEMS_SCORE_OBJECTMP_H
23 
24 #ifndef _RTEMS_SCORE_OBJECTIMPL_H
25 # error "Never use <rtems/rtems/objectmp.h> directly; include <rtems/rtems/objectimpl.h> instead."
26 #endif
27 
28 #include <rtems/score/chainimpl.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
56 
65 
82 void _Objects_MP_Open (
83  Objects_Information *information,
84  Objects_MP_Control *the_global_object,
85  uint32_t the_name,
86  Objects_Id the_id
87 );
88 
112  Objects_Information *information,
113  uint32_t the_name,
114  Objects_Id the_id,
115  bool is_fatal_error
116 );
117 
128 void _Objects_MP_Close (
129  Objects_Information *information,
130  Objects_Id the_id
131 );
132 
153  Objects_Information *information,
154  Objects_Name the_name,
155  uint32_t nodes_to_search,
156  Objects_Id *the_id
157 );
158 
172  Objects_Id id,
173  const Objects_Information *information
174 );
175 
179 extern uint32_t _Objects_MP_Maximum_global_objects;
180 
184 Objects_MP_Control *_Objects_MP_Allocate_global_object( void );
185 
191 void _Objects_MP_Free_global_object( Objects_MP_Control *the_object );
192 
202  Objects_MP_Control *the_object
203 )
204 {
205  return( the_object == NULL );
206 }
207 
210 #ifdef __cplusplus
211 }
212 #endif
213 
214 #endif
215 /* end of include file */
RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object(Objects_MP_Control *the_object)
Checks if the global object is NULL or not.
Definition: objectmp.h:201
Objects_Name_or_id_lookup_errors
Definition: objectimpl.h:203
void _Objects_MP_Free_global_object(Objects_MP_Control *the_object)
This routine deallocates a Global Object control block.
Definition: objectmp.c:375
void _Objects_MP_Handler_early_initialization(void)
Intializes the global object node number used in the ID field of all objects.
Definition: objectmp.c:158
void _Objects_MP_Close(Objects_Information *information, Objects_Id the_id)
Removes a global object from the specified information table.
Definition: objectmp.c:250
void _Objects_MP_Open(Objects_Information *information, Objects_MP_Control *the_global_object, uint32_t the_name, Objects_Id the_id)
Place the specified global object in the specified information table.
Definition: objectmp.c:193
The information structure used to manage each API class of objects.
Definition: objectdata.h:176
Chain Handler API.
uint32_t _Objects_MP_Maximum_global_objects
Definition: objectmp.c:41
bool _Objects_MP_Allocate_and_open(Objects_Information *information, uint32_t the_name, Objects_Id the_id, bool is_fatal_error)
Allocates a global object control block and places it in the specified information table.
Definition: objectmp.c:227
uint32_t Objects_Id
Definition: object.h:80
Objects_MP_Control * _Objects_MP_Allocate_global_object(void)
This function allocates a Global Object control block.
Definition: objectmp.c:361
Definition: object.h:64
Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search(Objects_Information *information, Objects_Name the_name, uint32_t nodes_to_search, Objects_Id *the_id)
Looks for the object with the_name in the global object tables indicated by information.
Definition: objectmp.c:286
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
void _Objects_MP_Handler_initialization(void)
Intializes the inactive global object chain based on the maximum number of global objects configured.
Definition: objectmp.c:173
bool _Objects_MP_Is_remote(Objects_Id id, const Objects_Information *information)
Checks if the object identifier is in the global object identifier cache of the specified object info...
Definition: objectmp.c:338
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77