mirror of
				https://github.com/Mbed-TLS/mbedtls.git
				synced 2025-10-26 00:37:41 +03:00 
			
		
		
		
	Building the library without entropy sources negates any and all security provided by the library. This option was originally requested a relatively long time ago and it does not provide any tangible benefit for users any more. Signed-off-by: Mateusz Starzyk <mateusz.starzyk@mobica.com>
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * \file entropy_poll.h
 | |
|  *
 | |
|  * \brief Platform-specific and custom entropy polling functions
 | |
|  */
 | |
| /*
 | |
|  *  Copyright The Mbed TLS Contributors
 | |
|  *  SPDX-License-Identifier: Apache-2.0
 | |
|  *
 | |
|  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
 | |
|  *  not use this file except in compliance with the License.
 | |
|  *  You may obtain a copy of the License at
 | |
|  *
 | |
|  *  http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  *  Unless required by applicable law or agreed to in writing, software
 | |
|  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | |
|  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  *  See the License for the specific language governing permissions and
 | |
|  *  limitations under the License.
 | |
|  */
 | |
| #ifndef MBEDTLS_ENTROPY_POLL_H
 | |
| #define MBEDTLS_ENTROPY_POLL_H
 | |
| 
 | |
| #if !defined(MBEDTLS_CONFIG_FILE)
 | |
| #include "mbedtls/config.h"
 | |
| #else
 | |
| #include MBEDTLS_CONFIG_FILE
 | |
| #endif
 | |
| 
 | |
| #include <stddef.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Default thresholds for built-in sources, in bytes
 | |
|  */
 | |
| #define MBEDTLS_ENTROPY_MIN_PLATFORM     32     /**< Minimum for platform source    */
 | |
| #define MBEDTLS_ENTROPY_MIN_HARDCLOCK     4     /**< Minimum for mbedtls_timing_hardclock()        */
 | |
| #if !defined(MBEDTLS_ENTROPY_MIN_HARDWARE)
 | |
| #define MBEDTLS_ENTROPY_MIN_HARDWARE     32     /**< Minimum for the hardware source */
 | |
| #endif
 | |
| 
 | |
| #if !defined(MBEDTLS_NO_PLATFORM_ENTROPY)
 | |
| /**
 | |
|  * \brief           Platform-specific entropy poll callback
 | |
|  */
 | |
| int mbedtls_platform_entropy_poll( void *data,
 | |
|                            unsigned char *output, size_t len, size_t *olen );
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_TIMING_C)
 | |
| /**
 | |
|  * \brief           mbedtls_timing_hardclock-based entropy poll callback
 | |
|  */
 | |
| int mbedtls_hardclock_poll( void *data,
 | |
|                     unsigned char *output, size_t len, size_t *olen );
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
 | |
| /**
 | |
|  * \brief           Entropy poll callback for a hardware source
 | |
|  *
 | |
|  * \warning         This is not provided by mbed TLS!
 | |
|  *                  See \c MBEDTLS_ENTROPY_HARDWARE_ALT in config.h.
 | |
|  *
 | |
|  * \note            This must accept NULL as its first argument.
 | |
|  */
 | |
| int mbedtls_hardware_poll( void *data,
 | |
|                            unsigned char *output, size_t len, size_t *olen );
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_ENTROPY_NV_SEED)
 | |
| /**
 | |
|  * \brief           Entropy poll callback for a non-volatile seed file
 | |
|  *
 | |
|  * \note            This must accept NULL as its first argument.
 | |
|  */
 | |
| int mbedtls_nv_seed_poll( void *data,
 | |
|                           unsigned char *output, size_t len, size_t *olen );
 | |
| #endif
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* entropy_poll.h */
 |