ableos_userland/drivers/randomness_handler/src/main.rs

30 lines
732 B
Rust

#![no_std]
#![no_main]
use cryptography::random::Csprng;
use versioning::Version;
pub const VERSION: Version = Version::new(0, 1, 0);
#[no_mangle]
fn start() {
let mut inner_rng = Csprng::new();
inner_rng.mix_in_data(&[8, 9, 10, 23, 2, 3]);
// Request PCI IDS and mixin
let pci_id_data = [8, 12];
inner_rng.mix_in_data(&pci_id_data);
let rand_bytes = inner_rng.get_random_u128().unwrap();
inner_rng.mix_in_data(&rand_bytes.to_le_bytes());
// Loop driver forever
loop {
// Request Mouse XY
let mouse_x_y = [12, 12];
inner_rng.mix_in_data(&mouse_x_y);
// Request the last keypress
let key_press = [7];
inner_rng.mix_in_data(&key_press);
}
}