summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/object.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/object.h')
-rw-r--r--cpukit/score/include/rtems/score/object.h60
1 files changed, 36 insertions, 24 deletions
diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h
index b1d422d3d4..3da299e95f 100644
--- a/cpukit/score/include/rtems/score/object.h
+++ b/cpukit/score/include/rtems/score/object.h
@@ -1,8 +1,9 @@
/* object.h
*
* This include file contains all the constants and structures associated
- * with the RTEMS Object Handler. This Handler provides mechanisms which
- * can be used to initialize and manipulate all RTEMS objects.
+ * with the Object Handler. This Handler provides mechanisms which
+ * can be used to initialize and manipulate all objects which have
+ * ids.
*
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
* On-Line Applications Research Corporation (OAR).
@@ -15,14 +16,14 @@
* $Id$
*/
-#ifndef __RTEMS_OBJECTS_h
-#define __RTEMS_OBJECTS_h
+#ifndef __OBJECTS_h
+#define __OBJECTS_h
#ifdef __cplusplus
extern "C" {
#endif
-#include <rtems/chain.h>
+#include <rtems/core/chain.h>
/*
* The following type defines the control block used to manage
@@ -142,6 +143,7 @@ typedef struct {
*/
EXTERN unsigned32 _Objects_Local_node;
+EXTERN unsigned32 _Objects_Maximum_nodes;
/*
* The following is the list of information blocks for each object
@@ -164,23 +166,23 @@ EXTERN Objects_Information
* The following define the constants which may be used in name searches.
*/
-#define RTEMS_SEARCH_ALL_NODES 0
-#define RTEMS_SEARCH_OTHER_NODES 0x7FFFFFFE
-#define RTEMS_SEARCH_LOCAL_NODE 0x7FFFFFFF
-#define RTEMS_WHO_AM_I 0
+#define OBJECTS_SEARCH_ALL_NODES 0
+#define OBJECTS_SEARCH_OTHER_NODES 0x7FFFFFFE
+#define OBJECTS_SEARCH_LOCAL_NODE 0x7FFFFFFF
+#define OBJECTS_WHO_AM_I 0
/*
* Parameters and return id's for _Objects_Get_next
*/
-#define RTEMS_OBJECT_ID_INITIAL_INDEX (0)
-#define RTEMS_OBJECT_ID_FINAL_INDEX (0xffff)
+#define OBJECTS_ID_INITIAL_INDEX (0)
+#define OBJECTS_ID_FINAL_INDEX (0xffff)
-#define RTEMS_OBJECT_ID_INITIAL(node) (_Objects_Build_id( \
- OBJECTS_NO_CLASS, \
- node, \
- RTEMS_OBJECT_ID_INITIAL_INDEX))
-#define RTEMS_OBJECT_ID_FINAL ((Objects_Id)~0)
+#define OBJECTS_ID_INITIAL(node) (_Objects_Build_id( \
+ OBJECTS_NO_CLASS, \
+ node, \
+ OBJECTS_ID_INITIAL_INDEX))
+#define OBJECTS_ID_FINAL ((Objects_Id)~0)
/*
* _Objects_Handler_initialization
@@ -193,6 +195,7 @@ EXTERN Objects_Information
void _Objects_Handler_initialization(
unsigned32 node,
+ unsigned32 maximum_nodes,
unsigned32 maximum_global_objects
);
@@ -303,7 +306,16 @@ boolean _Objects_Compare_name_raw(
*
*/
-rtems_status_code _Objects_Name_to_id(
+typedef enum {
+ OBJECTS_SUCCESSFUL,
+ OBJECTS_INVALID_NAME,
+ OBJECTS_INVALID_NODE
+} Objects_Name_to_id_errors;
+
+#define OBJECTS_NAME_ERRORS_FIRST OBJECTS_SUCCESSFUL
+#define OBJECTS_NAME_ERRORS_LAST OBJECTS_INVALID_NODE
+
+Objects_Name_to_id_errors _Objects_Name_to_id(
Objects_Information *information,
Objects_Name name,
unsigned32 node,
@@ -378,7 +390,7 @@ STATIC INLINE Objects_Id _Objects_Build_id(
);
/*
- * rtems_get_class
+ * _Objects_Get_class
*
* DESCRIPTION:
*
@@ -386,12 +398,12 @@ STATIC INLINE Objects_Id _Objects_Build_id(
*
*/
-STATIC INLINE Objects_Classes rtems_get_class(
+STATIC INLINE Objects_Classes _Objects_Get_class(
Objects_Id id
);
/*
- * rtems_get_node
+ * _Objects_Get_node
*
* DESCRIPTION:
*
@@ -399,12 +411,12 @@ STATIC INLINE Objects_Classes rtems_get_class(
*
*/
-STATIC INLINE unsigned32 rtems_get_node(
+STATIC INLINE unsigned32 _Objects_Get_node(
Objects_Id id
);
/*
- * rtems_get_index
+ * _Objects_Get_index
*
* DESCRIPTION:
*
@@ -412,7 +424,7 @@ STATIC INLINE unsigned32 rtems_get_node(
*
*/
-STATIC INLINE unsigned32 rtems_get_index(
+STATIC INLINE unsigned32 _Objects_Get_index(
Objects_Id id
);
@@ -532,7 +544,7 @@ STATIC INLINE void _Objects_Close(
Objects_Control *the_object
);
-#include <rtems/object.inl>
+#include <rtems/core/object.inl>
#include <rtems/objectmp.h>
#ifdef __cplusplus