diff options
author | Michał Cichoń <michcic@gmail.com> | 2012-05-06 01:46:56 +0200 |
---|---|---|
committer | Michał Cichoń <michcic@gmail.com> | 2012-05-06 01:46:56 +0200 |
commit | 81db488ebe397ddba4e51e04c0719023ef18cf70 (patch) | |
tree | 3667c7de1e4e446e354e87d14a3ddebae93bc5b2 /polarssl/src/include/polarssl/havege.h | |
parent | 30b6a77f86a35dab16b3bf9b815e089657fc6890 (diff) | |
download | pianobar-windows-build-81db488ebe397ddba4e51e04c0719023ef18cf70.tar.gz pianobar-windows-build-81db488ebe397ddba4e51e04c0719023ef18cf70.tar.bz2 pianobar-windows-build-81db488ebe397ddba4e51e04c0719023ef18cf70.zip |
Replace axTLS with PolarSSL as it does not handle secure connections well enough.
Diffstat (limited to 'polarssl/src/include/polarssl/havege.h')
-rw-r--r-- | polarssl/src/include/polarssl/havege.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/polarssl/src/include/polarssl/havege.h b/polarssl/src/include/polarssl/havege.h new file mode 100644 index 0000000..53c4f38 --- /dev/null +++ b/polarssl/src/include/polarssl/havege.h @@ -0,0 +1,71 @@ +/** + * \file havege.h + * + * \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion + * + * Copyright (C) 2006-2010, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org> + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#ifndef POLARSSL_HAVEGE_H +#define POLARSSL_HAVEGE_H + +#include <string.h> + +#define COLLECT_SIZE 1024 + +/** + * \brief HAVEGE state structure + */ +typedef struct +{ + int PT1, PT2, offset[2]; + int pool[COLLECT_SIZE]; + int WALK[8192]; +} +havege_state; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief HAVEGE initialization + * + * \param hs HAVEGE state to be initialized + */ +void havege_init( havege_state *hs ); + +/** + * \brief HAVEGE rand function + * + * \param p_rng A HAVEGE state + * \param output Buffer to fill + * \param len Length of buffer + * + * \return 0 + */ +int havege_random( void *p_rng, unsigned char *output, size_t len ); + +#ifdef __cplusplus +} +#endif + +#endif /* havege.h */ |