1 /**
2   ******************************************************************************
3   * @file    nema_sys_defs.h
4   * @author  MCD Application Team
5   * @brief   Header file of NemaGFX System Definitions for STM32 Platforms.
6   *          This file provides definition of types being used by the NemaGFX
7   *          library.
8   ******************************************************************************
9   * @attention
10   *
11   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
12   * All rights reserved.</center></h2>
13   *
14   * This software component is licensed by ST under BSD 3-Clause license,
15   * the "License"; You may not use this file except in compliance with the
16   * License. You may obtain a copy of the License at:
17   *                        opensource.org/licenses/BSD-3-Clause
18   *
19   ******************************************************************************
20   */
21 
22 /* Define to prevent recursive inclusion -------------------------------------*/
23 #ifndef NEMA_SYS_DEFS_H__
24 #define NEMA_SYS_DEFS_H__
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
30 /* Includes ------------------------------------------------------------------*/
31 #include <stdlib.h>
32 #include <stdio.h>
33 #include <stdint.h>
34 #include <stdbool.h>
35 
36 /* Temporarily added by ST */
37 #ifdef __ICCARM__
38 #define FORCE_INLINE _Pragma("inline = forced")
39 #else
40 #define FORCE_INLINE
41 #endif
42 
43 /* No Multi-Thread support */
44 #define TLS_VAR
45 
46 #ifdef NEMA_VG_INVALIDATE_CACHE
47 void platform_disable_cache(void);
48 void platform_invalidate_cache(void);
49 
50 #define NEMA_VG_DISABLE_CACHE platform_disable_cache()
51 #define NEMA_VG_ENABLE_INVALIDATE_CACHE platform_invalidate_cache()
52 #endif
53 
54 #ifdef __cplusplus
55 }
56 #endif /* __cplusplus */
57 
58 #endif /* NEMA_SYS_DEFS_H__ */
59