// SPDX-License-Identifier: BSD-2-Clause /* * Copyright (c) 2021 Rockchip Electronics Co. Ltd. */ #include #include #include #include "rktest_handle.h" TEE_Result handle_property(void) { TEE_Result res = TEE_SUCCESS; TEE_PropSetHandle pr_handle; uint8_t name[64] = {0}; uint8_t value[64] = {0}; uint32_t name_len = 0; uint32_t value_len = 0; int count = 16; res = TEE_AllocatePropertyEnumerator(&pr_handle); if (res != TEE_SUCCESS) { EMSG("AllocatePropertyEnumerator ERR: 0x%x.", res); return res; } TEE_StartPropertyEnumerator(pr_handle, TEE_PROPSET_TEE_IMPLEMENTATION); while (count) { name_len = sizeof(name); value_len = sizeof(value); res = TEE_GetPropertyName(pr_handle, name, &name_len); if (res != TEE_SUCCESS) { EMSG("GetPropertyName ERR: 0x%x.", res); goto out; } res = TEE_GetPropertyAsString(pr_handle, (char *)name, (char *)value, &value_len); if (res != TEE_SUCCESS) { EMSG("GetPropertyAsString ERR: 0x%x.", res); goto out; } IMSG("GetProperty: %s - %s\n", name, value); res = TEE_GetNextProperty(pr_handle); if (res == TEE_ERROR_ITEM_NOT_FOUND) { IMSG("The enumerator has reached the end of the property set"); IMSG("Or if it has not started."); res = TEE_SUCCESS; goto out; } else if (res != TEE_SUCCESS) { EMSG("GetNextProperty ERR: 0x%x.", res); goto out; } count -= 1; } out: TEE_FreePropertyEnumerator(pr_handle); return res; }