FAPI TM, WLS_LIB and ODULOW documentation
[o-du/phy.git] / wls_lib / ttypes.h
1 /******************************************************************************
2 *
3 *   Copyright (c) 2019 Intel.
4 *
5 *   Licensed under the Apache License, Version 2.0 (the "License");
6 *   you may not use this file except in compliance with the License.
7 *   You may obtain a copy of the License at
8 *
9 *       http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *   Unless required by applicable law or agreed to in writing, software
12 *   distributed under the License is distributed on an "AS IS" BASIS,
13 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *   See the License for the specific language governing permissions and
15 *   limitations under the License.
16 *
17 *******************************************************************************/
18
19 #ifndef __TTYPES_H__
20 #define __TTYPES_H__
21
22 #ifdef __cplusplus
23 extern "C"
24 {
25 #endif
26
27 #ifndef TRUE
28 #define TRUE    1
29 #endif /*TRUE*/
30
31 #ifndef FALSE
32 #define FALSE   0
33 #endif /*FALSE*/
34
35 #ifndef NULL
36 #define NULL   (void*)0
37 #endif /*NULL*/
38
39 /************************************************************************/
40 /*     SINT64, SINT32, SINT16 and SINT8 definition                      */
41 /************************************************************************/
42 #ifndef _SINT64_
43 #define _SINT64_
44 typedef long long SINT64, *PSINT64;
45 #endif /*_SINT64_*/
46
47 #ifndef _SINT32_
48 #define _SINT32_
49 typedef int SINT32, *PSINT32;
50 #endif /*_SINT32_*/
51
52 #ifndef _SINT16_
53 #define _SINT16_
54 typedef short SINT16, *PSINT16;
55 #endif /*_SINT16_*/
56
57 #ifndef _SINT8_
58 #define _SINT8_
59 typedef char SINT8, *PSINT8;
60 #endif /*_SINT8_*/
61
62 #ifndef _PVOID_
63 #define _PVOID_
64 typedef void *PVOID;
65 #endif /*_PVOID_*/
66
67 #ifndef _BOOL_
68 #define _BOOL_
69 typedef unsigned char BOOL;
70 #endif /*_BOOL_*/
71
72 #ifndef _U8_
73 typedef unsigned char  U8;      /* unsigned 8-bit  integer */
74 #define _U8_
75 #endif
76
77 #ifndef _U16_
78 typedef unsigned short U16;     /* unsigned 16-bit integer */
79 #define _U16_
80 #endif
81
82 #ifndef _U32_
83 typedef unsigned int   U32;     /* unsigned 32-bit integer */
84 #define _U32_
85 #endif
86
87 #ifndef _U64_
88 #ifdef __x86_64__
89 typedef unsigned long  U64;     /* unsigned 64-bit integer */
90 #else
91 typedef unsigned long long  U64;     /* unsigned 64-bit integer */
92 #endif
93 #define _U64_
94 #endif
95
96 #ifndef _V8_
97 typedef volatile unsigned char  V8;
98 #define _V8_
99 #endif
100
101 #ifndef _V16_
102 typedef volatile unsigned short V16;
103 #define _V16_
104 #endif
105
106 #ifndef _V32_
107 typedef volatile unsigned int  V32;
108 #define _V32_
109 #endif
110
111 #ifndef _S8_
112 typedef signed char  S8;         /* 8-bit  signed integer */
113 #define _S8_
114 #endif
115
116 #ifndef _S16_
117 typedef signed short S16;       /* 16-bit signed integer */
118 #define _S16_
119 #endif
120
121 #ifndef _S32_
122 typedef signed int   S32;        /* 32-bit signed integer */
123 #define _S32_
124 #endif
125
126 #ifndef _S64_
127 #ifdef __x86_64__
128 typedef signed long  S64;          /* unsigned 64-bit integer */
129 #else
130 typedef signed long long  S64;     /* unsigned 64-bit integer */
131 #endif
132 #define _S64_
133 #endif
134
135 #ifndef _PVOID_
136 #define _PVOID_
137 typedef void *PVOID;
138 #endif
139
140 #ifndef ARRAY_SIZE
141 #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
142 #endif
143
144 #define CONV_ENDIAN_32(v) ((v & 0xff) << 24 | (v >> 24) | ((v & 0xff00) << 8) | ((v & 0xff0000) >> 8));
145
146
147 #ifndef MAX
148 #define MAX(x, y) ((x) >= (y) ? (x) : (y))
149 #endif
150
151 #ifndef MIN
152 #define MIN(x, y) ((x) <= (y) ? (x) : (y))
153 #endif
154
155 #ifdef __cplusplus
156 }
157 #endif
158
159 typedef void (*VOIDCB)(void);
160
161 typedef void (*CALLBACK)(PVOID);
162
163 #define BCTRL_LEN_MASK      0x0000FFFF
164 #define BCTRL_BLAST_MASK    0x00010000
165
166 #define DMAFCTRL_IRQEN      0x00000001
167 #define DMAFCTRL_INBOFF     0x0000FFF0
168
169 #define ARRAY_COUNT(v)      (sizeof(v)/sizeof(v[0]))
170
171 #ifndef ROUND
172 #define ROUND(x, dx)  (((x) + ((dx) - 1) ) & ~((dx) - 1))
173 #endif
174
175 #define REG32CLR(addr, clr_mask) ( REG32(addr) = REG32(addr) & (~(clr_mask)) )
176 #define REG32SET(addr, set_mask) ( REG32(addr) = REG32(addr) | (set_mask) )
177 #define REG32UPD(addr, clr_mask, set_mask) ( REG32(addr) = (REG32(addr) & (~(clr_mask))) | (set_mask) )
178
179 // Standard function return types
180 #ifndef _RESULTCODE_
181 #define _RESULTCODE_
182 typedef unsigned int RESULTCODE;
183 #endif
184
185 typedef unsigned int RETURNVALUE;
186
187 #define SUCCESS                     0
188 #define FAILURE                     1
189 #define EXPIRED                     2       // Not an error - wait operation expired
190 #define RESTART                     3       // Not an error - indicate we need to restart process
191
192 //#define _DEBUG_
193
194 #endif /*__SYSTYPES_H__ */
195