1*8849c126SEtienne Carriere /* SPDX-License-Identifier: BSD-2-Clause */ 2*8849c126SEtienne Carriere /* 3*8849c126SEtienne Carriere * Copyright (c) 2017-2020, Linaro Limited 4*8849c126SEtienne Carriere */ 5*8849c126SEtienne Carriere 6*8849c126SEtienne Carriere #ifndef TOKEN_CAPABILITIES_H 7*8849c126SEtienne Carriere #define TOKEN_CAPABILITIES_H 8*8849c126SEtienne Carriere 9*8849c126SEtienne Carriere bool mechanism_flags_complies_pkcs11(uint32_t mechanism_type, uint32_t flags); 10*8849c126SEtienne Carriere 11*8849c126SEtienne Carriere bool mechanism_is_valid(enum pkcs11_mechanism_id id); 12*8849c126SEtienne Carriere 13*8849c126SEtienne Carriere #if CFG_TEE_TA_LOG_LEVEL > 0 14*8849c126SEtienne Carriere const char *mechanism_string_id(enum pkcs11_mechanism_id id); 15*8849c126SEtienne Carriere #endif 16*8849c126SEtienne Carriere 17*8849c126SEtienne Carriere uint32_t *tee_malloc_mechanism_list(size_t *out_count); 18*8849c126SEtienne Carriere 19*8849c126SEtienne Carriere uint32_t mechanism_supported_flags(enum pkcs11_mechanism_id id); 20*8849c126SEtienne Carriere 21*8849c126SEtienne Carriere static inline bool mechanism_is_supported(enum pkcs11_mechanism_id id) 22*8849c126SEtienne Carriere { 23*8849c126SEtienne Carriere return mechanism_supported_flags(id) != 0; 24*8849c126SEtienne Carriere } 25*8849c126SEtienne Carriere 26*8849c126SEtienne Carriere #endif /*TOKEN_CAPABILITIES_H*/ 27