RTEMS
5.1
|
Control block used to manage each message queue. More...
#include <coremsg.h>
Data Fields | |
Thread_queue_Control | Wait_queue |
const Thread_queue_Operations * | operations |
The thread queue operations according to the blocking discipline. | |
uint32_t | maximum_pending_messages |
uint32_t | number_of_pending_messages |
size_t | maximum_message_size |
Chain_Control | Pending_messages |
CORE_message_queue_Buffer * | message_buffers |
Chain_Control | Inactive_messages |
Control block used to manage each message queue.
The following defines the control block used to manage each Message Queue.
Chain_Control CORE_message_queue_Control::Inactive_messages |
This chain is the set of inactive messages. A message is inactive when it does not contain a pending message.
size_t CORE_message_queue_Control::maximum_message_size |
This is the size in bytes of the largest message which may be sent via this queue.
uint32_t CORE_message_queue_Control::maximum_pending_messages |
This element is maximum number of messages which may be pending at any given time.
CORE_message_queue_Buffer* CORE_message_queue_Control::message_buffers |
This is the address of the memory allocated for message buffers. It is allocated are part of message queue initialization and freed as part of destroying it.
uint32_t CORE_message_queue_Control::number_of_pending_messages |
This element is the number of messages which are currently pending.
Chain_Control CORE_message_queue_Control::Pending_messages |
This chain is the set of pending messages. It may be ordered by message priority or in FIFO order.
Thread_queue_Control CORE_message_queue_Control::Wait_queue |
This field is the Waiting Queue used to manage the set of tasks which are blocked waiting to receive a message from this queue.