RTEMS 6.1-rc7
Loading...
Searching...
No Matches
coremsgbuffer.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
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
43#include <rtems/score/chain.h>
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
59#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
60
64typedef struct {
70
72 size_t size;
73
74#if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
77#endif
78
88 size_t buffer[ RTEMS_ZERO_LENGTH_ARRAY ];
90
93#ifdef __cplusplus
94}
95#endif
96
97#endif /* _RTEMS_SCORE_COREMSGBUFFER_H */
This header file provides basic definitions used by the API and the implementation.
#define RTEMS_ZERO_LENGTH_ARRAY
This constant represents the element count of a zero-length array.
Definition: basedefs.h:1032
This header file provides interfaces of the Chain Handler which are used by the implementation and th...
The structure is used to organize message buffers of a message queue.
Definition: coremsgbuffer.h:64
size_t size
This member defines the size of this message.
Definition: coremsgbuffer.h:72
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
int priority
This member defines the priority of this message.
Definition: coremsgbuffer.h:76
This structure represents a chain node.
Definition: chain.h:78