1 /*
2  * Copyright (c) 2019, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef __TFM_LOG_RAW_H__
9 #define __TFM_LOG_RAW_H__
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 /**
16  * \brief Prints log messages
17  *
18  * \param[in]   fmt     Formatted string
19  * \param[in]   ...     Viriable length argument
20  *
21  * \return              Number of chars printed
22  *
23  * \note                This function has the similar input argument format as
24  *                      the 'printf' function. But it supports only some basic
25  *                      formats like 'sdicpuxX' and '%'. It will output
26  *                      "[Unsupported Tag]" when none of the above formats match
27  *
28  * \details             The following output formats are supported.
29  *                      %s - string
30  *                      %d - decimal signed integer (same for %i)
31  *                      %u - decimal unsigned integer
32  *                      %x - hex in lowercase
33  *                      %X - hex in uppercase
34  *                      %p - hex address of a pointer in lowercase
35  *                      %c - character
36  *                      %% - the '%' symbol
37  */
38 int tfm_log_printf(const char *fmt, ...);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 
44 #endif /* __TFM_LOG_RAW_H__ */
45