Mbed OS Reference
Loading...
Searching...
No Matches
havege.h
Go to the documentation of this file.
1
/**
2
* \file havege.h
3
*
4
* \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion
5
*/
6
/*
7
* Copyright The Mbed TLS Contributors
8
* SPDX-License-Identifier: Apache-2.0
9
*
10
* Licensed under the Apache License, Version 2.0 (the "License"); you may
11
* not use this file except in compliance with the License.
12
* You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing, software
17
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
18
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
* See the License for the specific language governing permissions and
20
* limitations under the License.
21
*/
22
#ifndef MBEDTLS_HAVEGE_H
23
#define MBEDTLS_HAVEGE_H
24
25
#if !defined(MBEDTLS_CONFIG_FILE)
26
#include "
mbedtls/config.h
"
27
#else
28
#include MBEDTLS_CONFIG_FILE
29
#endif
30
31
#include <stddef.h>
32
#include <stdint.h>
33
34
#define MBEDTLS_HAVEGE_COLLECT_SIZE 1024
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
/**
41
* \addtogroup mbedtls
42
* \{
43
* \defgroup mbedtls_havege_module HAVEGE
44
* \{
45
*/
46
47
/**
48
* \brief HAVEGE state structure
49
*/
50
typedef
struct
mbedtls_havege_state
51
{
52
uint32_t PT1, PT2, offset[2];
53
uint32_t pool[MBEDTLS_HAVEGE_COLLECT_SIZE];
54
uint32_t WALK[8192];
55
}
56
mbedtls_havege_state
;
57
58
/**
59
* \brief HAVEGE initialization
60
*
61
* \param hs HAVEGE state to be initialized
62
*/
63
void
mbedtls_havege_init
(
mbedtls_havege_state
*hs );
64
65
/**
66
* \brief Clear HAVEGE state
67
*
68
* \param hs HAVEGE state to be cleared
69
*/
70
void
mbedtls_havege_free
(
mbedtls_havege_state
*hs );
71
72
/**
73
* \brief HAVEGE rand function
74
*
75
* \param p_rng A HAVEGE state
76
* \param output Buffer to fill
77
* \param len Length of buffer
78
*
79
* \return 0
80
*/
81
int
mbedtls_havege_random
(
void
*p_rng,
unsigned
char
*output,
size_t
len );
82
83
/// \}
84
/// \}
85
86
#ifdef __cplusplus
87
}
88
#endif
89
90
#endif
/* havege.h */
config.h
Configuration options (set of defines)
mbedtls_havege_free
void mbedtls_havege_free(mbedtls_havege_state *hs)
Clear HAVEGE state.
mbedtls_havege_init
void mbedtls_havege_init(mbedtls_havege_state *hs)
HAVEGE initialization.
mbedtls_havege_random
int mbedtls_havege_random(void *p_rng, unsigned char *output, size_t len)
HAVEGE rand function.
mbedtls_havege_state
HAVEGE state structure.
Definition
havege.h:51
connectivity
mbedtls
include
mbedtls
havege.h
Generated by
1.9.8