openentropy_core/
platform.rs1use crate::source::EntropySource;
4use crate::sources::all_sources;
5
6pub fn detect_available_sources() -> Vec<Box<dyn EntropySource>> {
8 all_sources()
9 .into_iter()
10 .filter(|s| s.is_available())
11 .collect()
12}
13
14pub fn platform_info() -> PlatformInfo {
16 PlatformInfo {
17 system: std::env::consts::OS.to_string(),
18 machine: std::env::consts::ARCH.to_string(),
19 family: std::env::consts::FAMILY.to_string(),
20 }
21}
22
23#[derive(Debug, Clone)]
24pub struct PlatformInfo {
25 pub system: String,
26 pub machine: String,
27 pub family: String,
28}