blob: 01477f17ddda7cd4955b39e2602b0e47b5d58102 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* ###*B*###
2 * ERIKA Enterprise - a tiny RTOS for small microcontrollers
3 *
4 * Copyright (C) 2002-2014 Evidence Srl
5 *
6 * This file is part of ERIKA Enterprise.
7 *
8 * ERIKA Enterprise is free software; you can redistribute it
9 * and/or modify it under the terms of the GNU General Public License
10 * version 2 as published by the Free Software Foundation,
11 * (with a special exception described below).
12 *
13 * Linking this code statically or dynamically with other modules is
14 * making a combined work based on this code. Thus, the terms and
15 * conditions of the GNU General Public License cover the whole
16 * combination.
17 *
18 * As a special exception, the copyright holders of this library give you
19 * permission to link this code with independent modules to produce an
20 * executable, regardless of the license terms of these independent
21 * modules, and to copy and distribute the resulting executable under
22 * terms of your choice, provided that you also meet, for each linked
23 * independent module, the terms and conditions of the license of that
24 * module. An independent module is a module which is not derived from
25 * or based on this library. If you modify this code, you may extend
26 * this exception to your version of the code, but you are not
27 * obligated to do so. If you do not wish to do so, delete this
28 * exception statement from your version.
29 *
30 * ERIKA Enterprise is distributed in the hope that it will be
31 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
32 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 * GNU General Public License version 2 for more details.
34 *
35 * You should have received a copy of the GNU General Public License
36 * version 2 along with ERIKA Enterprise; if not, write to the
37 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
38 * Boston, MA 02110-1301 USA.
39 * ###*E*### */
40
41/*
42 * Author: 2004 Paolo Gai
43 */
44
45#ifndef PKG_EE_API_H
46#define PKG_EE_API_H
47
48/*
49 * ee_api.h contains the definition of all the interfaces exported to
50 * the user. Typically, they are just "#define apifunction
51 * internal_function" in case of kernels without memory protection, or
52 * they are something like "apifunction
53 * {assembler_stub_that_calls_SWI}" in case of a kernel with memory
54 * protection.
55 */
56
57
58
59/*
60 *
61 * CPU
62 *
63 */
64
65/*
66 *
67 * MCU
68 *
69 */
70
71/*
72 *
73 * BOARD
74 *
75 */
76
77/*
78 *
79 * Kernel
80 *
81 */
82
83#ifdef __FP__
84#include "kernel/fp/inc/ee_api.h"
85#endif
86
87#if (defined(__OO_BCC1__)) || (defined(__OO_BCC2__)) \
88 || (defined(__OO_ECC1__)) || (defined(__OO_ECC2__))
89#include "kernel/oo/inc/ee_oo_api.h"
90
91/* Multicore API introduced from AS */
92#ifdef __MSRP__
93#include "kernel/as/inc/ee_as_multicore_api.h"
94#endif /* __MSRP__ */
95
96#endif /* __OO_XXXX__ */
97
98#ifdef __EDF__
99#include "kernel/edf/inc/ee_api.h"
100#endif
101
102#ifdef __SEM__
103#include "kernel/sem/inc/ee_api.h"
104#endif
105
106#ifdef __ALARMS__
107#include "kernel/alarms/inc/ee_api.h"
108#endif
109
110#ifdef __FRSH__
111#include "kernel/frsh/inc/ee_api.h"
112#endif
113
114#ifdef __HR__
115#include "kernel/hr/inc/ee_api.h"
116#endif
117
118/*
119 *
120 * Com
121 *
122 */
123
124#if (defined(__COM_CCCA__)) || (defined(__COM_CCCB__)) \
125 || (defined(__COM_CCC0__)) || (defined(__COM_CCC1__))
126#include "com/com/inc/ee_api.h"
127#endif
128
129/*
130 *
131 *
132 */
133#if defined(__AS_SC4__)
134#include "kernel/as/inc/ee_os.h"
135#include "kernel/as/inc/ee_os_internal.h"
136/* Multicore API introduced from AS */
137#ifdef __MSRP__
138#include "kernel/as/inc/ee_as_multicore_api.h"
139#endif /* __MSRP__ */
140
141/*
142 * Some autosar functionalities are implemented as architecture-dependent
143 * macros, but they need the definitions in the above header files.
144 */
145#ifdef __PPCE200ZX__
146#include "cpu/e200zx/inc/ee_as_cpu.h"
147#endif
148#endif /* __AS_SC4__ */
149
150#if (defined(__EE_MEMORY_PROTECTION__)) && (!defined(__AS_SC4__))
151#include "kernel/as/inc/ee_as_api.h"
152#endif /* __EE_MEMORY_PROTECTION__ && !__AS_SC4__ */
153
154#endif /* __INCLUDE_EE_API_H__ */