RTEMS  5.1
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
26 extern "C" {
27 #endif
28 
43 typedef struct {
49  uint32_t maximum;
53  uint32_t unallocated;
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 
112  rtems_id id,
113  rtems_name *name
114 );
115 
131  rtems_id id,
132  size_t length,
133  char *name
134 );
135 
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 
269  int api
270 );
271 
285  int api
286 );
287 
288 
302  int api
303 );
304 
317 const char *rtems_object_get_api_name(
318  int api
319 );
320 
335  int the_api,
336  int the_class
337 );
338 
355  int the_api,
356  int the_class,
358 );
359 
366 {
367  return _Objects_Local_node;
368 }
369 
370 #ifdef __cplusplus
371 }
372 #endif
373 
376 #endif
377 /* end of include file */
char * rtems_object_get_name(rtems_id id, size_t length, char *name)
Obtain Object Name as String.
Definition: rtemsobjectgetname.c:24
uint32_t rtems_name
Classic API object name type.
Definition: types.h:77
Constants and Structures Associated with the Object Handler.
RTEMS_INLINE_ROUTINE uint16_t rtems_object_get_local_node(void)
Get the local MPCI node number.
Definition: object.h:365
int rtems_object_api_maximum_class(int api)
Get Highest Valid Class Value.
Definition: rtemsobjectapimaximumclass.c:24
rtems_id minimum_id
Definition: object.h:45
bool auto_extend
Definition: object.h:51
rtems_id maximum_id
Definition: object.h:47
rtems_status_code
Classic API Status.
Definition: status.h:43
const char * rtems_object_get_api_name(int api)
Get API Name.
Definition: rtemsobjectgetapiname.c:32
int rtems_object_api_minimum_class(int api)
Get Lowest Valid Class Value.
Definition: rtemsobjectapiminimumclass.c:25
int rtems_object_id_api_maximum_class(int api)
Get Highest Valid Class Value.
uint32_t unallocated
Definition: object.h:53
rtems_status_code rtems_object_get_classic_name(rtems_id id, rtems_name *name)
Obtain Name of Object.
Definition: rtemsobjectgetclassicname.c:25
uint32_t maximum
Definition: object.h:49
const char * rtems_object_get_api_class_name(int the_api, int the_class)
Get Class Name.
Definition: rtemsobjectgetapiclassname.c:57
#define _Objects_Local_node
The local MPCI node number.
Definition: object.h:347
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
Definition: object.h:43
rtems_status_code rtems_object_set_name(rtems_id id, const char *name)
Set Name of Object.
Definition: rtemsobjectsetname.c:31
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66