mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-04 04:32:24 -05:00 
			
		
		
		
	Declare a function to register a secure element driver
This commit is contained in:
		
							parent
							
								
									b6cadea6a5
								
							
						
					
					
						commit
						d910e928e8
					
				@ -991,6 +991,51 @@ typedef struct {
 | 
			
		||||
/* 0.0.0 patchlevel 5 */
 | 
			
		||||
#define PSA_DRV_SE_HAL_VERSION 0x00000005
 | 
			
		||||
 | 
			
		||||
/** Register an external cryptoprocessor driver.
 | 
			
		||||
 *
 | 
			
		||||
 * This function is only intended to be used by driver code, not by
 | 
			
		||||
 * application code. In implementations with separation between the
 | 
			
		||||
 * PSA cryptography module and applications, this function should
 | 
			
		||||
 * only be available to callers that run in the same memory space as
 | 
			
		||||
 * the cryptography module, and should not be exposed to applications
 | 
			
		||||
 * running in a different memory space.
 | 
			
		||||
 *
 | 
			
		||||
 * This function may be called before psa_crypto_init(). It is
 | 
			
		||||
 * implementation-defined whether this function may be called
 | 
			
		||||
 * after psa_crypto_init().
 | 
			
		||||
 *
 | 
			
		||||
 * \param lifetime      The lifetime value through which this driver will
 | 
			
		||||
 *                      be exposed to applications.
 | 
			
		||||
 *                      The values #PSA_KEY_LIFETIME_VOLATILE and
 | 
			
		||||
 *                      #PSA_KEY_LIFETIME_PERSISTENT are reserved and
 | 
			
		||||
 *                      may not be used for opaque drivers. Implementations
 | 
			
		||||
 *                      may reserve other values.
 | 
			
		||||
 * \param[in] methods   The method table of the driver. This structure must
 | 
			
		||||
 *                      remain valid for as long as the cryptography
 | 
			
		||||
 *                      module keeps running. It is typically a global
 | 
			
		||||
 *                      constant.
 | 
			
		||||
 *
 | 
			
		||||
 * \return PSA_SUCCESS
 | 
			
		||||
 *         The driver was successfully registered. Applications can now
 | 
			
		||||
 *         use \p lifetime to access keys through the methods passed to
 | 
			
		||||
 *         this function.
 | 
			
		||||
 * \return PSA_ERROR_BAD_STATE
 | 
			
		||||
 *         This function was called after the initialization of the
 | 
			
		||||
 *         cryptography module, and this implementation does not support
 | 
			
		||||
 *         driver registration at this stage.
 | 
			
		||||
 * \return PSA_ERROR_ALREADY_EXISTS
 | 
			
		||||
 *         There is already a registered driver for this value of \p lifetime.
 | 
			
		||||
 * \return PSA_ERROR_INVALID_ARGUMENT
 | 
			
		||||
 *         \p lifetime is a reserved value
 | 
			
		||||
 * \return PSA_ERROR_NOT_SUPPORTED
 | 
			
		||||
 *         `methods->interface_version` is not supported by this implementation.
 | 
			
		||||
 * \return PSA_ERROR_INSUFFICIENT_MEMORY
 | 
			
		||||
 * \return PSA_ERROR_NOT_PERMITTED
 | 
			
		||||
 */
 | 
			
		||||
psa_status_t psa_register_se_driver(
 | 
			
		||||
    psa_key_lifetime_t lifetime,
 | 
			
		||||
    const psa_drv_se_t *methods);
 | 
			
		||||
 | 
			
		||||
/**@}*/
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user