RTEMS CPU Kit with SuperCore
4.11.3
|
Control block used to manage each message queue. More...
#include <coremsg.h>
Data Fields | |
Thread_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. | |
CORE_message_queue_Attributes | Attributes |
This element is the set of attributes which define this instance's behavior. | |
uint32_t | maximum_pending_messages |
This element is maximum number of messages which may be pending at any given time. | |
uint32_t | number_of_pending_messages |
This element is the number of messages which are currently pending. | |
size_t | maximum_message_size |
This is the size in bytes of the largest message which may be sent via this queue. | |
Chain_Control | Pending_messages |
This chain is the set of pending messages. More... | |
CORE_message_queue_Buffer * | message_buffers |
This is the address of the memory allocated for message buffers. More... | |
Chain_Control | Inactive_messages |
This chain is the set of inactive messages. More... | |
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.
Referenced by _CORE_message_queue_Allocate_message_buffer(), and _CORE_message_queue_Free_message_buffer().
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.
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.
Referenced by _CORE_message_queue_Get_pending_message().