mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-02-01 10:01:15 +00:00
815e9a21a3
Remove cryptography related files and a few utility header files that are shared between Mbed TLS and Mbed Crypto. Mbed TLS will use an Mbed Crypto sourced version of each of these header files in order to ease the maintenance burden of both libraries, and to make it easier to keep Mbed TLS and Mbed Crypto in sync. As part of removing cryptography related files, tell Doxygen to source information from the removed the headers, so that it will consider them for inclusion within Doxygen output. Later, as part of the Mbed TLS 3.0 (API breaking version), we'll restructure the organization of the 3 libraries a bit, to move some things out of Mbed Crypto that don't belong there. Candidates of not belonging in Mbed Crypto, but are in libmbedcrypto.so for legacy reasons: - asn1.h - asn1write.h - base64.h - memory_buffer_alloc.h - platform.h - platform_time.h - platform_util.h - threading.h - timing.h - version.h
111 lines
3.2 KiB
C
111 lines
3.2 KiB
C
/**
|
|
* \file entropy_poll.h
|
|
*
|
|
* \brief Platform-specific and custom entropy polling functions
|
|
*/
|
|
/*
|
|
* Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
|
|
* 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.
|
|
*
|
|
* This file is part of mbed TLS (https://tls.mbed.org)
|
|
*/
|
|
#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_HAVEGE 32 /**< Minimum for HAVEGE */
|
|
#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
|
|
|
|
/**
|
|
* \brief Entropy poll callback that provides 0 entropy.
|
|
*/
|
|
#if defined(MBEDTLS_TEST_NULL_ENTROPY)
|
|
int mbedtls_null_entropy_poll( void *data,
|
|
unsigned char *output, size_t len, size_t *olen );
|
|
#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_HAVEGE_C)
|
|
/**
|
|
* \brief HAVEGE based entropy poll callback
|
|
*
|
|
* Requires an HAVEGE state as its data pointer.
|
|
*/
|
|
int mbedtls_havege_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 */
|