16 #ifndef _RTEMS_RTEMS_MESSAGEIMPL_H 17 #define _RTEMS_RTEMS_MESSAGEIMPL_H 41 #ifndef RTEMS_MESSAGE_EXTERN 42 #define RTEMS_MESSAGE_EXTERN extern 104 uint32_t the_message_queue_status
139 _Objects_Get( &_Message_queue_Information,
id, location );
143 _Message_queue_Get_interrupt_disable(
150 &_Message_queue_Information,
169 #if defined(RTEMS_MULTIPROCESSING) void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectfree.c:25
RTEMS_INLINE_ROUTINE void _Message_queue_Free(Message_queue_Control *the_message_queue)
Deallocates a message queue control block into the inactive chain of free message queue control block...
Definition: messageimpl.h:114
This value indicates the user considers the message to be urgent and wants it inserted at the head of...
Definition: messageimpl.h:60
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
Inlined Routines in the Core Message Handler.
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:101
#define RTEMS_INLINE_ROUTINE
The following (in conjunction with compiler arguments) are used to choose between the use of static i...
Definition: basedefs.h:135
RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information
The following defines the information control block used to manage this class of objects.
Definition: messageimpl.h:67
#define RTEMS_MESSAGE_EXTERN
This constant is defined to extern most of the time when using this header file.
Definition: messageimpl.h:42
Objects_Control Object
This field is the inherited object characteristics.
Definition: message.h:55
Message_queue_Submit_types
The following enumerated type details the modes in which a message may be submitted to a message queu...
Definition: messageimpl.h:50
Message Manager MP Support.
rtems_status_code _Message_queue_Translate_core_message_queue_return_code(uint32_t the_message_queue_status)
Message queue Translate Core Message Queue Return Code.
Definition: msgqtranslatereturncode.c:43
rtems_status_code _Message_queue_Submit(rtems_id id, const void *buffer, size_t size, Message_queue_Submit_types submit_type)
Message_queue_Submit.
The following records define the control block used to manage each message queue. ...
Definition: message.h:53
Objects_Control * _Objects_Get(Objects_Information *information, Objects_Id id, Objects_Locations *location)
Maps object ids to object control blocks.
Definition: objectget.c:23
rtems_status_code
Classic API Status.
Definition: status.h:46
void _Message_queue_Manager_initialization(void)
Message Queue Manager Initialization.
Definition: msg.c:34
RTEMS_INLINE_ROUTINE Message_queue_Control * _Message_queue_Get(Objects_Id id, Objects_Locations *location)
Maps message queue IDs to message queue control blocks.
Definition: messageimpl.h:133
Objects_Locations
This enumerated type lists the locations which may be returned by _Objects_Get.
Definition: objectimpl.h:117
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
This value indicates the user wants to send the message using the normal message insertion protocol (...
Definition: messageimpl.h:55
Inlined Routines in the Object Handler.
uint32_t Objects_Id
The following type defines the control block used to manage object IDs.
Definition: object.h:122
Objects_Control * _Objects_Get_isr_disable(Objects_Information *information, Objects_Id id, Objects_Locations *location, ISR_lock_Context *lock_context)
Maps object ids to object control blocks.
Definition: objectgetisr.c:23