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)