RTEMS  5.0.0
objectmp.h
Go to the documentation of this file.
1 
10 /*
11  * COPYRIGHT (c) 1989-2009.
12  * On-Line Applications Research Corporation (OAR).
13  *
14  * The license and distribution terms for this file may be
15  * found in the file LICENSE in this distribution or at
16  * http://www.rtems.org/license/LICENSE.
17  */
18 
19 #ifndef _RTEMS_SCORE_OBJECTMP_H
20 #define _RTEMS_SCORE_OBJECTMP_H
21 
22 #ifndef _RTEMS_SCORE_OBJECTIMPL_H
23 # error "Never use <rtems/rtems/objectmp.h> directly; include <rtems/rtems/objectimpl.h> instead."
24 #endif
25 
26 #include <rtems/score/chainimpl.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
51 
60 
77 void _Objects_MP_Open (
78  Objects_Information *information,
79  Objects_MP_Control *the_global_object,
80  uint32_t the_name,
81  Objects_Id the_id
82 );
83 
104  Objects_Information *information,
105  uint32_t the_name,
106  Objects_Id the_id,
107  bool is_fatal_error
108 );
109 
116 void _Objects_MP_Close (
117  Objects_Information *information,
118  Objects_Id the_id
119 );
120 
140  Objects_Information *information,
141  Objects_Name the_name,
142  uint32_t nodes_to_search,
143  Objects_Id *the_id
144 );
145 
158  Objects_Id id,
159  const Objects_Information *information
160 );
161 
165 extern uint32_t _Objects_MP_Maximum_global_objects;
166 
171 Objects_MP_Control *_Objects_MP_Allocate_global_object( void );
172 
177 void _Objects_MP_Free_global_object( Objects_MP_Control *the_object );
178 
184  Objects_MP_Control *the_object
185 )
186 {
187  return( the_object == NULL );
188 }
189 
192 #ifdef __cplusplus
193 }
194 #endif
195 
196 #endif
197 /* end of include file */
Objects_Name_or_id_lookup_errors
Definition: objectimpl.h:259
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
void _Objects_MP_Free_global_object(Objects_MP_Control *the_object)
Definition: objectmp.c:378
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)
Look for the object with the_name in the global object tables indicated by information.
Definition: objectmp.c:289
RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object(Objects_MP_Control *the_object)
Definition: objectmp.h:183
bool _Objects_MP_Is_remote(Objects_Id id, const Objects_Information *information)
Returns true, if the object identifier is in the global object identifier cache of the specified obje...
Definition: objectmp.c:341
The information structure used to manage each API class of objects.
Definition: objectdata.h:160
Chain Handler API.
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:196
Objects_MP_Control * _Objects_MP_Allocate_global_object(void)
Definition: objectmp.c:364
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:230
uint32_t Objects_Id
Definition: object.h:75
Definition: object.h:59
uint32_t _Objects_MP_Maximum_global_objects
Definition: objectmp.c:42
void _Objects_MP_Handler_initialization(void)
Intializes the inactive global object chain based on the maximum number of global objects configured...
Definition: objectmp.c:174
void _Objects_MP_Handler_early_initialization(void)
Intializes the global object node number used in the ID field of all objects.
Definition: objectmp.c:159
void _Objects_MP_Close(Objects_Information *information, Objects_Id the_id)
Removes a global object from the specified information table.
Definition: objectmp.c:253
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77