xref: /optee_os/ta/pkcs11/src/token_capabilities.h (revision 8849c12619aee7069963595d8f85dae559daf2d8)
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