RTEMS: cpukit/include/rtems/score/coremsgimpl.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Typedefs | Functions
coremsgimpl.h File Reference
Internal » SuperCore » Message Queue Handler

Inlined Routines in the Core Message Handler. More...

`#include <rtems/score/coremsg.h>`
`#include <rtems/score/status.h>`
`#include <rtems/score/chainimpl.h>`
`#include <rtems/score/threaddispatch.h>`
`#include <rtems/score/threadqimpl.h>`
`#include <limits.h>`
`#include <string.h>`

Go to the source code of this file.

## Macros
#define | CORE_MESSAGE_QUEUE_SEND_REQUEST INT_MAX
| Used when appending messages onto a message queue.
#define | CORE_MESSAGE_QUEUE_URGENT_REQUEST INT_MIN
| Used when prepending messages onto a message queue.
#define | _CORE_message_queue_Set_notify(the_message_queue, the_handler) do { } while ( 0 )
| Initializes notification information.

## Typedefs
typedef int | CORE_message_queue_Submit_types
| The modes in which a message may be submitted to a message queue.

## Functions
bool | _CORE_message_queue_Initialize (CORE_message_queue_Control *the_message_queue, CORE_message_queue_Disciplines discipline, uint32_t maximum_pending_messages, size_t maximum_message_size)
| Initializes a message queue.
void | _CORE_message_queue_Close (CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
| Closes a message queue.
uint32_t | _CORE_message_queue_Flush (CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
| Flushes pending messages.
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.
Status_Control | _CORE_message_queue_Submit (CORE_message_queue_Control *the_message_queue, Thread_Control *executing, const void *buffer, size_t size, CORE_message_queue_Submit_types submit_type, bool wait, Thread_queue_Context *queue_context)
| Submits a message to the message queue.
Status_Control | _CORE_message_queue_Seize (CORE_message_queue_Control *the_message_queue, Thread_Control *executing, void *buffer, size_t *size_p, bool wait, Thread_queue_Context *queue_context)
| Seizes a message from the message queue.
void | _CORE_message_queue_Insert_message (CORE_message_queue_Control *the_message_queue, CORE_message_queue_Buffer_control *the_message, const void *content_source, size_t content_size, CORE_message_queue_Submit_types submit_type)
| Inserts a message into the message queue.
RTEMS_INLINE_ROUTINE Status_Control | _CORE_message_queue_Send (CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, bool wait, Thread_queue_Context *queue_context)
| Sends a message to the message queue.
RTEMS_INLINE_ROUTINE Status_Control | _CORE_message_queue_Urgent (CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, bool wait, Thread_queue_Context *queue_context)
| Sends an urgent message to the message queue.
RTEMS_INLINE_ROUTINE void | _CORE_message_queue_Acquire (CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
| Acquires the message queue.
RTEMS_INLINE_ROUTINE void | _CORE_message_queue_Acquire_critical (CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
| Acquires the message queue critical.
RTEMS_INLINE_ROUTINE void | _CORE_message_queue_Release (CORE_message_queue_Control *the_message_queue, Thread_queue_Context *queue_context)
| Releases the message queue.
RTEMS_INLINE_ROUTINE void | _CORE_message_queue_Copy_buffer (const void *source, void *destination, size_t size)
| Copies the source message buffer to the destination message buffer.
RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer_control * | _CORE_message_queue_Allocate_message_buffer (CORE_message_queue_Control *the_message_queue)
| Allocates a message buffer from the inactive message buffer chain.
RTEMS_INLINE_ROUTINE void | _CORE_message_queue_Free_message_buffer (CORE_message_queue_Control *the_message_queue, CORE_message_queue_Buffer_control *the_message)
| Frees a message buffer to inactive message buffer chain.
RTEMS_INLINE_ROUTINE int | _CORE_message_queue_Get_message_priority (const CORE_message_queue_Buffer_control *the_message)
| Gets message priority.
RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer_control * | _CORE_message_queue_Get_pending_message (CORE_message_queue_Control *the_message_queue)
| Gets first message of message queue and removes it.
RTEMS_INLINE_ROUTINE 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.

## Detailed Description

Inlined Routines in the Core Message Handler.

This include file contains the static inline implementation of all inlined routines in the Core Message Handler.