Make copy functions static-testable

This allows greater compiler optimisation.

Signed-off-by: David Horstmann <david.horstmann@arm.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 6787b03..e03e2ae 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -8442,6 +8442,19 @@
 #endif /* PSA_WANT_ALG_SOME_PAKE */
 
 
+/** Copy from an input buffer to a local copy.
+ *
+ * \param[in] input             Pointer to input buffer.
+ * \param[in] input_len         Length of the input buffer.
+ * \param[out] input_copy       Pointer to a local copy in which to store the input data.
+ * \param[out] input_copy_len   Length of the local copy buffer.
+ * \return                      #PSA_SUCCESS, if the buffer was successfully
+ *                              copied.
+ * \return                      #PSA_ERROR_CORRUPTION_DETECTED, if the local
+ *                              copy is too small to hold contents of the
+ *                              input buffer.
+ */
+MBEDTLS_STATIC_TESTABLE
 psa_status_t psa_crypto_copy_input(const uint8_t *input, size_t input_len,
                                    uint8_t *input_copy, size_t input_copy_len)
 {
@@ -8454,6 +8467,19 @@
     return PSA_SUCCESS;
 }
 
+/** Copy from a local output buffer into a user-supplied one.
+ *
+ * \param[in] output_copy       Pointer to a local buffer containing the output.
+ * \param[in] output_copy_len   Length of the local buffer.
+ * \param[out] output           Pointer to user-supplied output buffer.
+ * \param[out] output_len       Length of the user-supplied output buffer.
+ * \return                      #PSA_SUCCESS, if the buffer was successfully
+ *                              copied.
+ * \return                      #PSA_ERROR_CORRUPTION_DETECTED, if the
+ *                              user-supplied output buffer is too small to
+ *                              hold the contents of the local buffer.
+ */
+MBEDTLS_STATIC_TESTABLE
 psa_status_t psa_crypto_copy_output(const uint8_t *output_copy, size_t output_copy_len,
                                     uint8_t *output, size_t output_len)
 {
diff --git a/library/psa_crypto_core.h b/library/psa_crypto_core.h
index f3f7dfb..125f7ec 100644
--- a/library/psa_crypto_core.h
+++ b/library/psa_crypto_core.h
@@ -854,36 +854,6 @@
 psa_status_t mbedtls_psa_verify_hash_abort(
     mbedtls_psa_verify_hash_interruptible_operation_t *operation);
 
-/** Copy from an input buffer to a local copy.
- *
- * \param[in] input             Pointer to input buffer.
- * \param[in] input_len         Length of the input buffer.
- * \param[out] input_copy       Pointer to a local copy in which to store the input data.
- * \param[out] input_copy_len   Length of the local copy buffer.
- * \return                      #PSA_SUCCESS, if the buffer was successfully
- *                              copied.
- * \return                      #PSA_ERROR_CORRUPTION_DETECTED, if the local
- *                              copy is too small to hold contents of the
- *                              input buffer.
- */
-psa_status_t psa_crypto_copy_input(const uint8_t *input, size_t input_len,
-                                   uint8_t *input_copy, size_t input_copy_len);
-
-/** Copy from a local output buffer into a user-supplied one.
- *
- * \param[in] output_copy       Pointer to a local buffer containing the output.
- * \param[in] output_copy_len   Length of the local buffer.
- * \param[out] output           Pointer to user-supplied output buffer.
- * \param[out] output_len       Length of the user-supplied output buffer.
- * \return                      #PSA_SUCCESS, if the buffer was successfully
- *                              copied.
- * \return                      #PSA_ERROR_CORRUPTION_DETECTED, if the
- *                              user-supplied output buffer is too small to
- *                              hold the contents of the local buffer.
- */
-psa_status_t psa_crypto_copy_output(const uint8_t *output_copy, size_t output_copy_len,
-                                    uint8_t *output, size_t output_len);
-
 typedef struct psa_crypto_input_copy_s {
     uint8_t *buffer;
     size_t len;
diff --git a/library/psa_crypto_invasive.h b/library/psa_crypto_invasive.h
index 408c39b..29d4e3d 100644
--- a/library/psa_crypto_invasive.h
+++ b/library/psa_crypto_invasive.h
@@ -84,6 +84,13 @@
 psa_status_t psa_mac_key_can_do(
     psa_algorithm_t algorithm,
     psa_key_type_t key_type);
+
+psa_status_t psa_crypto_copy_input(const uint8_t *input, size_t input_len,
+                                   uint8_t *input_copy, size_t input_copy_len);
+
+psa_status_t psa_crypto_copy_output(const uint8_t *output_copy, size_t output_copy_len,
+                                    uint8_t *output, size_t output_len);
+
 #endif /* MBEDTLS_TEST_HOOKS && MBEDTLS_PSA_CRYPTO_C */
 
 #endif /* PSA_CRYPTO_INVASIVE_H */