summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-08-05 13:32:39 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-08-05 13:32:39 +0000
commitf773c0122a4412a8846764a35cccb241efa034c2 (patch)
treed5e623ff112535491866477204be4c207a07c301 /cpukit/rtems
parent2008-08-04 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-f773c0122a4412a8846764a35cccb241efa034c2.tar.bz2
2008-08-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
* rtems/include/rtems/rtems/sem.h, rtems/src/semobtain.c: Changed option set type to rtems_option. * score/src/objectgetinfo.c: Check return value of _Objects_API_maximum_class(). * libmisc/monitor/mon-mpci.c, libmisc/monitor/monitor.h, rtems/include/rtems/rtems/message.h, rtems/src/msgmp.c, rtems/src/msgqallocate.c, rtems/src/msgqbroadcast.c, rtems/src/msgqcreate.c, rtems/src/msgqreceive.c, rtems/src/msgqsend.c, rtems/src/msgqurgent.c, score/include/rtems/score/coremsg.h, score/include/rtems/score/mpci.h, score/include/rtems/score/thread.h, score/inline/rtems/score/coremsg.inl, score/src/coremsg.c, score/src/coremsgbroadcast.c, score/src/coremsgseize.c, score/src/coremsgsubmit.c: Removed parameters of _Message_queue_Allocate(). Changed option set type to rtems_option. Changed type of maximum message and packet size to size_t. Changed the input buffer type for message send functions to "const void *". Changed the pointer to the second return argument in the thread wait information to a union. This union can contain a pointer to an immutable or a mutable object. This is somewhat fragile. An alternative would be to add a third pointer for immutable objects, but this would increase the structure size.
Diffstat (limited to 'cpukit/rtems')
-rw-r--r--cpukit/rtems/include/rtems/rtems/message.h18
-rw-r--r--cpukit/rtems/include/rtems/rtems/sem.h3
-rw-r--r--cpukit/rtems/src/msgmp.c12
-rw-r--r--cpukit/rtems/src/msgqallocate.c10
-rw-r--r--cpukit/rtems/src/msgqbroadcast.c2
-rw-r--r--cpukit/rtems/src/msgqcreate.c4
-rw-r--r--cpukit/rtems/src/msgqreceive.c2
-rw-r--r--cpukit/rtems/src/msgqsend.c2
-rw-r--r--cpukit/rtems/src/msgqurgent.c2
-rw-r--r--cpukit/rtems/src/semobtain.c2
10 files changed, 26 insertions, 31 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/message.h b/cpukit/rtems/include/rtems/rtems/message.h
index d0118f94e4..ec1a2c5104 100644
--- a/cpukit/rtems/include/rtems/rtems/message.h
+++ b/cpukit/rtems/include/rtems/rtems/message.h
@@ -46,6 +46,7 @@ extern "C" {
#include <rtems/rtems/types.h>
#include <rtems/rtems/status.h>
+#include <rtems/rtems/options.h>
#include <rtems/score/chain.h>
#include <rtems/score/object.h>
#include <rtems/rtems/attr.h>
@@ -117,7 +118,7 @@ void _Message_queue_Manager_initialization(
rtems_status_code rtems_message_queue_create(
rtems_name name,
uint32_t count,
- uint32_t max_message_size,
+ size_t max_message_size,
rtems_attribute attribute_set,
Objects_Id *id
);
@@ -164,7 +165,7 @@ rtems_status_code rtems_message_queue_delete(
*/
rtems_status_code rtems_message_queue_send(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size
);
@@ -179,7 +180,7 @@ rtems_status_code rtems_message_queue_send(
*/
rtems_status_code rtems_message_queue_urgent(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size
);
@@ -193,7 +194,7 @@ rtems_status_code rtems_message_queue_urgent(
*/
rtems_status_code rtems_message_queue_broadcast(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size,
uint32_t *count
);
@@ -213,7 +214,7 @@ rtems_status_code rtems_message_queue_receive(
Objects_Id id,
void *buffer,
size_t *size,
- uint32_t option_set,
+ rtems_option option_set,
rtems_interval timeout
);
@@ -256,7 +257,7 @@ rtems_status_code rtems_message_queue_get_number_pending(
*/
rtems_status_code _Message_queue_Submit(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size,
Message_queue_Submit_types submit_type
);
@@ -267,10 +268,7 @@ rtems_status_code _Message_queue_Submit(
* This function allocates a message queue control block from
* the inactive chain of free message queue control blocks.
*/
-Message_queue_Control *_Message_queue_Allocate (
- uint32_t count,
- uint32_t max_message_size
-);
+Message_queue_Control *_Message_queue_Allocate (void);
/**
* @brief Message_queue_Translate_core_message_queue_return_code
diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h
index f58ef5ec36..8fff8a60ab 100644
--- a/cpukit/rtems/include/rtems/rtems/sem.h
+++ b/cpukit/rtems/include/rtems/rtems/sem.h
@@ -43,6 +43,7 @@ extern "C" {
#endif
#include <rtems/rtems/types.h>
+#include <rtems/rtems/options.h>
#include <rtems/rtems/support.h>
#include <rtems/rtems/tasks.h>
#include <rtems/rtems/attr.h>
@@ -168,7 +169,7 @@ rtems_status_code rtems_semaphore_delete(
*/
rtems_status_code rtems_semaphore_obtain(
rtems_id id,
- uint32_t option_set,
+ rtems_option option_set,
rtems_interval timeout
);
diff --git a/cpukit/rtems/src/msgmp.c b/cpukit/rtems/src/msgmp.c
index 471296b2a7..e6a156c5f7 100644
--- a/cpukit/rtems/src/msgmp.c
+++ b/cpukit/rtems/src/msgmp.c
@@ -92,7 +92,7 @@ void _Message_queue_MP_Send_process_packet (
rtems_status_code _Message_queue_MP_Send_request_packet (
Message_queue_MP_Remote_operations operation,
Objects_Id message_queue_id,
- void *buffer,
+ const void *buffer,
size_t *size_p,
rtems_option option_set,
rtems_interval timeout
@@ -168,8 +168,8 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
the_packet->option_set = option_set;
the_packet->size = 0; /* just in case of an error */
- _Thread_Executing->Wait.return_argument = (uint32_t *)buffer;
- _Thread_Executing->Wait.return_argument_1 = size_p;
+ _Thread_Executing->Wait.return_argument_second.immutable_object = buffer;
+ _Thread_Executing->Wait.return_argument = size_p;
return (rtems_status_code) _MPCI_Send_request_packet(
_Objects_Get_node(message_queue_id),
@@ -322,12 +322,12 @@ void _Message_queue_MP_Process_packet (
the_thread = _MPCI_Process_response( the_packet_prefix );
if (the_packet->Prefix.return_code == RTEMS_SUCCESSFUL) {
- *(uint32_t *)the_thread->Wait.return_argument_1 =
+ *(size_t *) the_thread->Wait.return_argument =
the_packet->size;
_CORE_message_queue_Copy_buffer(
the_packet->Buffer.buffer,
- the_thread->Wait.return_argument,
+ the_thread->Wait.return_argument_second.mutable_object,
the_packet->size
);
}
@@ -395,7 +395,7 @@ void _Message_queue_MP_Process_packet (
the_thread = _MPCI_Process_response( the_packet_prefix );
- *(uint32_t *)the_thread->Wait.return_argument = the_packet->count;
+ *(uint32_t *) the_thread->Wait.return_argument = the_packet->count;
_MPCI_Return_packet( the_packet_prefix );
break;
diff --git a/cpukit/rtems/src/msgqallocate.c b/cpukit/rtems/src/msgqallocate.c
index 78439c4f66..e5603dd9d8 100644
--- a/cpukit/rtems/src/msgqallocate.c
+++ b/cpukit/rtems/src/msgqallocate.c
@@ -49,12 +49,8 @@
* the_message_queue - set if successful, NULL otherwise
*/
-Message_queue_Control *_Message_queue_Allocate (
- uint32_t count,
- uint32_t max_message_size
-)
+Message_queue_Control *_Message_queue_Allocate(void)
{
- return
- (Message_queue_Control *)_Objects_Allocate(&_Message_queue_Information);
-
+ return (Message_queue_Control *)
+ _Objects_Allocate(&_Message_queue_Information);
}
diff --git a/cpukit/rtems/src/msgqbroadcast.c b/cpukit/rtems/src/msgqbroadcast.c
index 9d56cfd8db..54f27a86bd 100644
--- a/cpukit/rtems/src/msgqbroadcast.c
+++ b/cpukit/rtems/src/msgqbroadcast.c
@@ -55,7 +55,7 @@
rtems_status_code rtems_message_queue_broadcast(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size,
uint32_t *count
)
diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c
index 05d748187b..bf4d2b098a 100644
--- a/cpukit/rtems/src/msgqcreate.c
+++ b/cpukit/rtems/src/msgqcreate.c
@@ -57,7 +57,7 @@
rtems_status_code rtems_message_queue_create(
rtems_name name,
uint32_t count,
- uint32_t max_message_size,
+ size_t max_message_size,
rtems_attribute attribute_set,
Objects_Id *id
)
@@ -101,7 +101,7 @@ rtems_status_code rtems_message_queue_create(
_Thread_Disable_dispatch(); /* protects object pointer */
- the_message_queue = _Message_queue_Allocate( count, max_message_size );
+ the_message_queue = _Message_queue_Allocate();
if ( !the_message_queue ) {
_Thread_Enable_dispatch();
diff --git a/cpukit/rtems/src/msgqreceive.c b/cpukit/rtems/src/msgqreceive.c
index 8140929081..e55122835a 100644
--- a/cpukit/rtems/src/msgqreceive.c
+++ b/cpukit/rtems/src/msgqreceive.c
@@ -57,7 +57,7 @@ rtems_status_code rtems_message_queue_receive(
Objects_Id id,
void *buffer,
size_t *size,
- uint32_t option_set,
+ rtems_option option_set,
rtems_interval timeout
)
{
diff --git a/cpukit/rtems/src/msgqsend.c b/cpukit/rtems/src/msgqsend.c
index 117666d811..b86d99341a 100644
--- a/cpukit/rtems/src/msgqsend.c
+++ b/cpukit/rtems/src/msgqsend.c
@@ -58,7 +58,7 @@
rtems_status_code rtems_message_queue_send(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size
)
{
diff --git a/cpukit/rtems/src/msgqurgent.c b/cpukit/rtems/src/msgqurgent.c
index 6a88d33ff2..60684ebf5c 100644
--- a/cpukit/rtems/src/msgqurgent.c
+++ b/cpukit/rtems/src/msgqurgent.c
@@ -58,7 +58,7 @@
rtems_status_code rtems_message_queue_urgent(
Objects_Id id,
- void *buffer,
+ const void *buffer,
size_t size
)
{
diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c
index 8ab51bf3c8..972b12f0ee 100644
--- a/cpukit/rtems/src/semobtain.c
+++ b/cpukit/rtems/src/semobtain.c
@@ -67,7 +67,7 @@
rtems_status_code rtems_semaphore_obtain(
rtems_id id,
- uint32_t option_set,
+ rtems_option option_set,
rtems_interval timeout
)
{