RTEMS 6.1-rc2
|
This group contains the implementation to support the Message Manager in multiprocessing (MP) configurations. More...
Files | |
file | msgmp.h |
This header file provides the implementation interfaces of the Message Manager Multiprocessing (MP) Support. | |
file | msgmp.c |
This source file contains the implementation to support the Message Manager in multiprocessing (MP) configurations. | |
Data Structures | |
struct | Message_queue_MP_Packet |
Macros | |
#define | MESSAGE_QUEUE_MP_PACKET_SIZE offsetof(Message_queue_MP_Packet, 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 | |
void | _Message_queue_Core_message_queue_mp_support (Thread_Control *the_thread, rtems_id id) |
Message_queue_Core_message_queue_mp_support. | |
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 | |
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 | |
This group contains the implementation to support the Message Manager in multiprocessing (MP) configurations.
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.