RTEMS CPU Kit with SuperCore  4.11.3
object.h
Go to the documentation of this file.
1 
12 /* COPYRIGHT (c) 1989-2013.
13  * On-Line Applications Research Corporation (OAR).
14  *
15  * The license and distribution terms for this file may be
16  * found in the file LICENSE in this distribution or at
17  * http://www.rtems.org/license/LICENSE.
18  */
19 
20 #ifndef _RTEMS_RTEMS_OBJECT_H
21 #define _RTEMS_RTEMS_OBJECT_H
22 
23 #include <stdint.h>
24 #include <rtems/score/object.h>
25 #include <rtems/rtems/status.h>
26 #include <rtems/rtems/types.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
46 typedef struct {
52  uint32_t maximum;
56  uint32_t unallocated;
58 
76 #define rtems_build_id( _api, _class, _node, _index ) \
77  _Objects_Build_id( _api, _class, _node, _index )
78 
96 #define rtems_build_name( _C1, _C2, _C3, _C4 ) \
97  _Objects_Build_name( _C1, _C2, _C3, _C4 )
98 
115  rtems_id id,
116  rtems_name *name
117 );
118 
134  rtems_id id,
135  size_t length,
136  char *name
137 );
138 
156  rtems_id id,
157  const char *name
158 );
159 
176 #define rtems_object_id_get_api( _id ) \
177  _Objects_Get_API( _id )
178 
193 #define rtems_object_id_get_class( _id ) \
194  _Objects_Get_class( _id )
195 
210 #define rtems_object_id_get_node( _id ) \
211  _Objects_Get_node( _id )
212 
227 #define rtems_object_id_get_index( _id ) \
228  _Objects_Get_index( _id )
229 
241 #define rtems_object_id_api_minimum() \
242  OBJECTS_INTERNAL_API
243 
255 #define rtems_object_id_api_maximum() \
256  OBJECTS_APIS_LAST
257 
272  int api
273 );
274 
288  int api
289 );
290 
291 
305  int api
306 );
307 
320 const char *rtems_object_get_api_name(
321  int api
322 );
323 
338  int the_api,
339  int the_class
340 );
341 
358  int the_api,
359  int the_class,
361 );
362 
363 #ifdef __cplusplus
364 }
365 #endif
366 
369 #endif
370 /* end of include file */
Constants and Structures Associated with the Object Handler.
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
int rtems_object_api_maximum_class(int api)
Get Highest Valid Class Value.
Definition: rtemsobjectapimaximumclass.c:24
rtems_id minimum_id
This field is the minimum valid object Id for this class.
Definition: object.h:48
bool auto_extend
This field indicates if the class is configured for auto-extend.
Definition: object.h:54
rtems_id maximum_id
This field is the maximum valid object Id for this class.
Definition: object.h:50
char * rtems_object_get_name(rtems_id id, size_t length, char *name)
Obtain Object Name as String.
Definition: rtemsobjectgetname.c:33
rtems_status_code
Classic API Status.
Definition: status.h:46
const char * rtems_object_get_api_name(int api)
Get API Name.
Definition: rtemsobjectgetapiname.c:32
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
int rtems_object_api_minimum_class(int api)
Get Lowest Valid Class Value.
Definition: rtemsobjectapiminimumclass.c:24
int rtems_object_id_api_maximum_class(int api)
Get Highest Valid Class Value.
uint32_t unallocated
This field is the number of currently unallocated objects.
Definition: object.h:56
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
This field is the number of object instances configured for this class.
Definition: object.h:52
const char * rtems_object_get_api_class_name(int the_api, int the_class)
Get Class Name.
Definition: rtemsobjectgetapiclassname.c:64
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
This structure is used to return information to the application about the objects configured for a sp...
Definition: object.h:46
rtems_status_code rtems_object_set_name(rtems_id id, const char *name)
Set Name of Object.
Definition: rtemsobjectsetname.c:30