Mbed TLS v2.28.5
havege.h
Go to the documentation of this file.
1 
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 
43 typedef struct mbedtls_havege_state {
44  uint32_t PT1, PT2, offset[2];
46  uint32_t WALK[8192];
47 }
49 
56 
63 
73 int mbedtls_havege_random(void *p_rng, unsigned char *output, size_t len);
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 
79 #endif /* havege.h */
uint32_t offset[2]
Definition: havege.h:44
HAVEGE state structure.
Definition: havege.h:43
Configuration options (set of defines)
uint32_t PT1
Definition: havege.h:44
uint32_t PT2
Definition: havege.h:44
uint32_t WALK[8192]
Definition: havege.h:46
void mbedtls_havege_init(mbedtls_havege_state *hs)
HAVEGE initialization.
uint32_t pool[MBEDTLS_HAVEGE_COLLECT_SIZE]
Definition: havege.h:45
struct mbedtls_havege_state mbedtls_havege_state
HAVEGE state structure.
int mbedtls_havege_random(void *p_rng, unsigned char *output, size_t len)
HAVEGE rand function.
void mbedtls_havege_free(mbedtls_havege_state *hs)
Clear HAVEGE state.
#define MBEDTLS_HAVEGE_COLLECT_SIZE
Definition: havege.h:34