RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
score
coremsgbuffer.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
12
13
/*
14
* Copyright (C) 2020 embedded brains GmbH & Co. KG
15
* Copyright (C) 1989, 2009 On-Line Applications Research Corporation (OAR)
16
*
17
* Redistribution and use in source and binary forms, with or without
18
* modification, are permitted provided that the following conditions
19
* are met:
20
* 1. Redistributions of source code must retain the above copyright
21
* notice, this list of conditions and the following disclaimer.
22
* 2. Redistributions in binary form must reproduce the above copyright
23
* notice, this list of conditions and the following disclaimer in the
24
* documentation and/or other materials provided with the distribution.
25
*
26
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
30
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36
* POSSIBILITY OF SUCH DAMAGE.
37
*/
38
39
#ifndef _RTEMS_SCORE_COREMSGBUFFER_H
40
#define _RTEMS_SCORE_COREMSGBUFFER_H
41
42
#include <
rtems/score/basedefs.h
>
43
#include <
rtems/score/chain.h
>
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
54
59
#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
60
64
typedef
struct
{
69
Chain_Node
Node
;
70
72
size_t
size
;
73
74
#if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
76
int
priority
;
77
#endif
78
88
size_t
buffer
[
RTEMS_ZERO_LENGTH_ARRAY
];
89
}
CORE_message_queue_Buffer
;
90
92
93
#ifdef __cplusplus
94
}
95
#endif
96
97
#endif
/* _RTEMS_SCORE_COREMSGBUFFER_H */
basedefs.h
This header file provides basic definitions used by the API and the implementation.
RTEMS_ZERO_LENGTH_ARRAY
#define RTEMS_ZERO_LENGTH_ARRAY
This constant represents the element count of a zero-length array.
Definition
basedefs.h:1032
chain.h
This header file provides interfaces of the Chain Handler which are used by the implementation and th...
CORE_message_queue_Buffer
The structure is used to organize message buffers of a message queue.
Definition
coremsgbuffer.h:64
CORE_message_queue_Buffer::size
size_t size
This member defines the size of this message.
Definition
coremsgbuffer.h:72
CORE_message_queue_Buffer::buffer
size_t buffer[RTEMS_ZERO_LENGTH_ARRAY]
This member contains the actual message.
Definition
coremsgbuffer.h:88
CORE_message_queue_Buffer::Node
Chain_Node Node
This member is used to enqueue the buffer in the pending or free buffer queue of a message queue.
Definition
coremsgbuffer.h:69
CORE_message_queue_Buffer::priority
int priority
This member defines the priority of this message.
Definition
coremsgbuffer.h:76
Chain_Node
This structure represents a chain node.
Definition
chain.h:78
Generated by
1.18.0