Attest: Introduce PSA error codes

This change addresses the compliance with PSA initial attestation
API 1.0.0 version. It replaces the existing psa_attest_err_t enum
values with the error codes that are detailed in the
interface/include/psa/error.h file.

Change-Id: I1795331e7081589371c82f0e56655db6a543edd3
Signed-off-by: Sverteczky, Marcell <marcell.sverteczky@arm.com>
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/interface/src/tfm_initial_attestation_ipc_api.c b/interface/src/tfm_initial_attestation_ipc_api.c
index ed9264f..c60f8bd 100644
--- a/interface/src/tfm_initial_attestation_ipc_api.c
+++ b/interface/src/tfm_initial_attestation_ipc_api.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -14,7 +14,7 @@
 
 #define IOVEC_LEN(x) (sizeof(x)/sizeof(x[0]))
 
-enum psa_attest_err_t
+psa_status_t
 psa_initial_attest_get_token(const uint8_t *challenge_obj,
                              uint32_t       challenge_size,
                              uint8_t       *token,
@@ -32,8 +32,8 @@
 
     handle = psa_connect(TFM_ATTEST_GET_TOKEN_SID,
                          TFM_ATTEST_GET_TOKEN_VERSION);
-    if (handle <= 0) {
-        return PSA_ATTEST_ERR_GENERAL;
+    if (!PSA_HANDLE_IS_VALID(handle)) {
+        return PSA_HANDLE_TO_ERROR(handle);
     }
 
     status = psa_call(handle, PSA_IPC_CALL,
@@ -41,18 +41,14 @@
                       out_vec, IOVEC_LEN(out_vec));
     psa_close(handle);
 
-    if (status < PSA_SUCCESS) {
-        return PSA_ATTEST_ERR_GENERAL;
-    }
-
     if (status == PSA_SUCCESS) {
         *token_size = out_vec[0].len;
     }
 
-    return (enum psa_attest_err_t)status;
+    return status;
 }
 
-enum psa_attest_err_t
+psa_status_t
 psa_initial_attest_get_token_size(uint32_t  challenge_size,
                                   uint32_t *token_size)
 {
@@ -67,8 +63,8 @@
 
     handle = psa_connect(TFM_ATTEST_GET_TOKEN_SIZE_SID,
                          TFM_ATTEST_GET_TOKEN_SIZE_VERSION);
-    if (handle <= 0) {
-        return PSA_ATTEST_ERR_GENERAL;
+    if (!PSA_HANDLE_IS_VALID(handle)) {
+        return PSA_HANDLE_TO_ERROR(handle);
     }
 
     status = psa_call(handle, PSA_IPC_CALL,
@@ -76,14 +72,10 @@
                       out_vec, IOVEC_LEN(out_vec));
     psa_close(handle);
 
-    if (status < PSA_SUCCESS) {
-        return PSA_ATTEST_ERR_GENERAL;
-    }
-
-    return (enum psa_attest_err_t)status;
+    return status;
 }
 
-enum psa_attest_err_t
+psa_status_t
 tfm_initial_attest_get_public_key(uint8_t         *public_key,
                                   size_t           public_key_buf_size,
                                   size_t          *public_key_len,
@@ -101,7 +93,7 @@
     handle = psa_connect(TFM_ATTEST_GET_PUBLIC_KEY_SID,
                          TFM_ATTEST_GET_PUBLIC_KEY_VERSION);
     if (!PSA_HANDLE_IS_VALID(handle)) {
-        return PSA_ATTEST_ERR_GENERAL;
+        return PSA_HANDLE_TO_ERROR(handle);
     }
 
     status = psa_call(handle, PSA_IPC_CALL,
@@ -109,5 +101,5 @@
                       out_vec, IOVEC_LEN(out_vec));
     psa_close(handle);
 
-    return (enum psa_attest_err_t)status;
+    return status;
 }