Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: nRF51_Vdd TextLCD BME280
entropy.h File Reference
Entropy accumulator implementation. More...
Go to the source code of this file.
Data Structures | |
struct | mbedtls_entropy_source_state |
Entropy source state. More... | |
struct | mbedtls_entropy_context |
Entropy context structure. More... | |
Typedefs | |
typedef int(* | mbedtls_entropy_f_source_ptr )(void *data, unsigned char *output, size_t len, size_t *olen) |
Entropy poll callback pointer. | |
typedef struct mbedtls_entropy_source_state | mbedtls_entropy_source_state |
Entropy source state. | |
typedef struct mbedtls_entropy_context | mbedtls_entropy_context |
Entropy context structure. | |
Functions | |
void | mbedtls_entropy_init (mbedtls_entropy_context *ctx) |
Initialize the context. | |
void | mbedtls_entropy_free (mbedtls_entropy_context *ctx) |
Free the data in the context. | |
int | mbedtls_entropy_add_source (mbedtls_entropy_context *ctx, mbedtls_entropy_f_source_ptr f_source, void *p_source, size_t threshold, int strong) |
Adds an entropy source to poll (Thread-safe if MBEDTLS_THREADING_C is enabled) | |
int | mbedtls_entropy_gather (mbedtls_entropy_context *ctx) |
Trigger an extra gather poll for the accumulator (Thread-safe if MBEDTLS_THREADING_C is enabled) | |
int | mbedtls_entropy_func (void *data, unsigned char *output, size_t len) |
Retrieve entropy from the accumulator (Maximum length: MBEDTLS_ENTROPY_BLOCK_SIZE) (Thread-safe if MBEDTLS_THREADING_C is enabled) | |
int | mbedtls_entropy_update_manual (mbedtls_entropy_context *ctx, const unsigned char *data, size_t len) |
Add data to the accumulator manually (Thread-safe if MBEDTLS_THREADING_C is enabled) | |
int | mbedtls_entropy_update_nv_seed (mbedtls_entropy_context *ctx) |
Trigger an update of the seed file in NV by using the current entropy pool. | |
int | mbedtls_entropy_write_seed_file (mbedtls_entropy_context *ctx, const char *path) |
Write a seed file. | |
int | mbedtls_entropy_update_seed_file (mbedtls_entropy_context *ctx, const char *path) |
Read and update a seed file. | |
int | mbedtls_entropy_self_test (int verbose) |
Checkup routine. | |
int | mbedtls_entropy_source_self_test (int verbose) |
Checkup routine. |
Detailed Description
Entropy accumulator implementation.
Definition in file entropy.h.
Typedef Documentation
typedef struct mbedtls_entropy_context mbedtls_entropy_context |
Entropy context structure.
typedef int(* mbedtls_entropy_f_source_ptr)(void *data, unsigned char *output, size_t len, size_t *olen) |
Entropy poll callback pointer.
- Parameters:
-
data Callback-specific data pointer output Data to fill len Maximum size to provide olen The actual amount of bytes put into the buffer (Can be 0)
- Returns:
- 0 if no critical failures occurred, MBEDTLS_ERR_ENTROPY_SOURCE_FAILED otherwise
typedef struct mbedtls_entropy_source_state mbedtls_entropy_source_state |
Entropy source state.
Function Documentation
int mbedtls_entropy_add_source | ( | mbedtls_entropy_context * | ctx, |
mbedtls_entropy_f_source_ptr | f_source, | ||
void * | p_source, | ||
size_t | threshold, | ||
int | strong | ||
) |
Adds an entropy source to poll (Thread-safe if MBEDTLS_THREADING_C is enabled)
- Parameters:
-
ctx Entropy context f_source Entropy function p_source Function data threshold Minimum required from source before entropy is released ( with mbedtls_entropy_func() ) (in bytes) strong MBEDTLS_ENTROPY_SOURCE_STRONG or MBEDTLS_ENTROPY_SOURCE_WEAK. At least one strong source needs to be added. Weaker sources (such as the cycle counter) can be used as a complement.
- Returns:
- 0 if successful or MBEDTLS_ERR_ENTROPY_MAX_SOURCES
void mbedtls_entropy_free | ( | mbedtls_entropy_context * | ctx ) |
int mbedtls_entropy_func | ( | void * | data, |
unsigned char * | output, | ||
size_t | len | ||
) |
Retrieve entropy from the accumulator (Maximum length: MBEDTLS_ENTROPY_BLOCK_SIZE) (Thread-safe if MBEDTLS_THREADING_C is enabled)
- Parameters:
-
data Entropy context output Buffer to fill len Number of bytes desired, must be at most MBEDTLS_ENTROPY_BLOCK_SIZE
- Returns:
- 0 if successful, or MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
int mbedtls_entropy_gather | ( | mbedtls_entropy_context * | ctx ) |
void mbedtls_entropy_init | ( | mbedtls_entropy_context * | ctx ) |
int mbedtls_entropy_self_test | ( | int | verbose ) |
Checkup routine.
This module self-test also calls the entropy self-test, mbedtls_entropy_source_self_test();
- Returns:
- 0 if successful, or 1 if a test failed
int mbedtls_entropy_source_self_test | ( | int | verbose ) |
Checkup routine.
Verifies the integrity of the hardware entropy source provided by the function 'mbedtls_hardware_poll()'.
Note this is the only hardware entropy source that is known at link time, and other entropy sources configured dynamically at runtime by the function mbedtls_entropy_add_source() will not be tested.
- Returns:
- 0 if successful, or 1 if a test failed
int mbedtls_entropy_update_manual | ( | mbedtls_entropy_context * | ctx, |
const unsigned char * | data, | ||
size_t | len | ||
) |
int mbedtls_entropy_update_nv_seed | ( | mbedtls_entropy_context * | ctx ) |
int mbedtls_entropy_update_seed_file | ( | mbedtls_entropy_context * | ctx, |
const char * | path | ||
) |
Read and update a seed file.
Seed is added to this instance. No more than MBEDTLS_ENTROPY_MAX_SEED_SIZE bytes are read from the seed file. The rest is ignored.
- Parameters:
-
ctx Entropy context path Name of the file
- Returns:
- 0 if successful, MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR on file error, MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
int mbedtls_entropy_write_seed_file | ( | mbedtls_entropy_context * | ctx, |
const char * | path | ||
) |
Generated on Tue Jul 12 2022 15:16:05 by
