LIB: Move tfm_vprintf definition to private header
This function should not be accessed outside of the tfm_log and
tfm_log_unpriv libraries and therefore does not need to be exposed in
the public header. Add a new private header which is then included by
the logging source files.
Change-Id: Ic6ca5d4ad753b6e6abaedaf27d0b17b9ebe6f1b3
Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
diff --git a/lib/tfm_vprintf/inc/tfm_vprintf.h b/lib/tfm_vprintf/inc/tfm_vprintf.h
index fa60a03..193ec71 100644
--- a/lib/tfm_vprintf/inc/tfm_vprintf.h
+++ b/lib/tfm_vprintf/inc/tfm_vprintf.h
@@ -44,10 +44,4 @@
#define LOG_MARKER_VERBOSE "\x32" /* 50 */
#define LOG_MARKER_RAW "\x3c" /* 60 */
-/* Function called to output a string to the terminal */
-typedef void (*tfm_log_output_str)(void *priv, const char *str, uint32_t len);
-
-/* Function to generate formatted string and pass to output_func */
-void tfm_vprintf(tfm_log_output_str output_func, void *priv, const char *fmt, va_list args);
-
#endif /* __TF_M_VPRINTF_H__ */
diff --git a/lib/tfm_vprintf/inc/tfm_vprintf_priv.h b/lib/tfm_vprintf/inc/tfm_vprintf_priv.h
new file mode 100644
index 0000000..fa7d24d
--- /dev/null
+++ b/lib/tfm_vprintf/inc/tfm_vprintf_priv.h
@@ -0,0 +1,44 @@
+/*
+ * SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __TF_M_VPRINTF_PRIV_H__
+#define __TF_M_VPRINTF_PRIV_H__
+
+#include <stdint.h>
+#include <stdarg.h>
+
+/**
+ * \typedef tfm_log_output_str
+ * \brief Function pointer type for a custom log output handler.
+ *
+ * This type defines a callback function used by the logging subsystem
+ * to send output strings to a user-defined destination, such as UART
+ * or a memory buffer.
+ *
+ * \param[in] priv Pointer to user-defined context or state.
+ * \param[in] str Pointer to the character buffer containing the string to output.
+ * \param[in] len Length of the string (in bytes) to output.
+ */
+typedef void (*tfm_log_output_str)(void *priv, const char *str, uint32_t len);
+
+/**
+ * \brief Format a string and send it to a user-defined output handler.
+ *
+ * This function is similar to vprintf(), but instead of writing to a
+ * standard output stream, it sends the formatted output to a callback
+ * function provided by the user.
+ *
+ *
+ * \param[in] output_func Pointer to the output function that handles the formatted string.
+ * \param[in] priv Pointer to user-defined context, passed to the output function.
+ * \param[in] fmt Format string specifying how to format the output. This is expected
+ * to begin with a MARKER character.
+ * \param[in] args Variable argument list to match the format string.
+ */
+void tfm_vprintf(tfm_log_output_str output_func, void *priv, const char *fmt, va_list args);
+
+#endif /* __TF_M_VPRINTF_PRIV_H__ */
diff --git a/lib/tfm_vprintf/src/tfm_vprintf.c b/lib/tfm_vprintf/src/tfm_vprintf.c
index 7878fb8..5999dab 100644
--- a/lib/tfm_vprintf/src/tfm_vprintf.c
+++ b/lib/tfm_vprintf/src/tfm_vprintf.c
@@ -14,6 +14,7 @@
#include <stddef.h>
#include "tfm_vprintf.h"
+#include "tfm_vprintf_priv.h"
#define LOG_RAW_VALUE UINT8_C(60)