RTEMS
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 
25 #include <rtems/score/isrlock.h>
26 #include <rtems/score/threadq.h>
27 #include <rtems/score/watchdog.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
46 #if defined(RTEMS_POSIX_API)
47 
52  #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
53 #endif
54 
59 #define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
60 
62 
69 typedef enum {
75 
76 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
77 
84  typedef void (*CORE_message_queue_Notify_Handler)(
87  );
88 #endif
89 
101 
106 
127 
135  void ( *free_message_buffers )( void * );
136 
137  #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
138 
141  CORE_message_queue_Notify_Handler notify_handler;
142  #endif
143 
147 };
148 
151 #ifdef __cplusplus
152 }
153 #endif
154 
155 #endif
156 /* end of include file */
Thread queue context for the thread queue methods.
Definition: threadq.h:198
Chain_Control Inactive_messages
Definition: coremsg.h:146
Constants and Structures Associated with Watchdog Timers.
const Thread_queue_Operations * operations
The thread queue operations according to the blocking discipline.
Definition: coremsg.h:105
Constants and Structures Needed to Declare a Thread Queue.
uint32_t number_of_pending_messages
Definition: coremsg.h:113
void(* free_message_buffers)(void *)
This member contains the optional message buffer storage area free handler.
Definition: coremsg.h:135
Thread queue operations.
Definition: threadq.h:517
This header file defines the buffer data structure used by the Message Queue Handler.
uint32_t maximum_pending_messages
Definition: coremsg.h:110
Chain_Control Pending_messages
Definition: coremsg.h:121
The structure is used to organize message buffers of a message queue.
Definition: coremsgbuffer.h:63
CORE_message_queue_Disciplines
The possible blocking disciplines for a message queue.
Definition: coremsg.h:69
Control block used to manage each message queue.
Definition: coremsg.h:96
ISR Locks.
Thread_queue_Control Wait_queue
Definition: coremsg.h:100
CORE_message_queue_Buffer * message_buffers
Definition: coremsg.h:126