random_source
static const struct random_source random_ccp = {
static const struct random_source random_trng = {
static const struct random_source random_qcom_rnd = {
static const struct random_source random_armv8_rndr = {
static const struct random_source random_darn = {
static const struct random_source random_ivy = {
static const struct random_source random_nehemiah = {
const struct random_source *rrs_source;
random_source_register(const struct random_source *rsource)
random_source_deregister(const struct random_source *rsource)
void random_source_register(const struct random_source *);
void random_source_deregister(const struct random_source *);
static struct random_source random_rdseed = {
static const struct random_source random_tpm = {
static const struct random_source random_vtrnd = {
static const struct random_source random_vmgenid = {
random_source = strdup(optarg);
get_random_seed(random_source);
get_random_seed(const char *random_source)
if (random_source == NULL) {
rsfd = open(random_source, O_RDONLY | O_CLOEXEC);
err(EX_NOINPUT, "open: %s", random_source);
random_source);
errx(EX_SOFTWARE, "short read from %s", random_source);
char *random_source = NULL;