19 #ifndef _RTEMS_SCORE_COREMSG_H 20 #define _RTEMS_SCORE_COREMSG_H 40 #if defined(RTEMS_POSIX_API) 46 #define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY 49 #if defined(RTEMS_POSIX_API) 55 #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION 58 #if defined(RTEMS_POSIX_API) 63 #define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND 91 #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY) 123 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) 131 typedef void (*CORE_message_queue_Notify_Handler)(
void * );
169 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) 173 CORE_message_queue_Notify_Handler notify_handler;
175 void *notify_argument;
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
Chain_Control Inactive_messages
This chain is the set of inactive messages.
Definition: coremsg.h:180
This is used to manage a chain.
Definition: chain.h:83
Control block used to manage the attributes of each message queue.
Definition: coremsg.h:118
Chain_Node Node
This element allows this structure to be placed on chains.
Definition: coremsg.h:90
This is the structure used to manage sets of tasks which are blocked waiting to acquire a resource...
Definition: threadq.h:171
The organization of a message buffer.
Definition: coremsg.h:88
Constants and Structures Associated with Watchdog Timers.
This value indicates that blocking tasks are in FIFO order.
Definition: coremsg.h:107
Constants and Structures Needed to Declare a Thread Queue.
uint32_t number_of_pending_messages
This element is the number of messages which are currently pending.
Definition: coremsg.h:155
CORE_message_queue_Buffer Contents
This field points to the contents of the message.
Definition: coremsg.h:96
size_t size
This field is the size of this message.
Definition: coremsg.h:77
CORE_message_queue_Disciplines discipline
This field specifies the order in which blocking tasks will be ordered.
Definition: coremsg.h:120
uint32_t maximum_pending_messages
This element is maximum number of messages which may be pending at any given time.
Definition: coremsg.h:152
Chain_Control Pending_messages
This chain is the set of pending messages.
Definition: coremsg.h:163
Data types needed to manipulate the contents of message buffers.
Definition: coremsg.h:75
Control block used to manage each message queue.
Definition: coremsg.h:140
This value indicates that blocking tasks are in priority order.
Definition: coremsg.h:109
CORE_message_queue_Disciplines
The possible blocking disciplines for a message queue.
Definition: coremsg.h:105
CORE_message_queue_Attributes Attributes
This element is the set of attributes which define this instance's behavior.
Definition: coremsg.h:148
size_t maximum_message_size
This is the size in bytes of the largest message which may be sent via this queue.
Definition: coremsg.h:159
Thread_queue_Control Wait_queue
This field is the Waiting Queue used to manage the set of tasks which are blocked waiting to receive ...
Definition: coremsg.h:144
CORE_message_queue_Buffer * message_buffers
This is the address of the memory allocated for message buffers.
Definition: coremsg.h:168