RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
coremsg.h
Go to the documentation of this file.
1
12/*
13 * COPYRIGHT (c) 1989-2009.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * The license and distribution terms for this file may be
17 * found in the file LICENSE in this distribution or at
18 * http://www.rtems.org/license/LICENSE.
19 */
20
21#ifndef _RTEMS_SCORE_COREMSG_H
22#define _RTEMS_SCORE_COREMSG_H
23
24#include <rtems/score/chain.h>
25#include <rtems/score/isrlock.h>
26#include <rtems/score/threadq.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
51#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
52
53#if defined(RTEMS_POSIX_API)
59 #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
60#endif
61
66#define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
67
69
79typedef struct {
81 size_t size;
83 uint32_t buffer[1];
85
92typedef struct {
95 #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
98 #endif
102
109typedef enum {
115
116#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
124 typedef void (*CORE_message_queue_Notify_Handler)(
127 );
128#endif
129
141
146
167 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
171 CORE_message_queue_Notify_Handler notify_handler;
172 #endif
177};
178
181#ifdef __cplusplus
182}
183#endif
184
185#endif
186/* end of include file */
Constants and Structures Associated with Watchdog Timers.
CORE_message_queue_Disciplines
The possible blocking disciplines for a message queue.
Definition: coremsg.h:109
@ CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO
Definition: coremsg.h:111
@ CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY
Definition: coremsg.h:113
ISR Locks.
Chain Handler API.
The organization of a message buffer.
Definition: coremsg.h:92
CORE_message_queue_Buffer Contents
Definition: coremsg.h:100
Chain_Node Node
Definition: coremsg.h:94
int priority
Definition: coremsg.h:97
Data types needed to manipulate the contents of message buffers.
Definition: coremsg.h:79
size_t size
Definition: coremsg.h:81
Control block used to manage each message queue.
Definition: coremsg.h:136
Chain_Control Inactive_messages
Definition: coremsg.h:176
const Thread_queue_Operations * operations
The thread queue operations according to the blocking discipline.
Definition: coremsg.h:145
size_t maximum_message_size
Definition: coremsg.h:157
uint32_t number_of_pending_messages
Definition: coremsg.h:153
CORE_message_queue_Buffer * message_buffers
Definition: coremsg.h:166
Thread_queue_Control Wait_queue
Definition: coremsg.h:140
Chain_Control Pending_messages
Definition: coremsg.h:161
uint32_t maximum_pending_messages
Definition: coremsg.h:150
Definition: chain.h:68
Thread queue context for the thread queue methods.
Definition: threadq.h:198
Definition: threadq.h:553
Thread queue operations.
Definition: threadq.h:518
Constants and Structures Needed to Declare a Thread Queue.
Definition: chain.h:86