mbed TLS library

Dependents:   HTTPClient-SSL WS_SERVER

Committer:
ansond
Date:
Thu Jun 11 03:27:03 2015 +0000
Revision:
0:137634ff4186
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 0:137634ff4186 1 /**
ansond 0:137634ff4186 2 * \file entropy_poll.h
ansond 0:137634ff4186 3 *
ansond 0:137634ff4186 4 * \brief Platform-specific and custom entropy polling functions
ansond 0:137634ff4186 5 *
ansond 0:137634ff4186 6 * Copyright (C) 2006-2011, ARM Limited, All Rights Reserved
ansond 0:137634ff4186 7 *
ansond 0:137634ff4186 8 * This file is part of mbed TLS (https://tls.mbed.org)
ansond 0:137634ff4186 9 *
ansond 0:137634ff4186 10 * This program is free software; you can redistribute it and/or modify
ansond 0:137634ff4186 11 * it under the terms of the GNU General Public License as published by
ansond 0:137634ff4186 12 * the Free Software Foundation; either version 2 of the License, or
ansond 0:137634ff4186 13 * (at your option) any later version.
ansond 0:137634ff4186 14 *
ansond 0:137634ff4186 15 * This program is distributed in the hope that it will be useful,
ansond 0:137634ff4186 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ansond 0:137634ff4186 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ansond 0:137634ff4186 18 * GNU General Public License for more details.
ansond 0:137634ff4186 19 *
ansond 0:137634ff4186 20 * You should have received a copy of the GNU General Public License along
ansond 0:137634ff4186 21 * with this program; if not, write to the Free Software Foundation, Inc.,
ansond 0:137634ff4186 22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
ansond 0:137634ff4186 23 */
ansond 0:137634ff4186 24 #ifndef POLARSSL_ENTROPY_POLL_H
ansond 0:137634ff4186 25 #define POLARSSL_ENTROPY_POLL_H
ansond 0:137634ff4186 26
ansond 0:137634ff4186 27 #if !defined(POLARSSL_CONFIG_FILE)
ansond 0:137634ff4186 28 #include "config.h"
ansond 0:137634ff4186 29 #else
ansond 0:137634ff4186 30 #include POLARSSL_CONFIG_FILE
ansond 0:137634ff4186 31 #endif
ansond 0:137634ff4186 32
ansond 0:137634ff4186 33 #include <stddef.h>
ansond 0:137634ff4186 34
ansond 0:137634ff4186 35 #ifdef __cplusplus
ansond 0:137634ff4186 36 extern "C" {
ansond 0:137634ff4186 37 #endif
ansond 0:137634ff4186 38
ansond 0:137634ff4186 39 /*
ansond 0:137634ff4186 40 * Default thresholds for built-in sources
ansond 0:137634ff4186 41 */
ansond 0:137634ff4186 42 #define ENTROPY_MIN_PLATFORM 128 /**< Minimum for platform source */
ansond 0:137634ff4186 43 #define ENTROPY_MIN_HAVEGE 128 /**< Minimum for HAVEGE */
ansond 0:137634ff4186 44 #define ENTROPY_MIN_HARDCLOCK 32 /**< Minimum for hardclock() */
ansond 0:137634ff4186 45
ansond 0:137634ff4186 46 #if !defined(POLARSSL_NO_PLATFORM_ENTROPY)
ansond 0:137634ff4186 47 /**
ansond 0:137634ff4186 48 * \brief Platform-specific entropy poll callback
ansond 0:137634ff4186 49 */
ansond 0:137634ff4186 50 int platform_entropy_poll( void *data,
ansond 0:137634ff4186 51 unsigned char *output, size_t len, size_t *olen );
ansond 0:137634ff4186 52 #endif
ansond 0:137634ff4186 53
ansond 0:137634ff4186 54 #if defined(POLARSSL_HAVEGE_C)
ansond 0:137634ff4186 55 /**
ansond 0:137634ff4186 56 * \brief HAVEGE based entropy poll callback
ansond 0:137634ff4186 57 *
ansond 0:137634ff4186 58 * Requires an HAVEGE state as its data pointer.
ansond 0:137634ff4186 59 */
ansond 0:137634ff4186 60 int havege_poll( void *data,
ansond 0:137634ff4186 61 unsigned char *output, size_t len, size_t *olen );
ansond 0:137634ff4186 62 #endif
ansond 0:137634ff4186 63
ansond 0:137634ff4186 64 #if defined(POLARSSL_TIMING_C)
ansond 0:137634ff4186 65 /**
ansond 0:137634ff4186 66 * \brief hardclock-based entropy poll callback
ansond 0:137634ff4186 67 */
ansond 0:137634ff4186 68 int hardclock_poll( void *data,
ansond 0:137634ff4186 69 unsigned char *output, size_t len, size_t *olen );
ansond 0:137634ff4186 70 #endif
ansond 0:137634ff4186 71
ansond 0:137634ff4186 72 #ifdef __cplusplus
ansond 0:137634ff4186 73 }
ansond 0:137634ff4186 74 #endif
ansond 0:137634ff4186 75
ansond 0:137634ff4186 76 #endif /* entropy_poll.h */
ansond 0:137634ff4186 77