RTEMS: cpukit/include/rtems/rtems/object.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
object.h
Go to the documentation of this file.
1
9/* COPYRIGHT (c) 1989-2013.
10 * On-Line Applications Research Corporation (OAR).
11 *
12 * The license and distribution terms for this file may be
13 * found in the file LICENSE in this distribution or at
14 * http://www.rtems.org/license/LICENSE.
15 */
16
17#ifndef _RTEMS_RTEMS_OBJECT_H
18#define _RTEMS_RTEMS_OBJECT_H
19
20#include <stdint.h>
21#include <rtems/score/object.h>
22#include <rtems/rtems/status.h>
23#include <rtems/rtems/types.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
43 typedef struct {
45 rtems_id minimum_id;
47 rtems_id maximum_id;
49 uint32_t maximum;
51 bool auto_extend;
53 uint32_t unallocated;
54} rtems_object_api_class_information;
55
73#define rtems_build_id( _api, _class, _node, _index ) \
74 _Objects_Build_id( _api, _class, _node, _index )
75
93#define rtems_build_name( _C1, _C2, _C3, _C4 ) \
94 _Objects_Build_name( _C1, _C2, _C3, _C4 )
95
111 rtems_status_code rtems_object_get_classic_name(
112 rtems_id id,
113 rtems_name *name
114);
115
130char *rtems_object_get_name(
131 rtems_id id,
132 size_t length,
133 char *name
134);
135
152 rtems_status_code rtems_object_set_name(
153 rtems_id id,
154 const char *name
155);
156
173#define rtems_object_id_get_api( _id ) \
174 _Objects_Get_API( _id )
175
190#define rtems_object_id_get_class( _id ) \
191 _Objects_Get_class( _id )
192
207#define rtems_object_id_get_node( _id ) \
208 _Objects_Get_node( _id )
209
224#define rtems_object_id_get_index( _id ) \
225 _Objects_Get_index( _id )
226
238#define rtems_object_id_api_minimum() \
239 OBJECTS_INTERNAL_API
240
252#define rtems_object_id_api_maximum() \
253 OBJECTS_APIS_LAST
254
268int rtems_object_api_minimum_class(
269 int api
270);
271
284int rtems_object_api_maximum_class(
285 int api
286);
287
288
301 int rtems_object_id_api_maximum_class(
302 int api
303);
304
317const char *rtems_object_get_api_name(
318 int api
319);
320
334const char *rtems_object_get_api_class_name(
335 int the_api,
336 int the_class
337);
338
354 rtems_status_code rtems_object_get_class_information(
355 int the_api,
356 int the_class,
357 rtems_object_api_class_information *info
358);
359
365 RTEMS_INLINE_ROUTINE uint16_t rtems_object_get_local_node( void )
366{
367 return _Objects_Local_node;
368}
369
370#ifdef __cplusplus
371}
372#endif
373
376#endif
377/* end of include file */
types.h
rtems_object_get_api_class_name
const char * rtems_object_get_api_class_name(int the_api, int the_class)
Get Class Name.
Definition: rtemsobjectgetapiclassname.c:57
rtems_object_api_minimum_class
int rtems_object_api_minimum_class(int api)
Get Lowest Valid Class Value.
Definition: rtemsobjectapiminimumclass.c:25
rtems_object_get_local_node
RTEMS_INLINE_ROUTINE uint16_t rtems_object_get_local_node(void)
Get the local MPCI node number.
Definition: object.h:365
rtems_object_api_maximum_class
int rtems_object_api_maximum_class(int api)
Get Highest Valid Class Value.
Definition: rtemsobjectapimaximumclass.c:24
rtems_object_get_api_name
const char * rtems_object_get_api_name(int api)
Get API Name.
Definition: rtemsobjectgetapiname.c:32
rtems_object_get_name
char * rtems_object_get_name(rtems_id id, size_t length, char *name)
Obtain Object Name as String.
Definition: rtemsobjectgetname.c:24
rtems_object_set_name
rtems_status_code rtems_object_set_name(rtems_id id, const char *name)
Set Name of Object.
Definition: rtemsobjectsetname.c:31
rtems_object_id_api_maximum_class
int rtems_object_id_api_maximum_class(int api)
Get Highest Valid Class Value.
rtems_object_get_class_information
rtems_status_code rtems_object_get_class_information(int the_api, int the_class, rtems_object_api_class_information *info)
Get Class Information.
Definition: rtemsobjectgetclassinfo.c:24
rtems_object_get_classic_name
rtems_status_code rtems_object_get_classic_name(rtems_id id, rtems_name *name)
Obtain Name of Object.
Definition: rtemsobjectgetclassicname.c:25
rtems_status_code
rtems_status_code
Classic API Status.
Definition: status.h:43
rtems_name
uint32_t rtems_name
Classic API object name type.
Definition: types.h:77
rtems_id
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
RTEMS_INLINE_ROUTINE
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
_Objects_Local_node
#define _Objects_Local_node
The local MPCI node number.
Definition: object.h:347
status.h
object.h
Constants and Structures Associated with the Object Handler.
rtems_object_api_class_information
Definition: object.h:43
rtems_object_api_class_information::maximum_id
rtems_id maximum_id
Definition: object.h:47
rtems_object_api_class_information::unallocated
uint32_t unallocated
Definition: object.h:53
rtems_object_api_class_information::maximum
uint32_t maximum
Definition: object.h:49
rtems_object_api_class_information::minimum_id
rtems_id minimum_id
Definition: object.h:45
rtems_object_api_class_information::auto_extend
bool auto_extend
Definition: object.h:51