From b06e68ef1f6df69cc86d72356c3a002054a35fad Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 17 Aug 1995 19:51:51 +0000 Subject: Numerous miscellaneous features incorporated from Tony Bennett (tbennett@divnc.com) including the following major additions: + variable length messages + named devices + debug monitor + association tables/variables --- cpukit/score/include/rtems/score/object.h | 28 ++++++++++++++++++++++++++++ cpukit/score/include/rtems/score/thread.h | 1 + cpukit/score/include/rtems/system.h | 7 +++++-- 3 files changed, 34 insertions(+), 2 deletions(-) (limited to 'cpukit/score/include/rtems') diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 50eede9fd7..0553fe901d 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -99,6 +99,18 @@ EXTERN unsigned32 _Objects_Local_node; #define RTEMS_SEARCH_LOCAL_NODE 0x7FFFFFFF #define RTEMS_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 RTEMS_OBJECT_ID_INITIAL(node) (_Objects_Build_id( \ + node, \ + RTEMS_OBJECT_ID_INITIAL_INDEX)) +#define RTEMS_OBJECT_ID_FINAL ((Objects_Id) ~0) + /* * _Objects_Handler_initialization * @@ -178,6 +190,22 @@ Objects_Control *_Objects_Get ( Objects_Locations *location ); +/* + * _Objects_Get_next + * + * DESCRIPTION: + * + * Like _Objects_Get, but is used to find "next" open object. + * + */ + +Objects_Control *_Objects_Get_next( + Objects_Information *information, + Objects_Id id, + unsigned32 *location_p, + Objects_Id *next_id_p +); + /* * _Objects_Is_name_valid * diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 4a417828a3..953e19ba95 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -115,6 +115,7 @@ typedef struct { union { unsigned32 segment_size; /* size of segment requested */ rtems_event_set event_condition; + unsigned32 *message_size_p; /* ptr for return size of message */ } Extra; void *return_argument; /* address of user return param */ rtems_status_code return_code; /* status for thread awakened */ diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h index 3ff3772d11..96b0abfff8 100644 --- a/cpukit/score/include/rtems/system.h +++ b/cpukit/score/include/rtems/system.h @@ -78,6 +78,7 @@ typedef void * proc_ptr; #include /* processor specific information */ #include /* RTEMS status codes */ +#include /* * Define NULL @@ -103,6 +104,9 @@ typedef void * proc_ptr; #define stringify( _x ) # _x +#define RTEMS_offsetof(type, field) \ + ((unsigned32) &(((type *) 0)->field)) + /* * The following is the extern for the RTEMS version string. * The contents of this string are CPU specific. @@ -115,8 +119,7 @@ extern const char _Copyright_Notice[]; /* RTEMS copyright string */ * The jump table of entry points into RTEMS directives. */ -#define NUMBER_OF_ENTRY_POINTS 79 -extern const void * _Entry_points[ NUMBER_OF_ENTRY_POINTS + 1 ]; +extern const void * _Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ]; /* * The following defines the CPU dependent information table. -- cgit v1.2.3