rl_datatypes.h
1 /****************************************************************************************
2  * FileName : rl_datatypes.h
3  *
4  * Description : This file defines the datatypes.
5  *
6  ****************************************************************************************
7  * (C) Copyright 2014, Texas Instruments Incorporated. - TI web address www.ti.com
8  *---------------------------------------------------------------------------------------
9  *
10  * Redistribution and use in source and binary forms, with or without modification,
11  * are permitted provided that the following conditions are met:
12  *
13  * Redistributions of source code must retain the above copyright notice,
14  * this list of conditions and the following disclaimer.
15  *
16  * Redistributions in binary form must reproduce the above copyright notice,
17  * this list of conditions and the following disclaimer in the documentation
18  * and/or other materials provided with the distribution.
19  *
20  * Neither the name of Texas Instruments Incorporated nor the names of its
21  * contributors may be used to endorse or promote products derived from this
22  * software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
26  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
28  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  *
36  ****************************************************************************************
37  * Revision History :
38  *---------------------------------------------------------------------------------------
39  * Version Date Author Defect No Description
40  *---------------------------------------------------------------------------------------
41  * 0.1 12May2015 Kaushal - Initial Version
42  *
43  ****************************************************************************************
44  */
45 
46 /****************************************************************************************
47  * FILE INCLUSION PROTECTION
48  ******************************************************************************
49  */
50 #ifndef RL_DATATYPES_H
51 #define RL_DATATYPES_H
52 
53 /******************************************************************************
54  * INCLUDE FILES
55  ******************************************************************************
56  */
57 #include <stddef.h>
58 #include <string.h>
59 
60 
61 #ifdef __cplusplus
62 extern "C" {
63 #endif
64 
65 /******************************************************************************
66  * TYPE-DEFINE STRUCT/ENUM/UNION DEFINITIONS
67  *******************************************************************************
68  */
72 typedef unsigned char rlUInt8_t;
73 typedef unsigned short rlUInt16_t;
74 typedef unsigned int rlUInt32_t;
75 typedef unsigned long long rlUInt64_t;
76 typedef signed long long rlInt64_t;
77 typedef char rlInt8_t;
78 typedef signed char rlSInt8_t;
79 typedef signed short rlInt16_t;
80 typedef signed int rlInt32_t;
81 typedef void rlVoid_t;
82 
83 
87 typedef void* rlComIfHdl_t;
88 
92 typedef void* rlOsiMsgQHdl_t;
93 
97 typedef void* rlOsiSemHdl_t;
98 
102 typedef void* rlOsiMutexHdl_t;
103 
107 typedef rlUInt32_t rlOsiTime_t;
108 
109 
110 /******************************************************************************
111  * MACRO DEFINITIONS
112  *******************************************************************************
113  */
114 
118 #define RL_NULL (0U)
119 #define RL_NULL_PTR (NULL)
120 #define RL_INVALID (-1)
121 #define RL_TRUE (rlUInt8_t)(1U)
122 #define RL_FALSE (rlUInt8_t)(0U)
123 #define RL_LOGICAL_TRUE (RL_TRUE != RL_FALSE)
124 #define RL_LOGICAL_FALSE (RL_TRUE == RL_FALSE)
125 
129 #define RL_ZERO (0U)
130 #define RL_ONE (1U)
131 #define RL_TWO (2U)
132 #define RL_THREE (3U)
133 #define RL_FOUR (4U)
134 #define RL_FIVE (5U)
135 #define RL_SIX (6U)
136 #define RL_SEVEN (7U)
137 #define RL_EIGHT (8U)
138 #define RL_NINE (9U)
139 #define RL_TEN (10U)
140 #define RL_ELEVEN (11U)
141 #define RL_TWELVE (12U)
142 #define RL_THIRTEEN (13U)
143 #define RL_FOURTEEN (14U)
144 #define RL_FIFTEEN (15U)
145 #define RL_SIXTEEN (16U)
146 #define RL_SEVENTEEN (17U)
147 #define RL_EIGHTEEN (18U)
148 #define RL_NINETEEN (19U)
149 #define RL_TWENTY (20U)
150 #define RL_TWENTY_ONE (21U)
151 #define RL_TWENTY_TWO (22U)
152 #define RL_TWENTY_THREE (23U)
153 #define RL_TWENTY_FOUR (24U)
154 #define RL_TWENTY_FIVE (25U)
155 #define RL_TWENTY_SIX (26U)
156 #define RL_TWENTY_SEVEN (27U)
157 #define RL_TWENTY_EIGHT (28U)
158 #define RL_TWENTY_NINE (29U)
159 #define RL_THIRTY (30U)
160 #define RL_THIRTY_ONE (31U)
161 #define RL_THIRTY_TWO (32U)
162 
166 #define RL_OSI_WAIT_FOREVER (0xFFFFU)
167 #define RL_OSI_WAIT_SECOND (0x3E8U)
168 #define RL_OSI_NO_WAIT (0U)
169 
173 #define RL_RET_OK_CHECK(Func) {\
174  if(RL_RET_CODE_OK != (Func))\
175  {\
176  return returnVal;\
177  }\
178  else\
179  {\
180  /* No Error */\
181  }\
182  }
183 
187 #define RL_RET_OSI_CHECK(Func) {\
188  if((rlInt32_t)RL_RET_CODE_OK != (rlInt32_t)(Func))\
189  {\
190  return (rlInt32_t)RL_RET_CODE_RADAR_OSIF_ERROR;\
191  }\
192  else\
193  {\
194  /* No Error */\
195  }\
196  }
197 
201 #define RL_RET_IF_CHECK(Func) {\
202  if(RL_RET_CODE_OK != (Func))\
203  {\
204  return RL_RET_CODE_RADAR_IF_ERROR;\
205  }\
206  else\
207  {\
208  /* No Error */\
209  }\
210  }
211 
215 #define RL_DRIVER_ASSERT(line ) {\
216  return RL_RET_CODE_FATAL_ERROR;\
217  }
218 
222 #define RL_ASSERT(expr) {\
223  if(!(expr))\
224  {\
225  RL_DRIVER_ASSERT(__LINE__);\
226  }\
227  else\
228  {\
229  ;\
230  }\
231  }
232 
235 #define RL_ERROR(expr, error) {\
236  if(!(expr))\
237  {\
238  return (error);\
239  }\
240  }
241 
244 #define RL_VERIFY_PROTOCOL(expr) RL_ERROR((expr), (RL_RET_CODE_PROTOCOL_ERROR))
245 
246 
247 #ifdef __cplusplus
248 }
249 #endif
250 
251 
252 #endif
253 
254 /*
255 * END OF RL_DATATYPES_H
256 */
257 

Copyright 2021, Texas Instruments Incorporated