![]() |
RTEMS 5.2
|
Message Manager MP Support. More...
#include <rtems/score/mpciimpl.h>
Go to the source code of this file.
Data Structures | |
struct | Message_queue_MP_Packet |
Macros | |
#define | MESSAGE_QUEUE_MP_PACKET_SIZE offsetof(Message_queue_MP_Packet, Buffer.buffer) |
Enumerations | |
enum | Message_queue_MP_Remote_operations { MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0 , MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1 , MESSAGE_QUEUE_MP_EXTRACT_PROXY = 2 , MESSAGE_QUEUE_MP_RECEIVE_REQUEST = 3 , MESSAGE_QUEUE_MP_RECEIVE_RESPONSE = 4 , MESSAGE_QUEUE_MP_SEND_REQUEST = 5 , MESSAGE_QUEUE_MP_SEND_RESPONSE = 6 , MESSAGE_QUEUE_MP_URGENT_REQUEST = 7 , MESSAGE_QUEUE_MP_URGENT_RESPONSE = 8 , MESSAGE_QUEUE_MP_BROADCAST_REQUEST = 9 , MESSAGE_QUEUE_MP_BROADCAST_RESPONSE = 10 , MESSAGE_QUEUE_MP_FLUSH_REQUEST = 11 , MESSAGE_QUEUE_MP_FLUSH_RESPONSE = 12 , MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_REQUEST = 13 , MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE = 14 } |
Functions | |
RTEMS_INLINE_ROUTINE bool | _Message_queue_MP_Is_remote (Objects_Id id) |
void | _Message_queue_Core_message_queue_mp_support (Thread_Control *the_thread, rtems_id id) |
Message_queue_Core_message_queue_mp_support. More... | |
void | _Message_queue_MP_Send_process_packet (Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, rtems_name name, Objects_Id proxy_id) |
_Message_queue_MP_Send_process_packet More... | |
rtems_status_code | _Message_queue_MP_Broadcast (rtems_id id, const void *buffer, size_t size, uint32_t *count) |
Issues a remote rtems_message_queue_broadcast() request. | |
rtems_status_code | _Message_queue_MP_Flush (rtems_id id, uint32_t *count) |
Issues a remote rtems_message_queue_flush() request. | |
rtems_status_code | _Message_queue_MP_Get_number_pending (rtems_id id, uint32_t *count) |
Issues a remote rtems_message_queue_get_number_pending() request. | |
rtems_status_code | _Message_queue_MP_Receive (rtems_id id, void *buffer, size_t *size, rtems_option option_set, rtems_interval timeout) |
Issues a remote rtems_message_queue_receive() request. | |
rtems_status_code | _Message_queue_MP_Send (rtems_id id, const void *buffer, size_t size) |
Issues a remote rtems_message_queue_send() request. | |
rtems_status_code | _Message_queue_MP_Urgent (rtems_id id, const void *buffer, size_t size) |
Issues a remote rtems_message_queue_urgent() request. | |
void | _Message_queue_MP_Send_object_was_deleted (Thread_Control *the_proxy, Objects_Id mp_id) |
_Message_queue_MP_Send_object_was_deleted More... | |
Message Manager MP Support.
This include file contains all the constants and structures associated with the Multiprocessing Support in the Message Manager.
The following enumerated type defines the list of remote message queue operations.
void _Message_queue_Core_message_queue_mp_support | ( | Thread_Control * | the_thread, |
rtems_id | id | ||
) |
Message_queue_Core_message_queue_mp_support.
Input parameters: the_thread - the remote thread the message was submitted to id - id of the message queue
Output parameters: NONE
void _Message_queue_MP_Send_object_was_deleted | ( | Thread_Control * | the_proxy, |
Objects_Id | mp_id | ||
) |
_Message_queue_MP_Send_object_was_deleted
This routine is invoked indirectly by the thread queue when a proxy has been removed from the thread queue and the remote node must be informed of this.
void _Message_queue_MP_Send_process_packet | ( | Message_queue_MP_Remote_operations | operation, |
Objects_Id | message_queue_id, | ||
rtems_name | name, | ||
Objects_Id | proxy_id | ||
) |
_Message_queue_MP_Send_process_packet
This routine performs a remote procedure call so that a process operation can be performed on another node.