RTEMS 6.1-rc7
Loading...
Searching...
No Matches
coremsg.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * COPYRIGHT (c) 1989-2009.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_SCORE_COREMSG_H
39#define _RTEMS_SCORE_COREMSG_H
40
42#include <rtems/score/isrlock.h>
43#include <rtems/score/threadq.h>
45
46#ifdef __cplusplus
47extern "C" {
48#endif
49
63#if defined(RTEMS_POSIX_API)
69 #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
70#endif
71
76#define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
77
79
86typedef enum {
92
93#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
101 typedef void (*CORE_message_queue_Notify_Handler)(
104 );
105#endif
106
118
123
144
152 void ( *free_message_buffers )( void * );
153
154 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
158 CORE_message_queue_Notify_Handler notify_handler;
159 #endif
164};
165
168#ifdef __cplusplus
169}
170#endif
171
172#endif
173/* end of include file */
This header file provides interfaces of the Message Queue Handler which are used by the implementatio...
This header file provides interfaces of the Watchdog Handler which are used by the implementation and...
CORE_message_queue_Disciplines
The possible blocking disciplines for a message queue.
Definition: coremsg.h:86
@ CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO
Definition: coremsg.h:88
@ CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY
Definition: coremsg.h:90
This header file provides the interfaces of the ISR Locks.
The structure is used to organize message buffers of a message queue.
Definition: coremsgbuffer.h:64
Control block used to manage each message queue.
Definition: coremsg.h:113
Chain_Control Inactive_messages
Definition: coremsg.h:163
const Thread_queue_Operations * operations
The thread queue operations according to the blocking discipline.
Definition: coremsg.h:122
size_t maximum_message_size
Definition: coremsg.h:134
void(* free_message_buffers)(void *)
This member contains the optional message buffer storage area free handler.
Definition: coremsg.h:152
uint32_t number_of_pending_messages
Definition: coremsg.h:130
CORE_message_queue_Buffer * message_buffers
Definition: coremsg.h:143
Thread_queue_Control Wait_queue
Definition: coremsg.h:117
Chain_Control Pending_messages
Definition: coremsg.h:138
uint32_t maximum_pending_messages
Definition: coremsg.h:127
Thread queue context for the thread queue methods.
Definition: threadq.h:216
Definition: threadq.h:609
The thread queue operations are used to manage the threads of a thread queue.
Definition: threadq.h:554
This header file provides interfaces of the Thread Queue Handler which are used by the implementation...
This union represents a chain control block.
Definition: chain.h:96