Sindbad~EG File Manager

Current Path : /usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/nanorand/src/entropy/
Upload File :
Current File : //usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/nanorand/src/entropy/windows_uwp.rs

use core::{ffi::c_void, ptr};

use super::backup_entropy;

const BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 = 0x00000002;

extern "system" {
	fn BCryptGenRandom(
		hAlgorithm: *mut c_void,
		pBuffer: *mut u8,
		cbBuffer: usize,
		dwFlags: u32,
	) -> u32;
}

/// Obtain a random 64-bit number using WinAPI's `BCryptGenRandom` function.
pub fn entropy(out: &mut [u8]) -> bool {
	unsafe {
		BCryptGenRandom(
			ptr::null_mut(),
			out.as_mut_ptr(),
			out.len(),
			BCRYPT_USE_SYSTEM_PREFERRED_RNG,
		) == 0
	}
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists