33 uint32_t number_broadcasted;
37 return STATUS_MESSAGE_INVALID_SIZE;
40 number_broadcasted = 0;
55 number_broadcasted += 1;
62 *count = number_broadcasted;
63 return STATUS_SUCCESSFUL;
Thread queue context for the thread queue methods.
Inlined Routines in the Core Message Handler.
#define _ISR_lock_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Inlined Routines in the Object Handler.
static __inline__ Thread_Control * _CORE_message_queue_Dequeue_receiver(CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, CORE_message_queue_Submit_types submit_type, Thread_queue_Context *queue_context)
Gets the first locked thread waiting to receive and dequeues it.
Thread_queue_Lock_context Lock_context
The lock context for the thread queue acquire and release operations.
Status_Control _CORE_message_queue_Broadcast(CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, uint32_t *count, Thread_queue_Context *queue_context)
Broadcasts a message to the message queue.
Control block used to manage each message queue.
ISR_lock_Context Lock_context
The lock context for the thread queue acquire and release operations.
static __inline__ void _CORE_message_queue_Release(CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
Releases the message queue.
size_t maximum_message_size
static __inline__ void _CORE_message_queue_Acquire_critical(CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
Acquires the message queue critical.
static __inline__ void _CORE_message_queue_Acquire(CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
Acquires the message queue.