SST: Use asset ID instead of handle in all APIs
This patch updates the SST interfaces to:
- use asset ID instead of asset handle as the object is always
close at the end of each request
- change the asset ID type from uint16_t to uint32_t to allow
longer asset IDs which can contain vendor specific ID codes
- remove tfm_sst_get_handle API
- updates all files which depend on these APIs and
their documentation
Change-Id: I4a844e548cc7cdfe2277b007717003a0263e45d1
Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
diff --git a/interface/include/tfm_sst_veneers.h b/interface/include/tfm_sst_veneers.h
index 108ea97..033f1cb 100644
--- a/interface/include/tfm_sst_veneers.h
+++ b/interface/include/tfm_sst_veneers.h
@@ -15,118 +15,101 @@
#include "tfm_sst_defs.h"
/**
- * \brief Gets handler for the given asset uuid. If an asset is deleted, the
- * linked asset handle reference is no longer valid and will give
- * TFM_SST_ERR_ASSET_REF_INVALID if used.
- *
- * \param[in] app_id Application ID
- * \param[in] asset_uuid Asset UUID
- * \param[out] hdl Handle to be returned
- *
- * \return Returns asset handle. If asset is not found, it returns
- * TFM_SST_ERR_ASSET_NOT_FOUND. If SST area is not prepared, it returns
- * TFM_SST_ERR_ASSET_NOT_PREPARED.
- */
-enum tfm_sst_err_t tfm_sst_veneer_get_handle(uint32_t app_id,
- uint16_t asset_uuid,
- uint32_t *hdl);
-/**
- * \brief Allocates space for the asset, referenced by asset handler,
+ * \brief Allocates space for the asset, referenced by asset UUID,
* without setting any data in the asset.
*
* \param[in] app_id Application ID
* \param[in] asset_uuid Asset UUID
*
- * \return Returns an asset handle. If SST area is not prepared, it returns
+ * \return Returns TFM_SST_ERR_SUCCESS if the asset has been created correctly.
+ * If SST area is not prepared, it returns
* TFM_SST_ERR_ASSET_NOT_PREPARED. If SST area is full, it returns
* TFM_SST_ERR_STORAGE_SYSTEM_FULL. If application id doesn't have the
* write rights, it returns TFM_SST_ERR_PERMS_NOT_ALLOWED.
*/
-enum tfm_sst_err_t tfm_sst_veneer_create(uint32_t app_id, uint16_t asset_uuid);
+enum tfm_sst_err_t tfm_sst_veneer_create(uint32_t app_id, uint32_t asset_uuid);
/**
- * \brief Gets asset's information referenced by asset handler.
+ * \brief Gets asset's information referenced by asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
- * \param[out] info Pointer to store the asset's information
- * \ref tfm_sst_asset_info_t
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
+ * \param[out] info Pointer to store the asset's information
+ * \ref tfm_sst_asset_info_t
*
* \return Returns error code as specified in \ref tfm_sst_err_t
*/
-enum tfm_sst_err_t tfm_sst_veneer_get_info(uint32_t app_id,
- uint32_t asset_handle,
- struct tfm_sst_asset_info_t *info);
+enum tfm_sst_err_t tfm_sst_veneer_get_info(uint32_t app_id, uint32_t asset_uuid,
+ struct tfm_sst_asset_info_t *info);
/**
- * \brief Gets asset's attributes referenced by asset handler.
+ * \brief Gets asset's attributes referenced by asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
- * \param[out] attrs Pointer to store the asset's attributes
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
+ * \param[out] attrs Pointer to store the asset's attributes
+ * \ref tfm_sst_asset_attrs_t
*
* \return Returns error code as specified in \ref tfm_sst_err_t
*/
-enum tfm_sst_err_t tfm_sst_veneer_get_attributes(
- uint32_t app_id,
- uint32_t asset_handle,
+enum tfm_sst_err_t tfm_sst_veneer_get_attributes(uint32_t app_id,
+ uint32_t asset_uuid,
struct tfm_sst_asset_attrs_t *attrs);
/**
- * \brief Sets asset's attributes referenced by asset handler.
+ * \brief Sets asset's attributes referenced by asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
- * \param[in] attrs Pointer to new the asset's attributes
- * \ref tfm_sst_asset_attrs_t
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
+ * \param[in] attrs Pointer to new the asset's attributes
+ * \ref tfm_sst_asset_attrs_t
*
* \return Returns error code as specified in \ref tfm_sst_err_t
*/
-enum tfm_sst_err_t tfm_sst_veneer_set_attributes(
- uint32_t app_id,
- uint32_t asset_handle,
+enum tfm_sst_err_t tfm_sst_veneer_set_attributes(uint32_t app_id,
+ uint32_t asset_uuid,
const struct tfm_sst_asset_attrs_t *attrs);
/**
- * \brief Reads asset's data from asset referenced by asset handler.
+ * \brief Reads asset's data from asset referenced by asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
- * \param[in/out] data Pointer to data vector \ref tfm_sst_buf_t to
- * store data, size and offset
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
+ * \param[in/out] data Pointer to data vector \ref tfm_sst_buf_t to
+ * store data, size and offset
*
* \return Returns the number of bytes written or a castable \ref tfm_sst_err_t
* value
*/
enum tfm_sst_err_t tfm_sst_veneer_read(uint32_t app_id,
- uint32_t asset_handle,
+ uint32_t asset_uuid,
struct tfm_sst_buf_t *data);
/**
- * \brief Writes data into an asset referenced by asset handler.
+ * \brief Writes data into an asset referenced by asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
- * \param[in] data Pointer to data vector \ref tfm_sst_buf_t which
- * contains the data to write
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
+ * \param[in] data Pointer to data vector \ref tfm_sst_buf_t which
+ * contains the data to write
*
* \return Returns the number of bytes written or a castable \ref tfm_sst_err_t
* value
*/
enum tfm_sst_err_t tfm_sst_veneer_write(uint32_t app_id,
- uint32_t asset_handle,
+ uint32_t asset_uuid,
struct tfm_sst_buf_t *data);
/**
- * \brief Deletes the asset referenced by the asset handler.
+ * \brief Deletes the asset referenced by the asset UUID.
*
- * \param[in] app_id Application ID
- * \param[in] asset_handle Asset handler
+ * \param[in] app_id Application ID
+ * \param[in] asset_uuid Asset UUID
*
* \return Returns TFM_SST_ERR_PERMS_NOT_ALLOWED if the asset can't be deleted
* to by this app ID. Returns TFM_SST_ERR_ASSET_REF_INVALID, if asset
* no longer exists. Otherwise, TFM_SST_ERR_SUCCESS.
*/
-enum tfm_sst_err_t tfm_sst_veneer_delete(uint32_t app_id,
- uint32_t asset_handle);
+enum tfm_sst_err_t tfm_sst_veneer_delete(uint32_t app_id, uint32_t asset_uuid);
+
#ifdef __cplusplus
}
#endif