RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
score
mpci.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
12
13
/*
14
* COPYRIGHT (c) 1989-2009.
15
* 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_MPCI_H
40
#define _RTEMS_SCORE_MPCI_H
41
42
#include <
rtems/score/mppkt.h
>
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
47
63
67
#define MPCI_ALL_NODES 0
68
72
typedef
void
MPCI_Entry
;
73
78
typedef
MPCI_Entry
( *
MPCI_initialization_entry
)( void );
79
85
typedef
MPCI_Entry
( *
MPCI_get_packet_entry
)(
86
MP_packet_Prefix
**
87
);
88
95
typedef
MPCI_Entry
( *
MPCI_return_packet_entry
)(
96
MP_packet_Prefix
*
97
);
98
105
typedef
MPCI_Entry
( *
MPCI_send_entry
)(
106
uint32_t,
107
MP_packet_Prefix
*
108
);
109
117
typedef
MPCI_Entry
( *
MPCI_receive_entry
)(
118
MP_packet_Prefix
**
119
);
120
129
typedef
struct
{
131
uint32_t
default_timeout
;
136
size_t
maximum_packet_size
;
138
MPCI_initialization_entry
initialization
;
140
MPCI_get_packet_entry
get_packet
;
142
MPCI_return_packet_entry
return_packet
;
144
MPCI_send_entry
send_packet
;
146
MPCI_receive_entry
receive_packet
;
147
}
MPCI_Control
;
148
149
/*
150
* The following records define the Multiprocessor Configuration
151
* Table. This table defines the multiprocessor system
152
* characteristics which must be known by RTEMS in a multiprocessor
153
* system.
154
*/
155
typedef
struct
{
157
uint32_t
node
;
159
uint32_t
maximum_nodes
;
161
uint32_t
maximum_global_objects
;
163
uint32_t
maximum_proxies
;
164
170
uint32_t
extra_mpci_receive_server_stack
;
171
173
MPCI_Control
*
User_mpci_table
;
174
}
MPCI_Configuration
;
175
181
extern
const
MPCI_Configuration
_MPCI_Configuration
;
182
188
extern
char
_MPCI_Receive_server_stack
[];
189
191
192
#ifdef __cplusplus
193
}
194
#endif
195
196
#endif
197
/* end of include file */
MPCI_Entry
void MPCI_Entry
Definition
mpci.h:72
MPCI_return_packet_entry
MPCI_Entry(*) MPCI_return_packet_entry(MP_packet_Prefix *)
Definition
mpci.h:95
MPCI_send_entry
MPCI_Entry(*) MPCI_send_entry(uint32_t, MP_packet_Prefix *)
Definition
mpci.h:105
_MPCI_Receive_server_stack
char _MPCI_Receive_server_stack[]
The MPCI receive server stack.
MPCI_get_packet_entry
MPCI_Entry(*) MPCI_get_packet_entry(MP_packet_Prefix **)
Definition
mpci.h:85
_MPCI_Configuration
const MPCI_Configuration _MPCI_Configuration
The MPCI configuration.
Definition
mpcidefault.c:54
MPCI_receive_entry
MPCI_Entry(*) MPCI_receive_entry(MP_packet_Prefix **)
Definition
mpci.h:117
MPCI_initialization_entry
MPCI_Entry(*) MPCI_initialization_entry(void)
Definition
mpci.h:78
mppkt.h
This header file provides the interfaces of the Multiprocessing (MP) Packet Handler.
MPCI_Configuration
Definition
mpci.h:155
MPCI_Configuration::node
uint32_t node
Definition
mpci.h:157
MPCI_Configuration::User_mpci_table
MPCI_Control * User_mpci_table
Definition
mpci.h:173
MPCI_Configuration::extra_mpci_receive_server_stack
uint32_t extra_mpci_receive_server_stack
Definition
mpci.h:170
MPCI_Configuration::maximum_proxies
uint32_t maximum_proxies
Definition
mpci.h:163
MPCI_Configuration::maximum_nodes
uint32_t maximum_nodes
Definition
mpci.h:159
MPCI_Configuration::maximum_global_objects
uint32_t maximum_global_objects
Definition
mpci.h:161
MPCI_Control
Definition
mpci.h:129
MPCI_Control::return_packet
MPCI_return_packet_entry return_packet
Definition
mpci.h:142
MPCI_Control::default_timeout
uint32_t default_timeout
Definition
mpci.h:131
MPCI_Control::receive_packet
MPCI_receive_entry receive_packet
Definition
mpci.h:146
MPCI_Control::initialization
MPCI_initialization_entry initialization
Definition
mpci.h:138
MPCI_Control::maximum_packet_size
size_t maximum_packet_size
Definition
mpci.h:136
MPCI_Control::send_packet
MPCI_send_entry send_packet
Definition
mpci.h:144
MPCI_Control::get_packet
MPCI_get_packet_entry get_packet
Definition
mpci.h:140
MP_packet_Prefix
Definition
mppkt.h:102
Generated by
1.18.0