56#ifndef _RTEMS_RTEMS_MESSAGE_H
57#define _RTEMS_RTEMS_MESSAGE_H
131 void ( *storage_free )(
void * );
278 size_t max_message_size,
913#define RTEMS_MESSAGE_QUEUE_BUFFER( _maximum_message_size ) \
915 CORE_message_queue_Buffer _buffer; \
916 char _message[ _maximum_message_size ]; \
This header file provides Classic API directive attributes.
This header file provides interfaces of the Message Queue Handler which are used by the implementatio...
This header file provides types used by the Classic API.
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition: attr.h:96
rtems_status_code rtems_message_queue_send(rtems_id id, const void *buffer, size_t size)
Puts the message at the rear of the queue.
Definition: msgqsend.c:45
rtems_status_code rtems_message_queue_construct(const rtems_message_queue_config *config, rtems_id *id)
Constructs a message queue from the specified the message queue configuration.
Definition: msgqconstruct.c:72
rtems_status_code rtems_message_queue_delete(rtems_id id)
Deletes the message queue.
Definition: msgqdelete.c:45
rtems_status_code rtems_message_queue_broadcast(rtems_id id, const void *buffer, size_t size, uint32_t *count)
Broadcasts the messages to the tasks waiting at the queue.
Definition: msgqbroadcast.c:45
rtems_status_code rtems_message_queue_flush(rtems_id id, uint32_t *count)
Flushes all messages on the queue.
Definition: msgqflush.c:44
rtems_status_code rtems_message_queue_ident(rtems_name name, uint32_t node, rtems_id *id)
Identifies a message queue by the object name.
Definition: msgqident.c:45
rtems_status_code rtems_message_queue_receive(rtems_id id, void *buffer, size_t *size, rtems_option option_set, rtems_interval timeout)
Receives a message from the queue.
Definition: msgqreceive.c:52
rtems_status_code rtems_message_queue_get_number_pending(rtems_id id, uint32_t *count)
Gets the number of messages pending on the queue.
Definition: msgqgetnumberpending.c:44
rtems_status_code rtems_message_queue_urgent(rtems_id id, const void *buffer, size_t size)
Puts the message at the front of the queue.
Definition: msgqurgent.c:45
rtems_status_code rtems_message_queue_create(rtems_name name, uint32_t count, size_t max_message_size, rtems_attribute attribute_set, rtems_id *id)
Creates a message queue.
Definition: msgqcreate.c:46
uint32_t rtems_option
This type represents a Classic API directive option set.
Definition: options.h:126
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
uint32_t rtems_name
This type represents Classic API object names.
Definition: types.h:226
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition: types.h:94
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition: types.h:114
This header file provides the Classic API directive options.
This header file provides the status codes of Classic API directives and support functions.
Definition: deflate.c:114
This structure defines the configuration of a message queue constructed by rtems_message_queue_constr...
Definition: message.h:90
void * storage_area
This member shall point to the message buffer storage area begin.
Definition: message.h:115
size_t maximum_message_size
This member defines the maximum message size supported by the message queue.
Definition: message.h:106
rtems_attribute attributes
This member defines the attributes of the message queue.
Definition: message.h:136
size_t storage_size
This member defines size of the message buffer storage area in bytes.
Definition: message.h:120
rtems_name name
This member defines the name of the message queue.
Definition: message.h:94
uint32_t maximum_pending_messages
This member defines the maximum number of pending messages supported by the message queue.
Definition: message.h:100