18849c126SEtienne Carriere /* SPDX-License-Identifier: BSD-2-Clause */ 28849c126SEtienne Carriere /* 38849c126SEtienne Carriere * Copyright (c) 2017-2020, Linaro Limited 48849c126SEtienne Carriere */ 58849c126SEtienne Carriere 68849c126SEtienne Carriere #ifndef TOKEN_CAPABILITIES_H 78849c126SEtienne Carriere #define TOKEN_CAPABILITIES_H 88849c126SEtienne Carriere 9c4108388SJens Wiklander #include <pkcs11_ta.h> 10c4108388SJens Wiklander #include <stdbool.h> 11c4108388SJens Wiklander #include <stdint.h> 12c4108388SJens Wiklander 138849c126SEtienne Carriere bool mechanism_flags_complies_pkcs11(uint32_t mechanism_type, uint32_t flags); 148849c126SEtienne Carriere 15512cbf1dSJens Wiklander bool mechanism_is_one_shot_only(uint32_t mechanism_type); 16512cbf1dSJens Wiklander 178849c126SEtienne Carriere bool mechanism_is_valid(enum pkcs11_mechanism_id id); 188849c126SEtienne Carriere 198849c126SEtienne Carriere #if CFG_TEE_TA_LOG_LEVEL > 0 208849c126SEtienne Carriere const char *mechanism_string_id(enum pkcs11_mechanism_id id); 218849c126SEtienne Carriere #endif 228849c126SEtienne Carriere 238849c126SEtienne Carriere uint32_t *tee_malloc_mechanism_list(size_t *out_count); 248849c126SEtienne Carriere 258849c126SEtienne Carriere uint32_t mechanism_supported_flags(enum pkcs11_mechanism_id id); 268849c126SEtienne Carriere 27*2d0cd829SRuchika Gupta void pkcs11_mechanism_supported_key_sizes(uint32_t proc_id, 28*2d0cd829SRuchika Gupta uint32_t *min_key_size, 29*2d0cd829SRuchika Gupta uint32_t *max_key_size); 30*2d0cd829SRuchika Gupta 31*2d0cd829SRuchika Gupta void mechanism_supported_key_sizes_bytes(uint32_t proc_id, 32*2d0cd829SRuchika Gupta uint32_t *min_key_size, 33512cbf1dSJens Wiklander uint32_t *max_key_size); 34512cbf1dSJens Wiklander mechanism_is_supported(enum pkcs11_mechanism_id id)358849c126SEtienne Carrierestatic inline bool mechanism_is_supported(enum pkcs11_mechanism_id id) 368849c126SEtienne Carriere { 378849c126SEtienne Carriere return mechanism_supported_flags(id) != 0; 388849c126SEtienne Carriere } 398849c126SEtienne Carriere 408849c126SEtienne Carriere #endif /*TOKEN_CAPABILITIES_H*/ 41