RTEMS 6.1-rc1
messagedata.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/* COPYRIGHT (c) 1989-2013.
13 * On-Line Applications Research Corporation (OAR).
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37#ifndef _RTEMS_RTEMS_MESSAGEDATA_H
38#define _RTEMS_RTEMS_MESSAGEDATA_H
39
40#include <rtems/rtems/message.h>
41#include <rtems/score/coremsg.h>
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
58typedef struct {
63#if defined(RTEMS_MULTIPROCESSING)
65 bool is_global;
66#endif
68
73
74#if defined(RTEMS_MULTIPROCESSING)
82void _Message_queue_MP_Send_extract_proxy (
83 Thread_Control *the_thread,
84 Objects_Id id
85);
86#endif
87
97#define MESSAGE_QUEUE_INFORMATION_DEFINE( max ) \
98 OBJECTS_INFORMATION_DEFINE( \
99 _Message_queue, \
100 OBJECTS_CLASSIC_API, \
101 OBJECTS_RTEMS_MESSAGE_QUEUES, \
102 Message_queue_Control, \
103 max, \
104 OBJECTS_NO_STRING_NAME, \
105 _Message_queue_MP_Send_extract_proxy \
106 )
107
110#ifdef __cplusplus
111}
112#endif
113
114#endif
115/* end of include file */
This header file provides interfaces of the Message Queue Handler which are only used by the implemen...
Objects_Information _Message_queue_Information
The Classic Message Queue objects information.
uint32_t Objects_Id
Definition: object.h:101
This header file defines the Message Manager API.
This header file provides data structures used by the implementation and the Application Configuratio...
Control block used to manage each message queue.
Definition: coremsg.h:113
Definition: messagedata.h:58
Objects_Control Object
Definition: messagedata.h:60
CORE_message_queue_Control message_queue
Definition: messagedata.h:62
Definition: objectdata.h:61
The information structure used to manage each API class of objects.
Definition: objectdata.h:198
Definition: thread.h:812