56#ifndef _RTEMS_RTEMS_MESSAGE_H
57#define _RTEMS_RTEMS_MESSAGE_H
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.
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
void(*) storage_free(void *)
This member defines the optional handler to free the message buffer storage area.
Definition message.h:131
uint32_t maximum_pending_messages
This member defines the maximum number of pending messages supported by the message queue.
Definition message.h:100