RTEMS CPU Kit with SuperCore
4.11.3
|
Multiprocessing Support for the Message Queue Manager. More...
#include <rtems/rtems/messageimpl.h>
#include <rtems/rtems/optionsimpl.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/statesimpl.h>
#include <rtems/score/threadimpl.h>
Functions | |
RTEMS_STATIC_ASSERT (MESSAGE_QUEUE_MP_PACKET_SIZE<=MP_PACKET_MINIMUM_PACKET_SIZE, Message_queue_MP_Packet) | |
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_Send_request_packet (Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, const void *buffer, size_t *size_p, rtems_option option_set, rtems_interval timeout) |
_Message_queue_MP_Send_request_packet More... | |
void | _Message_queue_MP_Send_response_packet (Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, Thread_Control *the_thread) |
_Message_queue_MP_Send_response_packet More... | |
void | _Message_queue_MP_Process_packet (rtems_packet_prefix *the_packet_prefix) |
_Message_queue_MP_Process_packet More... | |
void | _Message_queue_MP_Send_object_was_deleted (Thread_Control *the_proxy) |
_Message_queue_MP_Send_object_was_deleted More... | |
void | _Message_queue_MP_Send_extract_proxy (void *argument) |
_Message_queue_MP_Send_extract_proxy More... | |
Message_queue_MP_Packet * | _Message_queue_MP_Get_packet (void) |
_Message_queue_MP_Get_packet More... | |
void | _Message_queue_Core_message_queue_mp_support (Thread_Control *the_thread, Objects_Id id) |
Message_queue_Core_message_queue_mp_support. More... | |
Multiprocessing Support for the Message Queue Manager.
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
References _Message_queue_MP_Send_response_packet(), and RTEMS_SUCCESSFUL.
Message_queue_MP_Packet* _Message_queue_MP_Get_packet | ( | void | ) |
_Message_queue_MP_Get_packet
This function is used to obtain a message queue mp packet.
References _MPCI_Get_packet().
void _Message_queue_MP_Process_packet | ( | rtems_packet_prefix * | the_packet_prefix | ) |
_Message_queue_MP_Process_packet
This routine performs the actions specific to this package for the request from another node.
void _Message_queue_MP_Send_extract_proxy | ( | void * | argument | ) |
_Message_queue_MP_Send_extract_proxy
This routine is invoked when a task is deleted and it has a proxy which must be removed from a thread queue and the remote node must be informed of this.
References _Message_queue_MP_Send_process_packet().
void _Message_queue_MP_Send_object_was_deleted | ( | Thread_Control * | the_proxy | ) |
_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.
References _Message_queue_MP_Send_response_packet(), and RTEMS_OBJECT_WAS_DELETED.
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.
Referenced by _Message_queue_MP_Send_extract_proxy().
rtems_status_code _Message_queue_MP_Send_request_packet | ( | Message_queue_MP_Remote_operations | operation, |
Objects_Id | message_queue_id, | ||
const void * | buffer, | ||
size_t * | size_p, | ||
rtems_option | option_set, | ||
rtems_interval | timeout | ||
) |
_Message_queue_MP_Send_request_packet
This routine performs a remote procedure call so that a directive operation can be initiated on another node.
void _Message_queue_MP_Send_response_packet | ( | Message_queue_MP_Remote_operations | operation, |
Objects_Id | message_queue_id, | ||
Thread_Control * | the_thread | ||
) |
_Message_queue_MP_Send_response_packet
This routine performs a remote procedure call so that a directive can be performed on another node.
Referenced by _Message_queue_Core_message_queue_mp_support(), and _Message_queue_MP_Send_object_was_deleted().