XCORE SDK
XCORE Software Development Kit
xs3_api.h
1 // Copyright 2021-2022 XMOS LIMITED.
2 // This Software is subject to the terms of the XMOS Public Licence: Version 1.
3 // XMOS Public License: Version 1
4 
5 #pragma once
6 
7 
20 #ifndef EXTERN_C
21 # if defined(__cplusplus)
22 # define EXTERN_C extern "C"
23 # else
24 # define EXTERN_C
25 # endif //__cplusplus
26 #endif
27 
29 #ifndef C_API
30 # define C_API EXTERN_C
31 #endif
33 #ifndef C_TYPE
34 # define C_TYPE EXTERN_C
35 #endif
36 
38 #ifndef ALIGNMENT
39 # ifdef __xcore__
40 # define ALIGNMENT(N) __attribute__((aligned (N)))
41 # else
42 # define ALIGNMENT(N)
43 # endif
44 #endif
45 
47 #ifndef WORD_ALIGNED
48 # define WORD_ALIGNED ALIGNMENT(4)
49 #endif
50 
52 #ifndef DWORD_ALIGNED
53 # define DWORD_ALIGNED ALIGNMENT(8)
54 #endif