1 /*
2  * Copyright 2010-2014, 2022-2024 NXP
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #if !defined(NXPLOG__H_INCLUDED)
18 #define NXPLOG__H_INCLUDED
19 #include <log/log.h>
20 #include <phNfcStatus.h>
21 
22 typedef struct nci_log_level {
23   uint8_t global_log_level;
24   uint8_t extns_log_level;
25   uint8_t hal_log_level;
26   uint8_t avc_log_level;
27   uint8_t dnld_log_level;
28   uint8_t tml_log_level;
29   uint8_t ncix_log_level;
30   uint8_t ncir_log_level;
31 } nci_log_level_t;
32 
33 /* global log level Ref */
34 extern nci_log_level_t gLog_level;
35 extern bool nfc_debug_enabled;
36 /* define log module included when compile */
37 #define ENABLE_EXTNS_TRACES TRUE
38 #define ENABLE_HAL_TRACES TRUE
39 #define ENABLE_TML_TRACES TRUE
40 #define ENABLE_FWDNLD_TRACES TRUE
41 #define ENABLE_NCIX_TRACES TRUE
42 #define ENABLE_NCIR_TRACES TRUE
43 
44 #define ENABLE_HCPX_TRACES FALSE
45 #define ENABLE_HCPR_TRACES FALSE
46 
47 /* ####################### Set the log module name in .conf file
48  * ########################## */
49 #define NAME_NXPLOG_EXTNS_LOGLEVEL "NXPLOG_EXTNS_LOGLEVEL"
50 #define NAME_NXPLOG_NCIHAL_LOGLEVEL "NXPLOG_NCIHAL_LOGLEVEL"
51 #define NAME_NXPLOG_AVCNCI_LOGLEVEL "NXPLOG_AVCNCI_LOGLEVEL"
52 #define NAME_NXPLOG_NCIX_LOGLEVEL "NXPLOG_NCIX_LOGLEVEL"
53 #define NAME_NXPLOG_NCIR_LOGLEVEL "NXPLOG_NCIR_LOGLEVEL"
54 #define NAME_NXPLOG_FWDNLD_LOGLEVEL "NXPLOG_FWDNLD_LOGLEVEL"
55 #define NAME_NXPLOG_TML_LOGLEVEL "NXPLOG_TML_LOGLEVEL"
56 
57 /* ####################### Set the log module name by Android property
58  * ########################## */
59 #define PROP_NAME_NXPLOG_GLOBAL_LOGLEVEL "nfc.nxp_log_level_global"
60 #define PROP_NAME_NXPLOG_EXTNS_LOGLEVEL "nfc.nxp_log_level_extns"
61 #define PROP_NAME_NXPLOG_NCIHAL_LOGLEVEL "nfc.nxp_log_level_hal"
62 #define PROP_NAME_NXPLOG_NCI_LOGLEVEL "nfc.nxp_log_level_nci"
63 #define PROP_NAME_NXPLOG_FWDNLD_LOGLEVEL "nfc.nxp_log_level_dnld"
64 #define PROP_NAME_NXPLOG_TML_LOGLEVEL "nfc.nxp_log_level_tml"
65 
66 /* ####################### Set the logging level for EVERY COMPONENT here
67  * ######################## :START: */
68 #define NXPLOG_LOG_SILENT_LOGLEVEL 0x00
69 #define NXPLOG_LOG_ERROR_LOGLEVEL 0x01
70 #define NXPLOG_LOG_WARN_LOGLEVEL 0x02
71 #define NXPLOG_LOG_INFO_LOGLEVEL 0x03
72 #define NXPLOG_LOG_DEBUG_LOGLEVEL 0x04
73 /* ####################### Set the default logging level for EVERY COMPONENT
74  * here ########################## :END: */
75 
76 /* The Default log level for all the modules. */
77 #define NXPLOG_DEFAULT_LOGLEVEL NXPLOG_LOG_ERROR_LOGLEVEL
78 
79 /* Enable/Disable Capturing SMB ntf to a file */
80 #define NAME_NXP_SMBLOG_ENABLED "NXP_SMBLOG_ENABLED"
81 /* ################################################################################################################
82  */
83 /* ############################################### Component Names
84  * ################################################ */
85 /* ################################################################################################################
86  */
87 
88 extern const char* NXPLOG_ITEM_EXTNS;  /* Android logging tag for NxpExtns  */
89 extern const char* NXPLOG_ITEM_NCIHAL; /* Android logging tag for NxpNciHal */
90 extern const char* NXPLOG_ITEM_NCIX;   /* Android logging tag for NxpNciX   */
91 extern const char* NXPLOG_ITEM_NCIR;   /* Android logging tag for NxpNciR   */
92 extern const char* NXPAVCLOG_ITEM_NCIX; /* Android logging tag for NxpAvcNciX */
93 extern const char* NXPAVCLOG_ITEM_NCIR; /* Android logging tag for NxpAvcNciR */
94 extern const char* NXPLOG_ITEM_FWDNLD; /* Android logging tag for NxpFwDnld */
95 extern const char* NXPLOG_ITEM_TML;    /* Android logging tag for NxpTml    */
96 
97 #ifdef NXP_HCI_REQ
98 extern const char* NXPLOG_ITEM_HCPX; /* Android logging tag for NxpHcpX   */
99 extern const char* NXPLOG_ITEM_HCPR; /* Android logging tag for NxpHcpR   */
100 #endif                               /*NXP_HCI_REQ*/
101 
102 /* ######################################## Defines used for Logging data
103  * ######################################### */
104 #ifdef NXP_VRBS_REQ
105 #define NXPLOG_FUNC_ENTRY(COMP) \
106   LOG_PRI(ANDROID_LOG_VERBOSE, (COMP), "+:%s", (__func__))
107 #define NXPLOG_FUNC_EXIT(COMP) \
108   LOG_PRI(ANDROID_LOG_VERBOSE, (COMP), "-:%s", (__func__))
109 #endif /*NXP_VRBS_REQ*/
110 
111 /* ################################################################################################################
112  */
113 /* ######################################## Logging APIs of actual modules
114  * ######################################## */
115 /* ################################################################################################################
116  */
117 /* Logging APIs used by NxpExtns module */
118 #if (ENABLE_EXTNS_TRACES == TRUE)
119 #define NXPLOG_EXTNS_D(...)                                        \
120   {                                                                \
121     if ((nfc_debug_enabled) ||                                     \
122         (gLog_level.extns_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL)) \
123       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_EXTNS, __VA_ARGS__);  \
124   }
125 #define NXPLOG_EXTNS_I(...)                                       \
126   {                                                               \
127     if ((nfc_debug_enabled) ||                                    \
128         (gLog_level.extns_log_level >= NXPLOG_LOG_INFO_LOGLEVEL)) \
129       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_EXTNS, __VA_ARGS__);  \
130   }
131 #define NXPLOG_EXTNS_W(...)                                       \
132   {                                                               \
133     if ((nfc_debug_enabled) ||                                    \
134         (gLog_level.extns_log_level >= NXPLOG_LOG_WARN_LOGLEVEL)) \
135       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_EXTNS, __VA_ARGS__);  \
136   }
137 #define NXPLOG_EXTNS_E(...)                                       \
138   {                                                               \
139     if (gLog_level.extns_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)  \
140       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_EXTNS, __VA_ARGS__); \
141   }
142 #else
143 #define NXPLOG_EXTNS_D(...)
144 #define NXPLOG_EXTNS_W(...)
145 #define NXPLOG_EXTNS_E(...)
146 #define NXPLOG_EXTNS_I(...)
147 #endif /* Logging APIs used by NxpExtns module */
148 
149 /* Logging APIs used by NxpNciHal module */
150 #if (ENABLE_HAL_TRACES == TRUE)
151 #define NXPLOG_NCIHAL_D(...)                                       \
152   {                                                                \
153     if ((nfc_debug_enabled) ||                                     \
154         (gLog_level.hal_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL))   \
155       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_NCIHAL, __VA_ARGS__); \
156   }
157 #define NXPLOG_NCIHAL_I(...)                                      \
158   {                                                               \
159     if ((nfc_debug_enabled) ||                                    \
160         (gLog_level.hal_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))   \
161       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_NCIHAL, __VA_ARGS__); \
162   }
163 #define NXPLOG_NCIHAL_W(...)                                      \
164   {                                                               \
165     if ((nfc_debug_enabled) ||                                    \
166         (gLog_level.hal_log_level >= NXPLOG_LOG_WARN_LOGLEVEL))   \
167       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_NCIHAL, __VA_ARGS__); \
168   }
169 #define NXPLOG_NCIHAL_E(...)                                       \
170   {                                                                \
171     if (gLog_level.hal_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)     \
172       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_NCIHAL, __VA_ARGS__); \
173   }
174 #else
175 #define NXPLOG_NCIHAL_D(...)
176 #define NXPLOG_NCIHAL_I(...)
177 #define NXPLOG_NCIHAL_W(...)
178 #define NXPLOG_NCIHAL_E(...)
179 #endif /* Logging APIs used by HAL module */
180 
181 /* Logging APIs used by NxpNciX module */
182 #if (ENABLE_NCIX_TRACES == TRUE)
183 #define NXPLOG_NCIX_D(...)                                        \
184   {                                                               \
185     if ((nfc_debug_enabled) ||                                    \
186         (gLog_level.ncix_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL)) \
187       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_NCIX, __VA_ARGS__);  \
188   }
189 #define NXPLOG_NCIX_I(...)                                       \
190   {                                                              \
191     if ((nfc_debug_enabled) ||                                   \
192         (gLog_level.ncix_log_level >= NXPLOG_LOG_INFO_LOGLEVEL)) \
193       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_NCIX, __VA_ARGS__);  \
194   }
195 #define NXPLOG_NCIX_W(...)                                       \
196   {                                                              \
197     if ((nfc_debug_enabled) ||                                   \
198         (gLog_level.ncix_log_level >= NXPLOG_LOG_WARN_LOGLEVEL)) \
199       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_NCIX, __VA_ARGS__);  \
200   }
201 #define NXPLOG_NCIX_E(...)                                       \
202   {                                                              \
203     if (gLog_level.ncix_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)  \
204       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_NCIX, __VA_ARGS__); \
205   }
206 #else
207 #define NXPLOG_NCIX_D(...)
208 #define NXPLOG_NCIX_I(...)
209 #define NXPLOG_NCIX_W(...)
210 #define NXPLOG_NCIX_E(...)
211 #endif /* Logging APIs used by NCIx module */
212 
213 /* Logging APIs used by NxpNciR module */
214 #if (ENABLE_NCIR_TRACES == TRUE)
215 #define NXPLOG_NCIR_D(...)                                        \
216   {                                                               \
217     if ((nfc_debug_enabled) ||                                    \
218         (gLog_level.ncir_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL)) \
219       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_NCIR, __VA_ARGS__);  \
220   }
221 #define NXPLOG_NCIR_I(...)                                       \
222   {                                                              \
223     if ((nfc_debug_enabled) ||                                   \
224         (gLog_level.ncir_log_level >= NXPLOG_LOG_INFO_LOGLEVEL)) \
225       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_NCIR, __VA_ARGS__);  \
226   }
227 #define NXPLOG_NCIR_W(...)                                       \
228   {                                                              \
229     if ((nfc_debug_enabled) ||                                   \
230         (gLog_level.ncir_log_level >= NXPLOG_LOG_WARN_LOGLEVEL)) \
231       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_NCIR, __VA_ARGS__);  \
232   }
233 #define NXPLOG_NCIR_E(...)                                       \
234   {                                                              \
235     if (gLog_level.ncir_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)  \
236       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_NCIR, __VA_ARGS__); \
237   }
238 #else
239 #define NXPLOG_NCIR_D(...)
240 #define NXPLOG_NCIR_I(...)
241 #define NXPLOG_NCIR_W(...)
242 #define NXPLOG_NCIR_E(...)
243 #endif /* Logging APIs used by NCIR module */
244 
245 /* Logging APIs used by NxpAvcNciX module */
246 #if (ENABLE_NCIX_TRACES == TRUE)
247 #define NXPAVCLOG_NCIX_I(...)                                      \
248   {                                                                \
249     if ((nfc_debug_enabled) ||                                     \
250         (gLog_level.avc_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))    \
251       LOG_PRI(ANDROID_LOG_INFO, NXPAVCLOG_ITEM_NCIX, __VA_ARGS__); \
252   }
253 #else
254 #define NXPAVCLOG_NCIX_I(...)
255 #endif /* Logging APIs used by AVC Command module */
256 
257 /* Logging APIs used by NxpAVCNciR module */
258 #if (ENABLE_NCIR_TRACES == TRUE)
259 #define NXPAVCLOG_NCIR_I(...)                                      \
260   {                                                                \
261     if ((nfc_debug_enabled) ||                                     \
262         (gLog_level.avc_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))    \
263       LOG_PRI(ANDROID_LOG_INFO, NXPAVCLOG_ITEM_NCIR, __VA_ARGS__); \
264   }
265 #else
266 #define NXPAVCLOG_NCIR_I(...)
267 #endif /* Logging APIs used by AVC R module */
268 
269 /* Logging APIs used by NxpFwDnld module */
270 #if (ENABLE_FWDNLD_TRACES == TRUE)
271 #define NXPLOG_FWDNLD_D(...)                                       \
272   {                                                                \
273     if ((nfc_debug_enabled) ||                                     \
274         (gLog_level.dnld_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL))  \
275       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
276   }
277 #define NXPLOG_FWDNLD_I(...)                                        \
278   {                                                                 \
279     if ((nfc_debug_enabled) ||                                      \
280         (gLog_level.dnld_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))    \
281       LOG_PRI(ANDROID_INFO_DEBUG, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
282   }
283 #define NXPLOG_FWDNLD_W(...)                                      \
284   {                                                               \
285     if ((nfc_debug_enabled) ||                                    \
286         (gLog_level.dnld_log_level >= NXPLOG_LOG_WARN_LOGLEVEL))  \
287       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
288   }
289 #define NXPLOG_FWDNLD_E(...)                                       \
290   {                                                                \
291     if (gLog_level.dnld_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)    \
292       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
293   }
294 #else
295 #define NXPLOG_FWDNLD_D(...)
296 #define NXPLOG_FWDNLD_I(...)
297 #define NXPLOG_FWDNLD_W(...)
298 #define NXPLOG_FWDNLD_E(...)
299 #endif /* Logging APIs used by NxpFwDnld module */
300 
301 /* Logging APIs used by NxpTml module */
302 #if (ENABLE_TML_TRACES == TRUE)
303 #define NXPLOG_TML_D(...)                                        \
304   {                                                              \
305     if ((nfc_debug_enabled) ||                                   \
306         (gLog_level.tml_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL)) \
307       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_TML, __VA_ARGS__);  \
308   }
309 #define NXPLOG_TML_I(...)                                       \
310   {                                                             \
311     if ((nfc_debug_enabled) ||                                  \
312         (gLog_level.tml_log_level >= NXPLOG_LOG_INFO_LOGLEVEL)) \
313       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_TML, __VA_ARGS__);  \
314   }
315 #define NXPLOG_TML_W(...)                                       \
316   {                                                             \
317     if ((nfc_debug_enabled) ||                                  \
318         (gLog_level.tml_log_level >= NXPLOG_LOG_WARN_LOGLEVEL)) \
319       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_TML, __VA_ARGS__);  \
320   }
321 #define NXPLOG_TML_E(...)                                       \
322   {                                                             \
323     if (gLog_level.tml_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)  \
324       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_TML, __VA_ARGS__); \
325   }
326 #else
327 #define NXPLOG_TML_D(...)
328 #define NXPLOG_TML_I(...)
329 #define NXPLOG_TML_W(...)
330 #define NXPLOG_TML_E(...)
331 #endif /* Logging APIs used by NxpTml module */
332 
333 #ifdef NXP_HCI_REQ
334 /* Logging APIs used by NxpHcpX module */
335 #if (ENABLE_HCPX_TRACES == TRUE)
336 #define NXPLOG_HCPX_D(...)                                         \
337   {                                                                \
338     if ((nfc_debug_enabled) ||                                     \
339         (gLog_level.dnld_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL))  \
340       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
341   }
342 #define NXPLOG_HCPX_I(...)                                        \
343   {                                                               \
344     if ((nfc_debug_enabled) ||                                    \
345         (gLog_level.dnld_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))  \
346       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
347   }
348 #define NXPLOG_HCPX_W(...)                                        \
349   {                                                               \
350     if ((nfc_debug_enabled) ||                                    \
351         (gLog_level.dnld_log_level >= NXPLOG_LOG_WARN_LOGLEVEL))  \
352       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
353   }
354 #define NXPLOG_HCPX_E(...)                                         \
355   {                                                                \
356     if (gLog_level.dnld_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)    \
357       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
358   }
359 #else
360 #define NXPLOG_HCPX_D(...)
361 #define NXPLOG_HCPX_I(...)
362 #define NXPLOG_HCPX_W(...)
363 #define NXPLOG_HCPX_E(...)
364 #endif /* Logging APIs used by NxpHcpX module */
365 
366 /* Logging APIs used by NxpHcpR module */
367 #if (ENABLE_HCPR_TRACES == TRUE)
368 #define NXPLOG_HCPR_D(...)                                         \
369   {                                                                \
370     if ((nfc_debug_enabled) ||                                     \
371         (gLog_level.dnld_log_level >= NXPLOG_LOG_DEBUG_LOGLEVEL))  \
372       LOG_PRI(ANDROID_LOG_DEBUG, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
373   }
374 #define NXPLOG_HCPR_I(...)                                        \
375   {                                                               \
376     if ((nfc_debug_enabled) ||                                    \
377         (gLog_level.dnld_log_level >= NXPLOG_LOG_INFO_LOGLEVEL))  \
378       LOG_PRI(ANDROID_LOG_INFO, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
379   }
380 #define NXPLOG_HCPR_W(...)                                        \
381   {                                                               \
382     if ((nfc_debug_enabled) ||                                    \
383         (gLog_level.dnld_log_level >= NXPLOG_LOG_WARN_LOGLEVEL))  \
384       LOG_PRI(ANDROID_LOG_WARN, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
385   }
386 #define NXPLOG_HCPR_E(...)                                         \
387   {                                                                \
388     if (gLog_level.dnld_log_level >= NXPLOG_LOG_ERROR_LOGLEVEL)    \
389       LOG_PRI(ANDROID_LOG_ERROR, NXPLOG_ITEM_FWDNLD, __VA_ARGS__); \
390   }
391 #else
392 #define NXPLOG_HCPR_D(...)
393 #define NXPLOG_HCPR_I(...)
394 #define NXPLOG_HCPR_W(...)
395 #define NXPLOG_HCPR_E(...)
396 #endif /* Logging APIs used by NxpHcpR module */
397 #endif /* NXP_HCI_REQ */
398 
399 #ifdef NXP_VRBS_REQ
400 #if (ENABLE_EXTNS_TRACES == TRUE)
401 #define NXPLOG_EXTNS_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_EXTNS)
402 #define NXPLOG_EXTNS_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_EXTNS)
403 #else
404 #define NXPLOG_EXTNS_ENTRY()
405 #define NXPLOG_EXTNS_EXIT()
406 #endif
407 
408 #if (ENABLE_HAL_TRACES == TRUE)
409 #define NXPLOG_NCIHAL_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_NCIHAL)
410 #define NXPLOG_NCIHAL_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_NCIHAL)
411 #else
412 #define NXPLOG_NCIHAL_ENTRY()
413 #define NXPLOG_NCIHAL_EXIT()
414 #endif
415 
416 #if (ENABLE_NCIX_TRACES == TRUE)
417 #define NXPLOG_NCIX_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_NCIX)
418 #define NXPLOG_NCIX_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_NCIX)
419 #else
420 #define NXPLOG_NCIX_ENTRY()
421 #define NXPLOG_NCIX_EXIT()
422 #endif
423 
424 #if (ENABLE_NCIR_TRACES == TRUE)
425 #define NXPLOG_NCIR_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_NCIR)
426 #define NXPLOG_NCIR_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_NCIR)
427 #else
428 #define NXPLOG_NCIR_ENTRY()
429 #define NXPLOG_NCIR_EXIT()
430 #endif
431 
432 #ifdef NXP_HCI_REQ
433 
434 #if (ENABLE_HCPX_TRACES == TRUE)
435 #define NXPLOG_HCPX_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_HCPX)
436 #define NXPLOG_HCPX_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_HCPX)
437 #else
438 #define NXPLOG_HCPX_ENTRY()
439 #define NXPLOG_HCPX_EXIT()
440 #endif
441 
442 #if (ENABLE_HCPR_TRACES == TRUE)
443 #define NXPLOG_HCPR_ENTRY() NXPLOG_FUNC_ENTRY(NXPLOG_ITEM_HCPR)
444 #define NXPLOG_HCPR_EXIT() NXPLOG_FUNC_EXIT(NXPLOG_ITEM_HCPR)
445 #else
446 #define NXPLOG_HCPR_ENTRY()
447 #define NXPLOG_HCPR_EXIT()
448 #endif
449 #endif /* NXP_HCI_REQ */
450 
451 #endif /* NXP_VRBS_REQ */
452 
453 void phNxpLog_InitializeLogLevel(void);
454 
455 #endif /* NXPLOG__H_INCLUDED */
456