RTEMS: cpukit/rtems/src/msgmp.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Functions
msgmp.c File Reference
API » Classic » Multiprocessing » Message Queue MP Support

Multiprocessing Support for the Message Queue Manager. More...

`#include <rtems/rtems/messageimpl.h>`
`#include <rtems/rtems/optionsimpl.h>`
`#include <rtems/rtems/statusimpl.h>`
`#include <rtems/score/coremsgimpl.h>`
`#include <rtems/score/statesimpl.h>`
`#include <rtems/score/threadimpl.h>`
`#include <rtems/sysinit.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
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
void | _Message_queue_MP_Send_extract_proxy (Thread_Control *the_thread, Objects_Id id)
void | _Message_queue_Core_message_queue_mp_support (Thread_Control *the_thread, Objects_Id id)
| Message_queue_Core_message_queue_mp_support.
| RTEMS_SYSINIT_ITEM (_Message_queue_MP_Initialize, RTEMS_SYSINIT_CLASSIC_MESSAGE_QUEUE_MP, RTEMS_SYSINIT_ORDER_MIDDLE)

## Detailed Description

Multiprocessing Support for the Message Queue Manager.

## Function Documentation

## ◆ _Message_queue_Core_message_queue_mp_support()

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

## ◆ _Message_queue_MP_Send_object_was_deleted()

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.

## ◆ _Message_queue_MP_Send_process_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

This routine performs a remote procedure call so that a process operation can be performed on another node.