eal: add internal ABI tag definition
[dpdk.git] / lib / librte_eal / include / rte_compat.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2015 Neil Horman <nhorman@tuxdriver.com>.
3  * All rights reserved.
4  */
5
6 #ifndef _RTE_COMPAT_H_
7 #define _RTE_COMPAT_H_
8
9 #ifndef ALLOW_EXPERIMENTAL_API
10
11 #define __rte_experimental \
12 __attribute__((deprecated("Symbol is not yet part of stable ABI"), \
13 section(".text.experimental")))
14
15 #else
16
17 #define __rte_experimental \
18 __attribute__((section(".text.experimental")))
19
20 #endif
21
22 #ifndef ALLOW_INTERNAL_API
23
24 #define __rte_internal \
25 __attribute__((error("Symbol is not public ABI"), \
26 section(".text.internal")))
27
28 #else
29
30 #define __rte_internal \
31 __attribute__((section(".text.internal")))
32
33 #endif
34
35 #endif /* _RTE_COMPAT_H_ */