RTEMS 6.1-rc1
objectmp.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * COPYRIGHT (c) 1989-2009.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_SCORE_OBJECTMP_H
39#define _RTEMS_SCORE_OBJECTMP_H
40
41#ifndef _RTEMS_SCORE_OBJECTIMPL_H
42# error "Never use <rtems/rtems/objectmp.h> directly; include <rtems/rtems/objectimpl.h> instead."
43#endif
44
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
74
83
100void _Objects_MP_Open (
101 Objects_Information *information,
102 Objects_MP_Control *the_global_object,
103 uint32_t the_name,
104 Objects_Id the_id
105);
106
130 Objects_Information *information,
131 uint32_t the_name,
132 Objects_Id the_id,
133 bool is_fatal_error
134);
135
147 Objects_Information *information,
148 Objects_Id the_id
149);
150
171 const Objects_Information *information,
172 Objects_Name the_name,
173 uint32_t nodes_to_search,
174 Objects_Id *the_id
175);
176
190 Objects_Id id,
191 const Objects_Information *information
192);
193
198
202Objects_MP_Control *_Objects_MP_Allocate_global_object( void );
203
209void _Objects_MP_Free_global_object( Objects_MP_Control *the_object );
210
213#ifdef __cplusplus
214}
215#endif
216
217#endif
218/* end of include file */
This header file provides interfaces of the Chain Handler which are only used by the implementation.
Status_Control _Objects_MP_Global_name_search(const 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:315
void _Objects_MP_Handler_initialization(void)
Intializes the inactive global object chain based on the maximum number of global objects configured.
Definition: objectmp.c:201
uint32_t _Objects_MP_Maximum_global_objects
Definition: objectmp.c:69
void _Objects_MP_Free_global_object(Objects_MP_Control *the_object)
This routine deallocates a Global Object control block.
Definition: objectmp.c:405
void _Objects_MP_Handler_early_initialization(void)
Intializes the global object node number used in the ID field of all objects.
Definition: objectmp.c:186
Objects_MP_Control * _Objects_MP_Allocate_global_object(void)
This function allocates a Global Object control block.
Definition: objectmp.c:391
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:221
void _Objects_MP_Close(Objects_Information *information, Objects_Id the_id)
Removes a global object from the specified information table.
Definition: objectmp.c:279
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:368
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:255
uint32_t Objects_Id
Definition: object.h:101
Status_Control
Status codes.
Definition: status.h:111
The information structure used to manage each API class of objects.
Definition: objectdata.h:198
Definition: object.h:85