16#ifndef ES_NOISE_SOURCE_H
17#define ES_NOISE_SOURCE_H
19#include "hitls_build.h"
20#if defined(HITLS_CRYPTO_ENTROPY) && defined(HITLS_CRYPTO_ENTROPY_SYS)
24#include "es_health_test.h"
25#include "crypt_types.h"
47 void *(*init)(
void *para);
49 int32_t (*read)(
void *usrdata, uint32_t timeout, uint8_t *buf, uint32_t bufLen);
51 void (*deinit)(
void *usrdata);
61int32_t ES_NsListInit(
BslList *nsList,
bool enableTest);
64void ES_NsListDeinit(
BslList *nsList);
67void ES_NsListFree(
BslList *nsList);
82int32_t ES_NsAdd(
BslList *nsList,
const char *name,
bool autoTest, uint32_t minEntropy,
94int32_t ES_NsRemove(
BslList *nsList,
const char *name);
106int32_t ES_NsRead(ES_NoiseSource *ns, uint8_t *buf, uint32_t bufLen);
116uint32_t ES_NsListGetMinEntropy(
BslList *nsList);
119ES_NoiseSource *ES_CpuJitterGetCtx(
void);
122ES_NoiseSource *ES_TimeStampGetCtx(
void);